LILO (boot loader)
Encyclopedia
LILO is a generic boot loader for Linux
.
, and can boot an operating system
(e.g., Linux
kernel images) from floppy disk
s and hard disk
s. One of up to sixteen different images can be selected at boot time. Various parameters, such as the root device, can be set independently for each kernel. LILO can be placed either in the master boot record
(MBR) or the boot sector
of a partition. In the latter case something else must be placed in the MBR to load LILO.
At system start, only the BIOS
drivers
are available for LILO to access hard disks. For this reason, with very old BIOS, the accessible area is limited to cylinders 0 to 1023
of the first two hard disks. For later BIOS, LILO can use 32-bit "logical block addressing
" (LBA) to access practically the entire storage of all the hard disks that the BIOS allows access to.
LILO was the default boot loader for most Linux distribution
s in the years after the popularity of loadlin
. Today, most distributions use GRUB
as the default boot loader.
Definition information can be found in the LILO Manpage.
An example for /etc/lilo.conf:
Note: Here LILO offers after correct installation a menu with Linux and FreeBSD.
– see /boot/: LILO.
/sbin/lilo -M
(nothing):No part of LILO has been loaded. LILO either isn't installed or the partition on which its boot sector is located isn't active. The boot media is incorrect or faulty.
L:The first stage boot loader has been loaded and started, but it can't load the second stage boot loader. The two-digit error codes indicate the type of problem. This condition usually indicates a media failure or bad disk parameters in the BIOS.
LI:The first stage boot loader was able to load the second stage boot loader, but has failed to execute it. This can be caused by bad disk parameters in the BIOS.
LIL:The second stage boot loader has been started, but it can't load the descriptor table from the map file. This is typically caused by a media failure or by bad disk parameters in the BIOS.
LIL?:The second stage boot loader has been loaded at an incorrect address. This is typically caused by bad disk parameters in the BIOS.
LIL-:The descriptor table is corrupt. This can be caused by bad disk parameters in the BIOS.
LILO:All parts of LILO have been successfully loaded.
PC hardware the elilo boot loader was developed, originally by Hewlett Packard for IA-64 systems made, but later also for standard Intel IA-32
and x86-64
hardware with EFI support.
On any version of Linux running on Intel-based Apple Macintosh hardware, elilo is one of the available bootloaders.
It supports network booting using TFTP
/DHCP
.
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
.
Overview
LILO does not depend on a specific file systemFile system
A file system is a means to organize data expected to be retained after a program terminates by providing procedures to store, retrieve and update data, as well as manage the available space on the device which contain it. A file system organizes data in an efficient manner and is tuned to the...
, and can boot an operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
(e.g., Linux
Linux kernel
The Linux kernel is an operating system kernel used by the Linux family of Unix-like operating systems. It is one of the most prominent examples of free and open source software....
kernel images) from floppy disk
Floppy disk
A floppy disk is a disk storage medium composed of a disk of thin and flexible magnetic storage medium, sealed in a rectangular plastic carrier lined with fabric that removes dust particles...
s and hard disk
Hard disk
A hard disk drive is a non-volatile, random access digital magnetic data storage device. It features rotating rigid platters on a motor-driven spindle within a protective enclosure. Data is magnetically read from and written to the platter by read/write heads that float on a film of air above the...
s. One of up to sixteen different images can be selected at boot time. Various parameters, such as the root device, can be set independently for each kernel. LILO can be placed either in the master boot record
Master boot record
A master boot record is a type of boot sector popularized by the IBM Personal Computer. It consists of a sequence of 512 bytes located at the first sector of a data storage device such as a hard disk...
(MBR) or the boot sector
Boot sector
A boot sector or boot block is a region of a hard disk, floppy disk, optical disc, or other data storage device that contains machine code to be loaded into random-access memory by a computer system's built-in firmware...
of a partition. In the latter case something else must be placed in the MBR to load LILO.
At system start, only the BIOS
BIOS
In IBM PC compatible computers, the basic input/output system , also known as the System BIOS or ROM BIOS , is a de facto standard defining a firmware interface....
drivers
Device driver
In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....
are available for LILO to access hard disks. For this reason, with very old BIOS, the accessible area is limited to cylinders 0 to 1023
Cylinder 1024
Cylinder 1024 is the first cylinder of a hard disk that was inaccessible in the original IBM PC compatible hardware specification, interrupt 13h, which uses cylinder-head-sector addressing...
of the first two hard disks. For later BIOS, LILO can use 32-bit "logical block addressing
Logical block addressing
Logical block addressing is a common scheme used for specifying the location of blocks of data stored on computer storage devices, generally secondary storage systems such as hard disks....
" (LBA) to access practically the entire storage of all the hard disks that the BIOS allows access to.
LILO was the default boot loader for most Linux distribution
Linux distribution
A Linux distribution is a member of the family of Unix-like operating systems built on top of the Linux kernel. Such distributions are operating systems including a large collection of software applications such as word processors, spreadsheets, media players, and database applications...
s in the years after the popularity of loadlin
Loadlin
loadlin is a Linux boot loader that runs under DOS or Microsoft Windows . It allows the Linux system to load and replace the running DOS/Windows without altering existing DOS/Windows system files....
. Today, most distributions use GRUB
GNU GRUB
GNU GRUB is a boot loader package from the GNU Project. GRUB is the reference implementation of the Multiboot Specification, which provides a user the choice to boot one of multiple operating systems installed on a computer or select a specific kernel configuration available on a particular...
as the default boot loader.
lilo.conf
The lilo.conf file is typically located at /etc/lilo.conf. Within lilo.conf there are typically two section types. The first section, which defines the global options, contains parameters which specify boot location attributes. The second section(s) contain parameters associated with the operating system images to be loaded. The section type can be repeated for up to 16 different boot selections.Definition information can be found in the LILO Manpage.
An example for /etc/lilo.conf:
Note: Here LILO offers after correct installation a menu with Linux and FreeBSD.
/boot/
LILO stores a number of files in the /boot//boot/
In Linux, and other Unix-like operating systems, the /boot/ file directory holds files used in booting Linux. The usage is standardized in the Filesystem Hierarchy Standard.- Contents :...
– see /boot/: LILO.
Master boot record
LILO can write a Master Boot Record on a device:/sbin/lilo -M
Output
When LILO loads itself it displays the word “LILO”. Each letter is printed before or after some specific action. If LILO fails at some point, the letters printed so far can be used to identify the problem.(nothing):No part of LILO has been loaded. LILO either isn't installed or the partition on which its boot sector is located isn't active. The boot media is incorrect or faulty.
L:The first stage boot loader has been loaded and started, but it can't load the second stage boot loader. The two-digit error codes indicate the type of problem. This condition usually indicates a media failure or bad disk parameters in the BIOS.
LI:The first stage boot loader was able to load the second stage boot loader, but has failed to execute it. This can be caused by bad disk parameters in the BIOS.
LIL:The second stage boot loader has been started, but it can't load the descriptor table from the map file. This is typically caused by a media failure or by bad disk parameters in the BIOS.
LIL?:The second stage boot loader has been loaded at an incorrect address. This is typically caused by bad disk parameters in the BIOS.
LIL-:The descriptor table is corrupt. This can be caused by bad disk parameters in the BIOS.
LILO:All parts of LILO have been successfully loaded.
Error codes
eg: L 01 01 01, L 07 07 07 etc..Error code | Name | Description |
0x00 | Internal Error | This code is generated by the sector read routine of the LILO boot loader whenever an internal inconsistency is detected. This might be caused by corrupt files. Try re-building the map file. Another possible cause for this error are attempts to access cylinders beyond 1024 while using the LINEAR option. |
0x01 | Illegal Command | This shouldn't happen, but if it does, it may indicate an attempt to access a disk which is not supported by the BIOS. Definitely check to see if the disk is seen by the BIOS first (and that the BIOS detail is complete). |
0x02 | Address mark not found | This usually indicates a media problem. Try again several times. |
0x03 | Write-protected disk | This should only occur on write operations. |
0x04 | Sector not found | This typically indicates a geometry mismatch. If you're booting a raw-written disk image, verify whether it was created for disks with the same geometry as the one you're using. If you're booting from a SCSI disk or a large IDE disk, you should check, whether LILO has obtained correct geometry data from the kernel or whether the geometry definition corresponds to the real disk geometry. Removing COMPACT may help too. So may adding LBA32 or LINEAR. |
0x06 | Change line active | This should be a transient error. Try booting a second time. |
0x07 | Invalid initialization | The BIOS failed to properly initialize the disk controller. You should control the BIOS setup parameters. A warm boot might help too. (Boot a rescue disc and rerun LILO.) |
0x08 | DMA overrun | This shouldn't happen. Try booting again. |
0x09 | DMA attempt across 64k boundary | This shouldn't happen, but may indicate a disk geometry mis-match. Try omitting the COMPACT option. You may need to specify the disk geometry yourself. |
0x0C | Invalid media | This shouldn't happen and might be caused by a media error. Try booting again. |
0x10 | CRC error | A media error has been detected. Try booting several times, running the map installer a second time (to put the map file at some other physical location or to write "good data" over the bad spot), mapping out the bad sectors/tracks and, if all else fails, replacing the media. |
0x11 | ECC correction successful | A read error occurred, but was corrected. LILO does not recognize this condition and aborts the load process anyway. A second load attempt should succeed. |
0x20 | Controller error | This shouldn't happen, then again, none of these errors should happen eh? |
0x40 | Seek failure | This might be a media problem. Try booting again. |
0x80 | Disk timeout | The disk or the drive isn't ready. Either the media is bad or the disk isn't spinning. If you're booting from a floppy, you might not have closed the drive door. Otherwise, trying to boot again might help. |
0x99 | Invalid Second Stage | Mismatch between drive and BIOS geometry, or a bad map file. Some evidence that LINEAR needs to be set on the disk (see LiloNotes) |
0x9A | Can't Find Second Stage | Check to see if you have the correct device for boot, eg. boot=/dev/hda1 when it should be in the MBR i.e. boot=/dev/hda. |
0xBB | BIOS error | This shouldn't happen. Try booting again. If the problem persists, removing the COMPACT option or adding/removing LINEAR or LBA32 might help. |
elilo
For EFI-basedExtensible Firmware Interface
The Unified Extensible Firmware Interface is a specification that defines a software interface between an operating system and platform firmware...
PC hardware the elilo boot loader was developed, originally by Hewlett Packard for IA-64 systems made, but later also for standard Intel IA-32
IA-32
IA-32 , also known as x86-32, i386 or x86, is the CISC instruction-set architecture of Intel's most commercially successful microprocessors, and was first implemented in the Intel 80386 as a 32-bit extension of x86 architecture...
and x86-64
X86-64
x86-64 is an extension of the x86 instruction set. It supports vastly larger virtual and physical address spaces than are possible on x86, thereby allowing programmers to conveniently work with much larger data sets. x86-64 also provides 64-bit general purpose registers and numerous other...
hardware with EFI support.
On any version of Linux running on Intel-based Apple Macintosh hardware, elilo is one of the available bootloaders.
It supports network booting using TFTP
Trivial File Transfer Protocol
Trivial File Transfer Protocol is a file transfer protocol known for its simplicity. It is generally used forautomated transfer of configuration or boot files between machines in a local environment....
/DHCP
Dynamic Host Configuration Protocol
The Dynamic Host Configuration Protocol is a network configuration protocol for hosts on Internet Protocol networks. Computers that are connected to IP networks must be configured before they can communicate with other hosts. The most essential information needed is an IP address, and a default...
.
See also
- Comparison of boot loadersComparison of boot loadersThe following tables compare general and technical information for a number of available boot loaders.-Features:- External links :* * Let you boot legacy PCs from CD-ROM and USB without BIOS support...
- LinuxLinuxLinux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
- Boot loader
- GNU GRUBGNU GRUBGNU GRUB is a boot loader package from the GNU Project. GRUB is the reference implementation of the Multiboot Specification, which provides a user the choice to boot one of multiple operating systems installed on a computer or select a specific kernel configuration available on a particular...
- NTLDRNTLDRNTLDR is the boot loader for all releases of Windows NT operating system up to and including Windows XP and Windows Server 2003. NTLDR is typically run from the primary hard disk drive, but it can also run from portable storage devices such as a CD-ROM, USB flash drive, or floppy disk...
- SILOSILO (boot loader)The SPARC Improved bootLOader is the bootloader used by the SPARC port of the Linux operating system; it can also be used for Solaris as a replacement for the standard Solaris boot loader....
- PALOPalo (bootloader)The PA-RISC bootLOader is the bootloader used by the HPPA port of the Linux operating system....
External links
- Official homepage
- Project homepage on Alioth