-   Linux - Software (
-   -   strange lilo activity (

tgo 12-19-2006 10:57 PM

strange lilo activity
I use lilo as my bootloader. I keep my current kernel in /boot/good so everytime i recompile I just copy the new kernel there. As a sanity check/habit I always typed 'lilo' after just to make sure it added everything properly.

Today I made a quick config change and didnt type lilo after copying the kernel and rebooted. On reboot the boot process hung after about 4 dots such as "Loading: slackware ....".

I rebooted from this hang and booted into an old kernel and typed 'lilo' to see what was wrong and it seemed ok and after this the kernel that hung before booted again.

I was wondering if someone knew some lilo internals ( would save me from diggin through source ) as to why this happened. The one conclusion a friend came up with is that lilo stores the raw address of the kernel image when you type 'lilo' and then after compiling a new kernel its obvisouly in a different spot so it doesnt know where to find it. I had thought of maybe there was a checksum it checked before loading it but if that was the case then it should have a way of reporting this error to you rather then not booting.

If my friend was right I guess there is no way it can recover since its fallen down a bad path.

Anyone with lilo knowledge know why this happens?

Jaqui 12-19-2006 11:19 PM

lilo isn't a text bootloader like grub, it has to be rebuilt at every kernel change or it cannot find the new kernel image.
This is why that grubby thing has become the default bootloader instead of good old lilo.
[ I use lilo myself :) ]

the binary lilo section in the mbr is looking for a specific kernel image, including the date/time stamp on the kernel image, if you change images then the date/time stamp is different, so it cannot access it without being rebuilt by running lilo after building the kernel.

tgo 12-19-2006 11:29 PM

at what stage does it detect the date/time of the image you are trying to boot? the thing i found most strange about the behaviour was that it hung.

Do you know why after detecting a bad date/timestamp that it wouldnt be able to report the errors to you and let you pick anothe kernel instead of just hanging?

All times are GMT -5. The time now is 05:34 PM.