[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RE: Weird lilo problem



>I think i didn't explain my problem very clearly, i am horrifically 
>sorry about it, i should have been more clear considering the weirdness 
>of the problem. Now ehat makes the difference is what kernel is running 
>when i run lilo, not what kernel i want to boot into... i never get to 
>the stage where i could choose. My lilo.conf and all the symlinks in / 
>are in order (otherwise lilo would have complained when run and things 
>would never be working).

>Now when i am running a certain kernel, everathing is in order, i run 
>lilo under that kernel and proper changes take effect. But if i run lilo 
>when running any other kernel, lilo in the boot record is messed up and 
>it never even gets as far as the boot menu.

>To ilustrate even more clearly... i have three kernels installed 
>currently, 2.4.18-bf24 (from the woody install cd), 2.4.18-686 (from 
>apt-get with apt sources pointing to a debian mirror) and 2.4.19-686 
>(one i have compiled myself). If i am running the 2.4.28-bf24 kernel and 
>run lilo, then everything is ok. But if i am running any of the other 
>two kernels (or any other kernel for that matter, i have removed several 
>kernels from my system since trying to eliminate the problem), then lilo 
>in my mbr is messed up and it never gets to the boot menu. I have to 
>boot from cd, rescue the 2.4.28-bf24 kernel, reerun lilo (whitout any 
>changes) and lilo is again installed properly.

To me sounds like you're having a strange problem where your boot code is
straddling the old 1024 cylinder limit and your bios can't handle LBA32
mode.   When you re-install maybe you put the file within the limit, hence
it boots.

Run /sbin/lilo -v -l to try linear mode, if you get an error like 

Warning : linear may generate cylinder # above 1023 at boot
Fatal : sector address 40122944 to large for linear ( try LBA 32 instead )

you'll know you've got problems.

To replicate part of my post to a user group here in sydney

It sounds like your BIOS is a bit old and can't handle LBA32 mode, and the
partition you are trying to boot from is too far into your disk.  You can
google around for information on trying to boot above the 1023 limit; the
long and the short of it is that IDE disks were originally designed that
each sector is addressed by a Cylinder,Head,Track (C,H,T) tuple, and the old
bios's have only 24 bits assigned for this.  You end up with 10 bits for
your cylinder address (cylinder 0 is special hence 1023) and this limit.
LBA32 mode is an extension that allows you to get around this, but it's no
good if your bios doesn't support it.

You have a number of options
* update your bios (maybe not an option)
* put your boot partition at the FRONT of your disk (probably best solution)
* get any old (small) drive and put that in and boot from that
* use a boot disk all the time

Good Luck,

-i
ianw@ieee.org
http://www.wienand.org

**********************************************************************
CAUTION: This message may contain confidential information intended only for the use of the addressee named above. If you are not the intended recipient of this message, any use or disclosure of this message is prohibited.  If you received this message in error please notify Mail Administrators immediately.  You must obtain all necessary intellectual property clearances before doing anything other than displaying this message on your monitor.  There is no intellectual property licence.  Any views expressed in this message are those of the individual sender and may not necessarily reflect the views of Woolworths Ltd.
**********************************************************************



Reply to: