# bootsplash with progress bar from LiveCD script

## ericfether

Okay, there are several messages posted on how to get 'bootsplash' working with Gentoo....so I won't go into that here.  What I will go into is a script I wrote that will (read "should") install bootsplash on your system and setup the splash screen from the LiveCD as well as setup the ever elusive Progress Bar. 

Now, before the script...here's what's in it.

1.  It will emerge 'bootsplash' version 0.6-r2.  Now, be aware that this is a [Masked] application, and may cause problems with your system (read...it's unstable).  I did run into problems updating 'transcode' after installing this app, and had to disable 'sandbox' in make.conf to get 'transcode' to install.  So...use at your own risk.

2.  It will insert 'bootsplash' in the rc script so the service will start automatically.

3.  It will mount your cdrom drive (with the LiveCD in it) to a temporary directory in '/mnt', then copy the 'initd.1024' out of the '/linuxiso' directory to your '/boot' directory.  This is the Ram Disk Image with the bootsplash image on it.  The temp directory is then unmounted and deleted.

4.  Instructions are then added to both '/etc/lilo.conf' and '/boot/grub/grub.conf' files.  Edit the config file for whichever bootloader you use and follow the directions added to the end of those files.  I've tested the 'lilo.conf' file, but not the 'grub.conf' file...so you may need to edit as necessary.  

5.  Now, 'bootsplash' needs to know how the boot progresses.  In otherwords...a progress bar need to know the progress.  This is done by echoing a value between 0 and 65534 into the '/proc/splash' file.  I do this by adding values to some of the boot scripts found in '/etc/conf.d' directory.  Edit as you will if you don't like what I did here.

6.  Lastly, it tells you how to edit it your kernel so bootsplash works.

Hope this helps all those who've been struggling to get the progress bar working.  Feel free to comment.  I know it's a simple script...but it's easier than jumping all over the internet trying to find out how to get that stuborn progress bar working  :Smile: 

Later,

Eric

```

#!/bin/bash

# bootsplash installer for gentoo

#

echo "First, we have to emerge bootplash"

ACCEPT_KEYWORDS="~x86" emerge bootsplash

rc-update add bootsplash default

echo "Now we copy the graphic from the boot CD, which now"

echo "resides on my web site, and move it to '/boot'"

mkdir /mnt/bootsplash

mount `cat /etc/fstab | grep cdrom | awk '{print $1}'` /mnt/bootsplash

cp /mnt/bootsplash/isolinux/initrd.1024 /boot

umount /mnt/bootsplash

rmdir /mnt/bootsplash

echo "Now we're adding lines to /etc/lilo.conf and"

echo "/boot/grub/grub.conf  You must edit the file for"

echo "whichever bootloader you're using"

echo "#Move the vga line to the global settings and the rest" >> /etc/lilo.conf

echo "#to the kernel section of choice." >> /etc/lilo.conf

echo "#vga = 791" >> /etc/lilo.conf

echo "#append = video=vesa:ywrap,mttr splash=silent" >> /etc/lilo.conf

echo "#initrd=/boot/initrd.1024" >> /etc/lilo.conf

echo "# append the kernel line with the following --" >> /boot/grub/grub.conf

echo "# vga=791 video=vesa:ywrap,mttr splash=silent" >> /boot/grub/grub.conf

echo "#initrd (hd0,0)/boot/initrd.1024" >> /boot/grub/grub.conf

echo "Okay, on to the progress bar.  Basically, we have to"

echo "tell /proc/splash how the progress is going.  SO...."

echo "we tell it by setting a value in the /etc/conf.d/ files."

`echo 'echo "show 30000" > /proc/splash' >> /etc/conf.d/rc`

`echo 'echo "show 60000" > /proc/splash' >> /etc/conf.d/local.start`

`echo 'echo "show 35000" > /proc/splash' >> /etc/conf.d/metalog`

`echo 'echo "show 40000" > /proc/splash' >> /etc/conf.d/hdparm`

`echo 'echo "show 50000" > /proc/splash' >> /etc/conf.d/net`

`echo 'echo "show 55000" > /proc/splash' >> /etc/conf.d/xfs`

echo "Lastly, and most important...make sure you set the"

echo "following parameters in the kernel build --"

echo "Boot Devices -> RAM disk support = Y **NOT as a Module**"

echo "             -> (4096) Default RAM disk size"

echo "             -> Initial RAM disk initrd support = Y"

echo "Console Drivers -> Frame-buffer support --->"

echo "Support for frame buffer devices (EXPERIMENTAL) = Y"

echo "VESA VGA graphcs console = Y"

echo "User splash screen instead of boot logo = Y"

echo

echo "If Splash screen option not available, edit the"

echo ".config file and manually set this line --"

echo "CONFIG_FBCON_SPLASHSCREEN=y"

echo

echo "recompile and reboot.  It should work if you followed"

echo "directions."

```

Last edited by ericfether on Sun Nov 02, 2003 6:52 pm; edited 1 time in total

----------

## hbmartin

Don't suppose this works with 2.6 now, does it?

Harold

----------

## viperlin

yeh i've done that

font still looks crap and messy (over the top of the progress bar)

not much point though my comp asks for the password for a second harddrive (encrypted) so i only get to see it for a second )

----------

## pregopresto

Hi!

I think there is an error in the script you posted here. 

In the line where you wrote the 

```
echo "#initrd (hd0,0)/boot/initrd.1024
```

you forgot the

```
 >> /boot/grub/grub.conf
```

at the end. You might want to correct that because if not it will give you error messages  :Wink: 

Jan

----------

## Whifflebat

Hmm...ever since i did this, I have been getting 

```
--------------------------- ACCESS VIOLATION SUMMARY ---------------------------

LOG FILE = "/tmp/sandbox-libexif-0.5.12-14706.log"

open_wr:   /proc/splash

--------------------------------------------------------------------------------

```

whenever i try to emerge something.

Contents of /proc/splash

```

Splash screen v3.0.7-2003/03/10 (0x07, 1024x768): on

```

What did i do wrong?

----------

## dub.wav

A quick suggestion...If you put all the echo lines within a code block, you only need one >> line.  :Smile: 

```

{

echo "#Move the vga line to the global settings and the rest"

echo "#to the kernel section of choice."

echo "#vga = 791"

echo "#append = video=vesa:ywrap,mttr splash=silent"

echo "#initrd=/boot/initrd.1024" 

} >> /etc/lilo.conf

```

----------

## Loke

 *Whifflebat wrote:*   

> Hmm...ever since i did this, I have been getting 
> 
> ```
> --------------------------- ACCESS VIOLATION SUMMARY ---------------------------
> 
> ...

 

Remove the echo-lines for the rc-scripts. That isnt correct...

----------

## Atreillou

 *hbmartin wrote:*   

> Don't suppose this works with 2.6 now, does it?
> 
> Harold

 yes or no ????

----------

## janlaur

As said in many other posts in this forum. 

NO bootsplash does not work with 2.6.

----------

## GentooBox

 *janlaur wrote:*   

> As said in many other posts in this forum. 
> 
> NO bootsplash does not work with 2.6.

 

there is a patch somewhere that suppose to make bootsplash work in 2.6 kernel. - just google for it  :Smile: 

----------

## crs

Hello, i have one problem with bootsplash.

I patch my 2.6.0-test9-gentoo sources (for 2.6.0-test9-bootsplash patch of course) ang when i boot/reboot/poweroff my computer get error. Hmm, this dont are errors, but is very frustated.

After few rc scripts i have info:

```

Usage: /sbin/splash logstring

       /sbin/splash -s [-u unit] -n [cfgfile]

```

In mode=silent dont work progress bar. It dont move...

What maybe wrong?

PS. Sorry for my English, im learning now.  :Very Happy: 

----------

## kKDu

 *Quote:*   

>  copy the 'initd.1024' out of the '/linuxiso' directory to your '/boot' directory

 

The Live-CD is big and initd.1024 very small, so it would be nice, if someone put initd.1024 at the net to download it direct.

----------

## hbmartin

Anyone have instructiosn for patching, getting scripts set up, etc. against 2.6?

Thanks,

Harold

----------

## viperlin

 *kKDu wrote:*   

>  *Quote:*    copy the 'initd.1024' out of the '/linuxiso' directory to your '/boot' directory 
> 
> The Live-CD is big and initd.1024 very small, so it would be nice, if someone put initd.1024 at the net to download it direct.

 

i'm assuming the initrd is GPL  :Smile: 

my ISP has been very crap recently, went down for 4 hours today, hopefully nothing like that will effect it's download

----------

## rac

I believe the sandbox problems are related to the blind echo in /etc/conf.d/rc.  Perhaps something like the following might be warranted: 

```
if [ -z "{$SANDBOX_ACTIVE}" ]

then

  echo "show 30000" > /proc/splash

fi
```

----------

## Beholders_Eye

I've got hands on this pretty silent bootsplash image. But when I use it, it complains that it needs the LiveCD at the drive...  :Mad: 

Does anyone run into this?

cheers

----------

## ed1984

 *Beholders_Eye wrote:*   

> I've got hands on this pretty silent bootsplash image. But when I use it, it complains that it needs the LiveCD at the drive... 
> 
> Does anyone run into this?
> 
> cheers

 

yep.. I can't boot without the livecd in now..  :Very Happy:   ..works fine once booted though.. <sigh>

Problem 34 on my list of 1,000..  :Very Happy:   If I get around to fixing it I'll post.

.ed.

----------

## Redeeman

isnt the image from the livecd available in a bigger resolution, like 1280x1024? i can make my own initrd, if just i get the image

----------

## gonzalo

yes, i'm wondering that too, i don't want to download the entire LiveCD just for that   :Confused: 

----------

## DottorFalken

Now my system have the 2.6.1 kernel with bootsplash and works correctly.  :Smile: 

----------

## viperlin

my bootsplash from the liveCD has the font messed up at the front still, it covers the top half of the progress bar, 1024x768 image and resolution.

----------

## SiBBoR

 *DottorFalken wrote:*   

> Now my system have the 2.6.1 kernel with bootsplash and works correctly. 

 and you followed the step in this "guide"  :Smile: ?

----------

## DottorFalken

 *SiBBoR wrote:*   

>  *DottorFalken wrote:*   Now my system have the 2.6.1 kernel with bootsplash and works correctly.  and you followed the step in this "guide" ?

 

No. I've followed the bootsplash site guide.  :Smile: 

http://www.bootsplash.org/

----------

## snekiepete

RAC

you little change was right on the money , thanks

----------

## Sgeorg

Hi!

is there a initrd.1280 out there!

so for vga=794 or 1280x1024, would like that!

Thanks

Georg

----------

## Rosjahh

All kinds of initrd's, including the one from the livecd are available in the boostsplash package.

Check your /usr/share/bootsplash folder...

----------

