When installing onto a system with the following hardware where the BIOS was not LBA capable, I was unable to boot properly immediately after the install completed successfully. hda: WDC AC32500H, ATA DISK drive hdd: CDA46801I, ATAPI CDROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide1 at 0x170-0x177,0x376 on irq 15 hda: WDC AC32500H, 2441MB w/128kB Cache, CHS=4960/16/63 hdd: ATAPI 4X CD-ROM drive, 240kB Cache Uniform CDROM driver Revision: 2.55 md driver 0.36.6 MAX_MD_DEV=4, MAX_REAL=8 scsi : 0 hosts. scsi : detected total. Partition check: hda: [PTBL] [620/128/63] hda1 hda2 hda3 hda4 VFS: Mounted root (ext2 filesystem) readonly. If I'm reading it right, the kernel is fooling the rest of the system (including LILO intentionally) because it can't read a translated geometry from the BIOS (/usr/src/linux/drivers/block/genhd.c, line 528?) to make it look like there are fewer than 1024 cylinders, but when LILO writes the boot loader out, it does so with the values that are wrong for the BIOS-only boot time. I had to apply LILO's linear option to get it to boot.
"It's not a bug, it's a feature." Using linear is the right way to solve this problem; that's why we make it an option as part of our installation process; a good many computers need it.