Penguin
Note: You are viewing an old revision of this page. View the current version.

If lilo(8) encounters an error when it is reading itself into memory it will output a hexidecimal number onto the screen.

eg: L 01 01 01, L 07 07 07 etc..

|Code|Reason |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. |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 inicate 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. |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.

LILO Messages1?

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.

Note that some hex digits may be inserted after the first “L” if a transcient disk problem occurs. Unless LILO stops at that point, generating an endless stream of error codes, such hex digits do not indicate a severe 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. You have probably not booted from the correct device or the media you've booted from is 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. (See also the LILO Disk Error Codes section, below.) This condition usually indicates a media failure or bad disk parameters in the IPCop PC's 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 IPCop PC's 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 IPCop PC's BIOS. | LIL? | The second stage boot loader has been loaded at an incorrect address. This is typically caused by bad disk paramters in the IPCop PC's BIOS. | LIL- | The desriptor table is corrupt. This can be caused by bad disk parameters in the IPCop PC's BIOS. | LILO | All parts of LILO have been sucessfully loaded.

1?-excerpted from Werner Almesberger's LILO Users Guide.

Helpful note for those stuck with only "L" appearing on the LILO screen:

This can be caused by a buggy BIOS which does not properly match up BIOS disks with OS disks. This can be fixed by using the disk parameter in /etc/lilo.conf, which when used with the bios keyword allows you to map BIOS disks to Linux disks. For example, I was just able to recover a server where an IDE CD-ROM, /dev/hda, was the primary master and an IDE hard disk, /dev/hdb, was the primary slave, with this entry in /etc/lilo.conf:

disk=/dev/hdb bios=0x80

This may or may not require further tweaking for your setup. All I know is that if I'd seen this option on the web instead of extracting it from a Mandrake /etc/lilo.conf, I'd have saved a day's work. :-)