...making Linux just a little more fun!

| TAG Index | 1 | 2 | 3 | 4 | Knowledge Base | News Bytes -->

The Answer Gang

By Jim Dennis, Karl-Heinz Herrmann, Breen, Chris, and... (meet the Gang) ... the Editors of Linux Gazette... and You!

(?) after installing new kernel running lilo crushes system

From Ridder, Peter, AGU

Answered By: Neil Youngman, John Karns


I have a Knoppix 3.3 HD installation on a Dell Latitude 610. The HD holds the following partitions:

hda1	Primér	FAT16
hda5	Logisch	NTFS
hda6	Logisch	Linux ext2
hda7	Logisch	Linux swap
hda8	Logisch	Linux ext3
hda9	Logisch	NTFS

I use the NT loader placed in /dev/hda1

/dev/hda1 contains a file bootsec.lin which is a copy.

dd if=/dev/hda8 bs=512 count=1 of=/boot/bootsec.lin
cp /boot/bootsec.lin /mnt/hda1/bootsec.lin=20

/boot is also located on /dev/hda8

/dev/hda1/boot.ini has an additional line:


/etc/lilo.conf looks like:

append="hda=scsi hdb=scsi ...etc."


This file is the result of the Knoppix HD installation

After adding a new compiled kernel in /boot (/boot/bzImage-2.4.24 for example) adding lines in /etc/lilo.conf like:


and running /sbin/lilo

results after a restart in: L 99 99 99 etc.

And the file /boot/boot-menu.b doesn't exist! Also there is no /boot/boot.b Why does it work until I try to install another kernel?

(!) [Neil] According to the LILO man page


"Errors 99 and 9A usually mean the map file(1,n) (-m or map=) is not readable, likely because LILO was not re-run after some system change, or there is a geometry mis-match between what LILO used (lilo(5,8) -v3 to display) and what is actually being used by the BIOS (one of the lilo(5,8) diagnostic disks, available in the source distribution, may be needed to diagnose this problem)."


(!) [John] I haven't taken the time to trace through the init scripts to track down the specifics, but my hd install of knoppix 3.4 doesn't maintain the boot partition mounted under the /boot dir, presumably unmounting it at some point during system boot. It is accessible as an automounted partition thereafter. The /boot directory you see is the mountpoint referenced by lilo.conf.
What's on your hda6 partition? My guess is that's where your boot menu files are. You can verify by issuing the command (as root):
mount /dev/hda6 /boot
Or by clicking on the hda6 desktop icon and looking at the files that come up in konqueror as a result.
If you then see the "missing" files, then after having mounted the partition under /boot as above, you can copy your compiled kernel there and edit lilo.conf. It's usually a good idea to make a new entry in lilo.conf for the new kernel, leaving the old on untouched for a fall-back in case for some reason the system won't boot from the new kernel. Just copy the existing lines referring the original kernel, and paste them in a new stanza above or below the original. Then edit them making name changes as necessary to refer to the new kernel. After saving, you can then run 'lilo' (also as root).
Assuming this all works for you, then 'umount /boot' and delete the kernel you had put there before. It isn't seen when there is a partition mounted at /boot, and just takes up disk space.

This page edited and maintained by the Editors of Linux Gazette
HTML script maintained by Heather Stern of Starshine Technical Services, http://www.starshine.org/

Each TAG thread Copyright © its authors, 2005

Published in issue 111 of Linux Gazette February 2005

| TAG Index | 1 | 2 | 3 | 4 | Knowledge Base | News Bytes -->