LILO Overview

From wiki.emacinc.com
Revision as of 18:31, 16 December 2013 by Kyoungmeyer (talk | contribs)
Jump to: navigation, search
TODO: {{#todo:Complete(11.27.13-01:00->MD+);(11.27.13-17:50->MD+);(12.16.13-02:30->MD+);(12.16.13-10:50->MW-);(12.16.13-12:30->MD+); (12.16.13-12:57->MW+);(12.16.13-18:30->KY+)|Mike Dean|oe 4,oe 5,md,complete,mw,ky}}

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 good 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: