To explain, Linux is not a self boot striping kernel, i.e it cant load itself from disk and start running, another program
has to do that bit, (otherwise your MBR would be very large, and dual booting would be impossible). The program that loads the
Linux kernel image from disk, and decompresses it into memory and then runs it is called LILO (or Linux Loader), there many others
like lilo but this one is mine.
"a boring bootloader",
"its a buffy bootloader !!"
Ok, that all looks very nice, but how is it done ?,.. well quite simple really,.. note that im using (at the time of writeing) mdk 8.2 as my distro and so some things may be a little diffrent for you,.. but you should still be able to work it out.
First you need a recent'ish version of lilo (www.rpmdinf.net is your friend here), i've used lilo 21.7 - 22.2, and there ok,.. and then you need a suitable image (such as a buffy one), it needs to be a normal rle encoded bmp, in 16 colors (any pallete is ok), gimp is your friend here.
You need to modify your /etc/lilo.conf to replace the existing line install=... (should be something like install=/boot/boot-menu.b) to (on my mdk 8.2 system install=/boot/lilo-bmp/boot.b), on debian 3.0 its more like (install=/boot/boot-bmp.b),.either way you want the bmp loader boot,.
Here are the imporant parts that you need to modify within your lilo.conf file,.. after you have added these do a 'lilo -v' as root to write it to disk.
# matthews buffy boot install=/boot/lilo-bmp/boot.b bitmap=/boot/lilobuffy.bmp bmp-colors=1,,0,2,,0 bmp-table=120p,173p,1,15,17 bmp-timer=254p,432p,1,0,0
boot=/dev/hda map=/boot/map #install=/boot/boot.b #vga=normal #default=2408-26 default=2418-8 keytable=/boot/uk.klt lba32 prompt timeout=100 # matthews buffy boot install=/boot/lilo-bmp/boot.b bitmap=/boot/lilobuffy.bmp bmp-colors=1,,0,2,,0 bmp-table=120p,173p,1,15,17 bmp-timer=254p,432p,1,0,0 #message=/boot/message #menu-scheme=wb:bw:wb:bw image=/boot/vmlinuz-2.2 label=failsafe-2.2 root=/dev/hda6 initrd=/boot/initrd-2.2.img append=" devfs=mount failsafe" read-only other=/dev/hda1 label=dos table=/dev/hda image=/boot/vmlinuz-2.4.8-26mdk label=failsafe-2.4 root=/dev/hda6 read-only optional vga=normal append=" devfs=mount failsafe" initrd=/boot/initrd-2.4.8-26mdk.img image=/boot/vmlinuz-2.4.18-8mdk label=2418-8 root=/dev/hda6 read-only optional vga=normal append=" devfs=mount" initrd=/boot/initrd-2.4.18-8mdk.img