LILO is only used on
x86 Linux.
Sparc architectures have
SILO;
PPC architectures have
yaboot and
quik;
Alpha has
aboot. Other
architectures tend to have bootloaders that are specific to the
hardware in question, as opposed to a generalised one (every different
m68k platform has its own boot loader).
As a handy hint for people who have problems with LILO on mixed
SCSI/
IDE systems,
RTFM. If you can't be bothered doing that, the problem is this:
LILO needs to know the order in which the BIOS numbers the hard drives, as it needs to use BIOS calls in order to read the kernel off disk. The Linux kernel provides no trivial mechanism for doing this, and so LILO assumes that the order that the kernel detects the drives in is the same as the order in which the BIOS numbers the drives. This is not always true. Linux generally puts IDE drives before SCSI ones - some BIOSes do the opposite. The situation is therefore something like the following:
|BIOS | LILO |
/dev/hda |0x82 | 0x80 |
/dev/sda |0x80 | 0x81 |
/dev/sdb |0x81 | 0x82 |
If the kernel is on sda, LILO will attempt to read off drive 0x81 - unfortunately, when booting, this actually refers to the second SCSI drive rather than the first one.
Quack quack oops.
Fortunately, the authors provided a mechanism of avoiding this. In your /etc/lilo.conf, simply add something like the following:
disk=/dev/sda
bios=0x80
disk=/dev/sdb
bios=0x81
disk=/dev/hda
bios=0x82
and rerun LILO. Problem solved.