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
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.
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.