Bootsplash and Fedora Core 3
I had a hard time getting Bootsplash work on my computer (Fedora Core 3) and there was not much help on the web so here is how I got the thing to work.
Hope this helps.

 -> virtross at gmail dot com <-

Important: 
        Before you try this read how to compile a kernel. This can potentially mess up your system.
	Dont do things you dont understand. The purpose of this page is just to give hints where things might work for you.

Summary:
        whats missing in the instructions at bootsplash home page is
        1.  Unselect REGPARM in 'make xconfig'
        2.  Modification of initrd image requires a different procedure (at least for me).

Limitation:
        Havent yet got the progress bar to work.

Update (7th feb 2006): 
        Ok...The progress bar is working now...I had to make some little changes to scripts and bootsplash.c code.
Will write about it when I get some time. If anybody needs it before i have written about it here, plz email me.

My System:
        Presario 2100 Notebook
        Athlon Xp, 256 MB Ram
        Fedora Core 3
        uname -r = 2.6.9-1

Step 1:

Get the right patch for the kernel:
the output to 'uname -r' on my system is "2.6.9-1" so i got the following patch from http://bootsplash.de/
bootsplash-3.1.4-sp3-2.6.9-rc4.diff


Get the kernel source if you allready dont have it
install the kernel source...default is /usr/src/redhat
Instructions to install the kernel source can be found in Fedora Core 3 Release Notes
(file:///usr/share/doc/HTML/index.html on a FC 3 installation)

Change to the source directory /usr/src/redhat/BUILD/kernel-2.6.9/linux-2.6.9/
Apply the patch:
the output of this patch should not have any error:
[abc@localhost linux-2.6.9]$ patch -p1 < bootsplash-3.1.4-sp3-2.6.9-rc4.diff
patching file drivers/char/keyboard.c
patching file drivers/char/n_tty.c
patching file drivers/char/vt.c
patching file drivers/video/Kconfig
patching file drivers/video/Makefile
patching file drivers/video/bootsplash/Kconfig
patching file drivers/video/bootsplash/Makefile
patching file drivers/video/bootsplash/bootsplash.c
patching file drivers/video/bootsplash/bootsplash.h
patching file drivers/video/bootsplash/decode-jpg.c
patching file drivers/video/bootsplash/decode-jpg.h
patching file drivers/video/bootsplash/render.c
patching file drivers/video/console/fbcon.c
patching file drivers/video/console/fbcon.h
patching file include/linux/console_struct.h
patching file include/linux/fb.h
patching file kernel/panic.c
Hunk #1 succeeded at 78 (offset 2 lines).

copy the default config file if u want to maintain the FC 3 configuration
(Instruction in FC 3 Release notes)
[abc@localhost linux-2.6.9]$ cp configs/kernel-2.6.9-i686.config ./.config //copy the default config file
[abc@localhost linux-2.6.9]$ make oldldconfig
[abc@localhost linux-2.6.9]$ make xconfig
In xconfig window change configuration:
        1. Unselect "Processor type and features -> Use register arguments" (REGPARM)
        2. Unselect Graphics support->Logo configuration->Bootup logo
        3. Select Graphics support->Bootsplash configuration->Bootup splash screen

        the above is what i guess you will have to change...th rest u might not have to change from the default but do check you have the following selected too:

        4. Graphics support->Support for framebuffer devices->VESA VGA graphics support
        5. Block Devices->RAM Disk support-> Initial RAM Disk (initrd) support

(It might be a good idea to edit the Makefile and change "EXTRAVERSION = -prep" to any suitable extension you like - this will make your kernel image and initrd image instantly recognizable if you end up compiling many)
[abc@localhost linux-2.6.9]$ make all                     //compile your kernel and install ... this will take time
[abc@localhost linux-2.6.9]$ su                           //change to root
Password:
[root@localhost linux-2.6.9]$ make modules_install
[root@localhost linux-2.6.9]$ make install
After `make install` you will have the kernel image and the initrd image installed in /boot and Grub configuration file will be modified to include your new kernel.

reboot and check if you can boot using the new kernel.



Step 2:
Get the 'Linux' theme from the bootsplash.org
in /etc make a bootsplash directory
inside the /etc/bootsplash make themes directory (/etc/bootsplash/themes/ )
decompress the 'Linux' theme in /etc/bootsplash/themes/ 



Step 3:

Get the Bootsplash utility (www.bootsplash.org).
make splash utility and copy it to /sbin

then:
[abc@localhost linux-2.6.9]$ cd                              //change to your home directory
[abc@localhost ~]$ mkdir work                                //create a working directory ~/work
[abc@localhost ~]$ cd work                                   //step inside the working directory
now all done as root:
[root@localhost work]$ cp /boot/initrd-ver.img ./             //copy the initrd-ver.img made during kernel compile
[root@localhost work]$ mkdir temp                             //create temp directory
[root@localhost work]$ cd temp                                //change into the temp directory
[root@localhost temp]$ gunzip -c ../initrd-ver.img | cpio -dmv  //decompress into the temp directory

//create the bootsplash file in the temp directory
[root@localhost temp]$ /sbin/splash -s -f /etc/bootsplash/themes/Linux/config/bootsplash-1024x768.cfg > ./bootsplash



[root@localhost temp]$ find . | cpio --quiet -c -o > ../newinitrd //repack all in temp into the new initrd image
[root@localhost temp]$ cd ..                                      //come out of this directory
[root@localhost work]$ gzip -9 < newinitrd > initrd-ver.img       //compress the new image


//move this new file (initrd-ver.img) to /boot and use this initrd image with the kernel compiled in previous step...the following command will erase your initrd-ver.img allready there
[root@localhost work]$ cp -f initrd-ver.img /boot
Reboot and enjoy
Hosted by www.Geocities.ws

1