LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   Bootsplash on Slackware 10.2 (http://www.linuxquestions.org/questions/slackware-14/bootsplash-on-slackware-10-2-a-478174/)

Excessive 08-28-2006 03:21 PM

Bootsplash on Slackware 10.2
 
Here is a quick how-to I wrote for installing and configuring Bootsplash on Slackware 10.2 with Kernel 2.6.17.7. I hope it will be useful. It was really annoying to post 3 messages before posting my tutorial. Anyway, here we go :)

Slackware Linux 10.2 Bootsplash Quick Howto
-------------------------------------
by Excessive

This document explains how to set up Bootsplash on a Slackware Linux 10.2 with Kernel 2.6.17.7.

1. Getting files

First, we have to get the required packages from www.bootsplash.org:

a. Bootsplash kernel patch:
ftp://ftp.openbios.org/pub/bootsplas....6-2.6.15.diff

b. Bootsplash utilities:
ftp://ftp.openbios.org/pub/bootsplas...-3.0.7.tar.bz2

c. Generic Linux theme:
ftp://ftp.openbios.org/pub/bootsplas...-Linux.tar.bz2

Please extract these archives to seperate folders. For example:

bootsplash-3.0.7.tar.bz2 to ~/bootsplash/tools
Theme-Linux.tar.bz2 to ~/bootsplash/themes

with tar or Midnight Commander (mc) before proceeding.

2. Preparing:

a. Patch your kernel:

Become root (via su) and navigate to /usr/src/linux directory (provided it is pointing the 2.6.17.7 kernel)

# cd /usr/src/linux

# patch -p1 < /path/to/bootsplash-3.1.6-2.6.15.diff

file drivers/char/keyboard.c
Hunk #1 succeeded at 1160 (offset 98 lines).
patching file drivers/char/n_tty.c
Hunk #1 succeeded at 1298 (offset 6 lines).
patching file drivers/char/vt.c
Hunk #1 succeeded at 3238 (offset -22 lines).
patching file drivers/video/Kconfig
Hunk #1 succeeded at 1473 (offset 4 lines).
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/bitblit.c
patching file drivers/video/console/fbcon.c
Hunk #4 succeeded at 1104 (offset -4 lines).
Hunk #5 succeeded at 1729 (offset -6 lines).
Hunk #6 succeeded at 1819 (offset -4 lines).
Hunk #7 succeeded at 1965 (offset -6 lines).
Hunk #8 succeeded at 2083 (offset -3 lines).
Hunk #9 succeeded at 2207 (offset -3 lines).
Hunk #10 succeeded at 2413 (offset -3 lines).
patching file drivers/video/console/fbcon.h
patching file drivers/video/vesafb.c
Hunk #1 succeeded at 167 (offset -34 lines).
patching file include/linux/console_struct.h
patching file include/linux/fb.h

#

b. Now your kernel is patched, its time for us to enable bootsplash in the kernel:

# make menuconfig

Under Device Drivers > Block Devices

<*> RAM disk
(1) Default number of RAM disks
(4096) Default RAM disk size (kbytes) (NEW)[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support

Under Device Drivers > Graphics Support

<*> Support for frame buffer devices[*] VESA VGA graphics support

Under Console display driver support
[*] Video mode selection support
<*> Framebuffer Console support[*] Select compiled-in fonts[*] VGA 8x8 font[*] VGA 8x16 font

Under Logo configuration

[ ] Bootup logo (Disable it)

Under Bootsplash configuration
[*] Bootup splash screen

Save your new kernel configuration and compile:

# make ; make install ; make modules_install

CHK include/linux/version.h
CHK include/linux/compile.h
Kernel: arch/i386/boot/bzImage is ready (#6)
Building modules, stage 2.
MODPOST
Added Linux *
INSTALL drivers/hwmon/hwmon.ko
INSTALL .....
.
.
if [ -r System.map -a -x /sbin/depmod ]; then /sbin/depmod -ae -F System.map 2.6.17.7; fi

#

c. Compile the splash utility:

Navigate to the directory which you extracted the utilities (as a normal user):

$ cd ~/bootsplash/tools/utilities
$ make splash
gcc -Os -Wall -I/usr/include/freetype2 -L/usr/lib splash.c -o splash

Now become root and copy splash to /sbin/ :

# cp splash /sbin/

d. As now everything is in order, let's create our bootsplash configuration:

# mkdir /etc/bootsplash
# mkdir /etc/bootsplash/themes/

After creating directories, copy the contents of ~/bootsplash/themes to /etc/bootsplash/themes directory.
Again, copying with Midnight commander is easiest :)

After copying the contents of themes directory, a directory named Linux will be created at /etc/bootsplash/themes directory.

Let's create our initrd image with splash utility:

Recommendation: if you have a /boot/initrd.splash, remove it before issuing the command below.

# /sbin/splash -s -f /etc/bootsplash/themes/Linux/config/bootsplash-1024x768.cfg >> /boot/initrd.splash

Now, open your /etc/lilo.conf and add three lines:

vga = 791 (under # VESA framebuffer console @ 1024x768x64k line)
append="splash=silent" (under root = /dev/*** line)
initrd=/boot/initrd.splash (under append="splash=silent" line)

and save lilo.conf. after saving, execute the command:

# lilo
Added Linux *
#

and reboot.

Congratulations! You now have a brand new Bootsplash background under your beloved Slackware 10.2 system.
You can change the images of your theme at /etc/bootsplash/themes/Linux/images. Be sure to use:

# rm /boot/initrd.splash
# /sbin/splash -s -f /etc/bootsplash/themes/Linux/config/bootsplash-1024x768.cfg >> /boot/initrd.splash

after changing your images. If for some reason, your image doesn't show up at the console, check the size of the image, and resave it with gimp. It will work that way.

Randux 08-28-2006 03:58 PM

And if you want a nice graphic for your lilo menu:

http://www.linuxquestions.org/questi...d.php?t=418094

Thanks for your guide! I will look at it. Together this should be everything anyone needs to know for graphics from power-on until sign-on!

drkstr 08-29-2006 12:04 AM

Thanks for the info. Just out of curiosity, is this different (better) then then turning on the built in Device Drvers->Graphic Support->Logo configuration
Then run
Code:

pngtopnm logo.png | pnmtoplainpnm > logo_linux_clut224.ppm
cp logo_linux_clut224.ppm /usr/src/linux/drivers/video/logo/

<recompile kernel>

This is what I currently have set up, but I'm trying to figure out how to get an animated logo.

Thanks again!
...drkstr

Excessive 08-29-2006 09:34 AM

It's way better than that. You have to read documentation of Bootsplash at www.bootsplash.org to get animated screens.

I'll also include progress bar setup this night, and post it here.

Bruce Hill 12-17-2006 06:50 AM

Just found this thread and wondered how the progress bar setup came along ...

drkstr 12-31-2006 12:43 AM

Quote:

Originally Posted by Bruce Hill
Just found this thread and wondered how the progress bar setup came along ...

Hi bruce,

I just now got the progress bar working and thought I would post what I did here in case you (or anyone else) were still curious.

First, create the file /etc/rc.d/rc.bootsplash:
Code:

#! /bin/sh
#
# rc.bootsplash

function progressbar()
{
        if [ $# != 1 ]
                then
                echo "Usage: progressbar {progress}"
                exit 1
              fi
        echo "show $(( 65534 * $1 / 100 ))" > /proc/splash
}
#
function animate()
{
        if [ $# = 0 ]
                then
                      echo "Usage: animate {hook}"
                exit 1
              fi
        splash "$*"
}

You would then open up your /etc/rc.d/rc.S and add to the beggining:

Code:

. /etc/rc.d/rc.bootsplash
progressbar 0

Then add the line "progressbar x" under every major event, where x is steadily increasing to 50. Repeat for the rc.M except use numbers from 50 - 100.

The incrementing and number ranges are just preference, and may want to be changed to increment stuff in the rc.local or sysvinit scripts (if any).

Also, I found it necessary to add a special animation if the file system check is initiates so the user doesn't think the boot up stalled and hit the kill switch.

Hope this helped!

Best regards,
...drkstr

**edit**
PS: Thanks Excessive, you were right. It's much nicer! ;)

sidd-ua 06-27-2008 03:31 AM

Hello. Sorry, I'm bad speak English :)
So I did everything, as be written in how-to. But after rebooting I got this error:
Quote:

RAMDISK: Couldn't find valid RAM disk image starting at 0.
No filesystem could mount root, tried:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(3,6)
Where could I be mistaken? My distribution is Slackware 12.0.
Thanks for your help.

gnashley 06-27-2008 11:18 AM

The method described in this old thread will not work with slackware-12. You need to search this forum for newer postings about bootsplash and there is a slackwiki page with directions.

Newer kernels which use the intramsfs have to have the initrd file created in a different way than what is described here.

sidd-ua 06-27-2008 12:19 PM

Quote:

Originally Posted by gnashley (Post 3196957)
The method described in this old thread will not work with slackware-12. You need to search this forum for newer postings about bootsplash and there is a slackwiki page with directions.

Newer kernels which use the intramsfs have to have the initrd file created in a different way than what is described here.

Thanks. Then I'll search manuals for my Slack :)


All times are GMT -5. The time now is 02:10 AM.