Kernel Upgrade IV - Troubleshooting
LiLo errors most often happen after a kernel upgrade if either
'/etc/lilo.conf' has not been updated properly or if the lilo
command hasn't been run to update the LiLo boot sector.
If you are using GRUB, you are able to edit the boot command line before
booting, furthermore doesn't GRUB need any updating of the boot sector. Thus
it is usually no problem to boot a GRUB system, even if the boot menu is
wrong.
Large parts taken from The LiLo's User Guide in
/usr/share/doc/lilo-[...]/, p.44:
-
(nothing)
No part of LILO has been loaded. LILO either isn't installed or the
partition on which its boot sector is located wasn't started.
Use a boot floppy. Check '/etc/lilo.conf' and run /sbin/lilo
again.
-
L [error] ...
The first stage boot loader has been loaded and started, but it can't load
the second stage boot loader. The two-digit error codes indicate the type of
problem. This condition usually indicates a media failure or a geometry
mismatch.
You will find a list of error codes on the same page of the User Guide. The
'geometry mismatch' error might occur, if you've moved the kernel to a
different location or changed the partition setup and forgot to run
lilo afterward.
-
LI
The first stage boot loader was able to load the second stage boot loader,
but has failed to execute it. This can either be caused by a geometry mismatch
or by moving /boot/boot.b without running the map installer
Same as above. Running /sbin/lilo should help.
-
LIL
The second stage boot loader can't load the descriptor table from the map
file. This is typically caused by a media failure or by a geometry
mismatch.
-
LIL?
Second stage boot loader has been loaded at an incorrect address. See
LI.
-
LIL-
Corrupt descriptor file table. See LI.
In short: Never forget to run lilo having made
changes to the kernel, its location or the partition layout!
If you have, read System Doesn't Boot From
Disk Anymore, which will tell you how to recover from this.
-
Kernel [name] is too big!
You have compiled a kernel bigger than 512KB with make zImage
instead of make bzImage . Note that 'bzImage' won't make the
kernel smaller, but will instead enable it to be loaded into a different
memory address space.
Consult the Lilo User's Guide for much more...
section index top
These are errors like boot-hangs at Finding modules
dependencies, unresolved dependencies, can't locate
module, or kernel version mismatch.
Possible errors:
-
You've forgotten to run make modules && make
modules_install . Do that then.
-
You've forgotten to change the EXTRA_VERSION flag in the Makefile. Check
/lib/modules. If you don't find a directory in there that carries the new
kernel version label, that's your problem. You've installed the new modules in
the old directory.
Remove or rename the old modules directory and run make modules
&& make modules_install again.
-
Some links in /boot still points to the old versions of their respective
source files. Relink them with ln -sf [source file] [new version
file] .
-
You've forgotten to set the installation directory in the Makefile. The
files are now in / and not in /bin. Move them there, set the links and run
/sbin/lilo .
-
You use binary-only modules which are linked against a specific kernel
version. Either go back to your old kernel or ask the module manufacturer to
release an update. These modules are not a good thing.
-
If you get errors with the loopback interface 'lo' on boot, you probably
compiled 'UNIX 98 pty' support as a module. You should better change this.
section index top
|