LILO Overview
The LInux LOader - LILO
LILO is a bootloader which was created for Linux. LILO was the default bootloader used for most desktop and server distributions for many years. It is still used on x86 embedded systems because it provides everything an embedded system needs to boot into embedded Linux.
Using LILO
When LILO is installed on a drive or partition, LILO will provide a menu at boot time. This menu typically shows a list of available operating system kernels and/or operating systems from which a user may select. On embedded systems, this menu is typically streamlined down to a very simple interface.
When LILO is configured with a timeout, as it usually is, a user may simply wait for the duration of the timeout for LILO to boot the operating system and kernel which have been configured as the default for the system. If the user doesn't wish for the default to boot, the user may press any key other than the Enter
key before the timeout duration has expired to access alternative options. If the user presses enter during the timeout delay, the timeout immediately expires and the boot process continues with the default configured OS and kernel. The default boot process starts as shown here:
LILO 22.8 boot:
Loading emac-oe................................................
BIOS data check successful
Pressing the TAB key will show a list of available OS configurations to boot. Usually, there will only be one available.
LILO 22.8 boot:
emac-oe
boot:
Typing the name of the OS configuration (the OS + kernel) will boot the system with that configuration.
LILO 22.8 boot:
emac-oe
boot: emac-oe
Loading emac-oe................................................
BIOS data check successful
EMAC OpenEmbedded Linux 4.0 (stable-2009)
Some code contained within Copyright 2008-2010 EMAC, Inc.
emac 2009-stable vortex86 ttyS0
vortex86 login:
Once the system has booted to the login prompt, the user may log into the system as usual. On EMAC products, the default password for the root account is emac_inc
. Please see System Log In for more information regarding the login process.
Additional Abilities of LILO
In addition to the normal boot selection described above, LILO is also able to pass arguments to the Linux kernel for booting. These arguments can be useful for enabling output of boot messages, configuring a video driver, and configuring a number of other things which can accept kernel command line configuration options.
For example, the console=ttyS0,115200
option can be passed to a kernel to enable boot message output to the serial console:
LILO 22.8 boot:
emac-oe
boot: emac-oe console=ttyS0,115200
Loading emac-oe................................................
BIOS data check successful
Linux version 2.6.30.10 (mdean@engineering0) (gcc version 4.2.4) #1 PREEMPT Fri Feb 1 18:38:41 CST 2013
KERNEL supported cpus:
Intel GenuineIntel
AMD AuthenticAMD
NSC Geode by NSC
Cyrix CyrixInstead
Centaur CentaurHauls
Transmeta GenuineTMx86
Transmeta TransmetaCPU
UMC UMC UMC UMC
CPU: vendor_id 'Vortex86 SoC' unknown, using generic init.
...
...
...
EMAC OpenEmbedded Linux 4.0 (stable-2009)
Some code contained within Copyright 2008-2010 EMAC, Inc.
emac 2009-stable vortex86 ttyS0
vortex86 login:
Other arguments to the kernel are passed in a similar manner. The available options to pass will depend on the specific configuration of the kernel which will be booted by LILO. A page which contains many more kernel arguments can be found here: https://www.kernel.org/doc/Documentation/kernel-parameters.txt
Next Steps
Follow these guides for more information: