I have a libvirt-coupled-qemu-based virtual machine which boots Slacware 14.0. Long story short,
lilo gave me this error when I invoke
lilo -v
:
Fatal: Linux experimental device 0xfc00 needs to be defined.
Check 'man lilo.conf' under 'disk=' and 'max-partitions'
After adding
disk = /dev/vda bios=0x80 max-partitions=7
to /etc/lilo.conf, the box boots but give me kernel panic.
After digging from
this thread on LQ, I found out that:
- libvirt is compiled as module,
- so I need to make new initrd (because recompiling the kernel is just too much pain).
So I made a new initrd
# /usr/share/mkinitrd/mkinitrd_command_generator.sh >> newinit.sh
# newinit.sh
and added it to the lilo.conf.
image = /boot/vmlinuz
initrd = /boot/initrd.gz
root = /dev/vda1
label = slackware
My final (and working) /etc/lilo.conf looks like this:
# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
lba32 # Allow booting past 1024th cylinder with a recent BIOS
disk = /dev/vda bios=0x80 max-partitions=7
boot = /dev/vda
# compact # faster, but won't work on all systems.
...
# Linux bootable partition config begins
image = /boot/vmlinuz
initrd = /boot/initrd.gz
root = /dev/vda1
label = slackware
read-only # Partitions should be mounted read-only for checking
# Linux bootable partition config ends
Reinvoke lilo with
lilo -v.
It works just great despite some warning.
--invoking lilo compact (-c) screwed things up :(