Installing LILO on virtual disk (libvirt)

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 :(

0 rants: