by Trickster

(Transferred from the wiki by Peter)

Warning: I assume no responsibility for any effects this information might have on you or your system. Use at your own risk.

I use Slackware as my distro of choice. However, Slackware does not come with the option to use Grub as a boot loader; instead it uses Lilo (not that there is anything wrong with LILO.) LILO is good and reliable. It is also, on my opinion, quite ugly. So is GRUB. However, some time ago, Paulo Cesar Pereira de Andrade wrote a patch for GRUB that allows the use of a splashimage (see here) Some distributions have incorporated this patch into the version of GRUB they use. This patch won't ever be incorporated into the Main GRUB tree for a couple of reasons: it is only a 14-color-640*480 patch, the current code for GRUB has some experimental VESA code on it (see here), and the GRUB maintainer doesn't see a splashscreen as a priority at the moment (see here).
This tutorial uses [ftp=ftp://alpha.gnu.org/gnu/grub/]GRUB 0.92[/ftp] and the 0.92 patch submitted by Richard Downing. At the moment of writing this PET, the current version of GRUB is 0.93, and there appears to be a patch for this version here. However, I have not tried it.

  • Download the source for GRUB 0.92 and decompress it. Download the patch ad put it inside the grub-0.92 directory. Decompress the patch. Apply it. patch -Np1 -i 01-grub-0.92-vga-nodeprecated.patch


  • Run the usual installation commands: ./configure, make and su -c "make install"


  • Create an image to use as a splashimage, or get one from here. The image should be 14 colors, 640*480 pixels. The file type should be .xpm, and you can gz'ip it. You can find more info on how to create this images here. Copy the image to /boot/grub/


  • Create a menu.lst file. You can find a good tutorial on GRUB here. Here is what my menu.lst file looks like:

Code:
# root (hd0,2)
# kernel /boot/vmlinuz ro root=/dev/hda3 noinitrd
# boot=/dev/hda
default=0
timeout=10
splashimage=(hd0,2)/boot/grub/splash.xpm.gz
title Slackware 9
root (hd0,2)
kernel /boot/vmlinuz ro root=/dev/hda3 hdc=ide-scsi hdd=ide-scsi vga=791
title Rescue (Slackware 9 Stock)
root (hd0,2)
kernel /boot/vmlinuz-rescue ro root=/dev/hda3 hdd=ide-scsi hdc=ide-scsi
vga=791
title Windows XP
rootnoverify (hd0,0)
chainloader +1
Make sure the splashimage section points to the correct image.

  • Install GRUB on the MBR. su -c grub, root (hd0,2) (substitute (hd0,2) for the hard drive and partition where your / is located.), setup (hd0)


  • Keep your rescue disk at hand, cross your fingers and reboot your machine.

Bibliography

http://archive.linuxfromscratch.org/...2/10/0039.html
http://www.mail-archive.com/bug-grub.../msg06525.html
http://archive.linuxfromscratch.org/...2/09/0084.html
http://people.debian.org/~ingo/grub/
http://ruslug.rutgers.edu/~mcgrof/grub-images/
http://www.gnu.org/software/grub/


Special thanks to McGrof and Luis Rodriguez for all the Grub info, the LFS and Debian mailing list contributors and to PBHarris for his Grub Pet.
Send any comments to rudeboy__athotmail.com, and any flames to /dev/null.