Lars 2009-10-13 23:47:15
I have trouble with LILO and slackware 10.0 (working
on unattended install).
What I am trying to do is to boot from boot CD, mount
an existing slackware root partition and install LILO
based on /(mount-point)/etc/lilo.conf.
For debug purposes I have tried this:
1) Install Slackware the “normal way” from CD and simply
select “LILO: Simple installation.”
So far, booting on /dev/hda works fine!
2) I boot from CD to the root prompt, mount /dev/hda under /mnt
3) I run “lilo -M /dev/hda -C /mnt/etc/lilo.conf”, and get
“Master boot record on /dev/hda has been updated.”
But after this, I can no longer boot:
“No boot signature found on partition.”
Note that I did not change lilo.conf, so I don’t think the problem
The partitions are
/dev/hda1, block 1-64, type 82 (swap)
/dev/hda2, block 65-1000, type 83 (formatted ext 3). ACTIVE.
I have verified that the boot signature is on /dev/hda (using dd and
hexdump), and it is there (offset 0x01FE=0xAA55).
# Start LILO global section
boot = /dev/hda
message = /boot/boot_message.txt
timeout = 1200
# Override dangerous defaults that rewrite the partition table:
# Normal VGA console
vga = normal
# Linux bootable partition config begins
image = /boot/vmlinuz
root = /dev/hda2
label = Linux
# Linux bootable partition config ends
As a test, I have tried to chroot to /mnt and use liloconfig,
but it failed (missing /proc stuff).
Any help on this would be greatly appreciated.
Johninsd at sa 2009-10-13 23:49:49
You have overwritten the LILO boot record, which was installed on /dev/hda to
I think there is some confusion over the use of the -M switch. -M installs a
“Master Boot Record”, not the LILO boot record. When this switch is use,
nothing in /etc/lilo.conf is read. A “Master Boot Record” merely transfers
control to the first active partition.
Generally, when -M is used, it is followed by -A to activate a particular
You don’t want to use -M; you have written your LILO boot record on the master
boot sector of /dev/hda.
To recover, just re-run /sbin/lilo to overwrite the master boot sector.
Or, using the LILO boot record on /dev/hda2[boot=/dev/hda2] not [boot=/dev/hda]
lilo -b /dev/hda2
lilo -M /dev/hda
lilo -A /dev/hda 2 # note the space
Right now, if /dev/hda2 is marked active, there is no boot record; hence the
correct error message is being displayed.
Lars 2009-10-13 23:50:34
Thank you very much for your help, John. I just tried without the -M and
simply did: “lilo -C ./lilo.conf” instead, and now everything is working
+alan hicks+ 2009-10-15 21:16:19
—–BEGIN PGP SIGNED MESSAGE—–
In alt.os.linux.slackware, Lars dared to utter,
I see you’ve already got your question answered but I thought I’d throw
you a bone here. Take a look at the man page for mount. You can use the
bind option to mount /proc to say /mnt/proc as well so it is available
in a chroot environment. This is the way Gentoo does its install.
It is better to hear the rebuke of the wise,
Than for a man to hear the song of fools.
—–BEGIN PGP SIGNATURE—–
Version: GnuPG v1.2.1 (GNU/Linux)
—–END PGP SIGNATURE—–
Bq434 2009-10-15 21:17:54
I think you want to run
lilo -r /mnt
after booting from cd and ‘mount /dev/hda2 /mnt’
Merci……..Yvan I did not want to repeat other people’s mistakes.
So I made new mistakes of my own.
Boy did I invent some good ones!