Sunday, July 18, 2010

LILO

You’re probably familiar with LILO as a boot loader for desktops and x86 systems; in the early days of Linux, this was the only boot loader. LILO has been surpassed in popularity by GRUB, which has more features, but the minimalistic nature of LILO is what makes it ideal for embedded systems. Recall from the first part of the chapter that LILO is a second-stage boot loader for an x86 system. It’s loaded from the Master Boot Record (MBR) of the first bootable device the BIOS locates. LILO gets its marching orders from the lilo.conf file. The contents of this file are written to the device’s MBR by LILO as part of the configuration process. In this file, you can specify several different boot-up configurations, setting one as the default. You can also set parameters for all configurations; LILO calls these global parameters. The structure of lilo.conf is such that the global options precede
the image section, where you tell LILO what kernel to load. A typical lilo.conf file for an embedded system looks like the following:

boot=/dev/hda
root=/dev/hda1
read-only
default=theapp
# kernel image to boot
image=/boot/zImage
label=theapp

This tells the software to load the kernel located in the /boot directory for the root device (in this case, dev/hda1). default= isn’t necessary, because the file contains just one configuration; but being explicit is a good habit, because if this file is changed, LILO will prompt you for an image label - and that could be problematic if the device doesn’t have traditional input like a mouse or keyboard.

Source of Information : Pro Linux Embedded Systems

No comments: