I use ks and lilo (since grub does not work for us): # bootloader bootloader --location mbr --useLilo However, anaconda always writes "linear" instead of "lba32" to lilo.conf. Moreover, lilo detects that "linear" is nonsense and fails to install. However, anaconda seems to completely ingore these errors and finishes "normally" leaving a system without bootmanager.
What is the output of lilo with linear in the config file? Unfortunately, lba32 can't always be reliably detected (hence why there's the forcelba option)
The lilo output is: Fatal: sector 68686864 too large for linear mode (try 'lba32' instead) and should be easy to dedect;-)
Right, but that doesn't mean that lba32 will work. Does it actually boot if you change it to lba32? Also, what is the output of the following run as root with the booty package installed? PYTHONPATH=/usr/lib/booty/ python -c "import edd;print edd.detect()"
Sure, but since you can't even install the boot loader with linear, what can you loose;-) Yes lba32 does work (this is brand new hardware with a 40G hard drive). The output is "0".
(also, note that you can force lba32 with --lba32 on your boot loader line... but on new hardware, it really should be detected properly)
It looks like the edd detection code is segfaulting on most of my machines (it works on the thinkpad, but that's it). The best way to get working LBA32 is going to be to either a) explicitly specify that you need it in kickstart or b) use grub which will detect if you can use lba32 at boot time and thus not be constrained by the kernel trying to keep people from hacking systems via the vm86 stuff.
I understand, that this is low priority for you, but if lilo dedects that linear is wrong and lba32 should be used, then where is the problem. Parsing the output for the above error if lilo fails and trying again with lba32 instead should be straight forward. As I already mentioned, grub does not work for us. We absolutely need "lilo -R" and as long as grub does not offer the equivalent, it is no option for us.