Bootsplash
I wanna mirror for openbios.org stuff here, but don't know if they'll let me...I'm really interested in making sophisticated boot sequences for for Linux.
Contest anyone?
One day I will put more here
I don't have permission yet to link to their site, so, here's the address to get you started...hopefully, one day, we'll have tools here so this'll be where you finish...check out http://www.bootsplash.org
If you want to tell me something, send mail to w e b a d m i n a t b o o t s p l a s h dot c o m
I have no intention of duplicating stuff from all over the net, but...
having pasted this below, I found http://www.bootsplash.de is the best site, has 2.6.11 patch...
But then, interestingly enough, I got distracted and started installing http://dev.gentoo.org/~spock/projects/gensplash
Go Figure...
The Gentoo Framebuffer, Bootsplash &
Grubsplash How-To
(now updated for 2.6.x kernel tree)
Post documentation, tips
and tricks on this thread.
Post questions, problems and answers on the support thread.
Post topic related gentoo specific bugs on the bugs
site.
Translation or
Reproduction of Guide
If you want to translate or reproduce this guide there is no longer any
need to seek permission as long as you follow the standard practices
given below.
- Acknowledge the original author and link to his profile
- Acknowledge the original guide and link to it
- Mention that only this guide will be updated by the original
author
- Kindly send me a link via PM to any translation or reproduction
once completed so I can link to it
Latest Screenshot
Self Portrait (Kernel 2.6.7) (image / default config file)
2.4.X Patches
2.6.X Patches
The author acknowledges and thanks the supplier(s) of all the above
patches.
Objectives
- High resolution framebuffer (example)
- High resolution bootsplash image (example)
- Smaller fonts on framebuffer for greater area (example)
- Greater choice of fonts for varied appearance
- Personalising your bootsplash theme (example)
- Taking screenshots of your framebuffer and bootsplash
- Using multimedia apps and graphical browser on framebuffer
- Personalising your grub splash screen image
- Extending framebuffer and bootsplash to all 12 virtual terminals
Benefits
- Higher resolution
- Configurable and pretty appearance
- Multimedia and graphical browser capability on VTs
- Framebuffer will work on any kernel version
Drawbacks
- Slow scrolling of text output on VTs
- Reduced or zero scroll back buffer
High
resolution framebuffer & bootsplash!
- Update portage tree.
- Emerge media-gfx/bootsplash (graphical backgrounds for frame
buffer consoles).
Overwrite your old bootsplash configuration files.
- Check that the symbolic link /usr/src/linux is pointing to the
kernel of your choice.
Some kernels such as gentoo-sources, gaming-sources and xfs-sources
already have the bootsplash patch built in. Check whether your kernel
supplies bootsplash and if it does not have it then patch the kernel as
below.
| Code: |
| ebuild
/var/db/pkg/media-gfx/bootsplash-0.6-r2/bootsplash-0.6-r9.ebuild config |
Or you can run the following command which takes an additional argument
and executes the line above.
- Enter the kernel configuration.
| Code: |
cd /usr/src/linux
make menuconfig |
For all kernel trees build these options directly into your kernel. Do
NOT make them modules and do not enable nvidia or ATi specific options.
For 2.6.x
kernel tree enable the following options.
| Code: |
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
Processor type and features --->
[*] MTRR (Memory Type Range Register) support
Device Drivers --->
Block devices --->
<*> Loopback device support
<*> RAM disk support
(4096) Default RAM disk size
[*] Initial RAM disk (initrd)
support
Graphics support --->
[*] Support for frame buffer devices
[*] VESA VGA graphics support
Console display driver support --->
[*] Video mode selection
support
<*> Framebuffer Console support
Bootsplash configuration --->
[*] Bootup splash screen
|
For 2.4.x
kernel tree enable the following options.
| Code: |
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
Processor type and features --->
[*] MTRR (Memory Type Range Register) support
Block Devices ->
[*] Loopback device support
[*] RAM disk support
(4096) Default RAM disk size
[*] Initial RAM disk (initrd) support
Console Drivers ->
[*] VGA text console
[*] Video mode selection support
Console Drivers -> Frame-buffer support ->
[*] Support for frame buffer devices
[*] VESA VGA graphics console
[*] Use splash screen instead of boot logo
|
For any kernel do NOT enable the following options or else you risk
bootsplash not working or framebuffer corruption when switching VTs.
| Code: |
Device Drivers --->
Graphics support --->
< > nVidia
Riva support (do not enable!)
Logo configuration --->
[ ] Bootup logo (do not
enable!)
|
If you have problems later disable the following option in kernel
| Code: |
Device Drivers --->
Character devices --->
< > /dev/agpgart (AGP Support) |
And add the following line to your /etc/X11/XF86Config[-4] file.
- Compile your kernel as below for 2.6.x kernel.
Compile your kernel as below for 2.4.x kernel.
| Code: |
| make dep && make clean bzImage
modules modules_install |
Install your kernel as below but do NOT unmount /boot and do NOT reboot
until asked to later.
| Code: |
mount /boot
mv /boot/bzImage /boot/bzImage.old
cp /usr/src/linux/arch/i386/boot/bzImage /boot/ |
If you get errors during kernel compilation or missing options during
configuration do as below.
| Code: |
cd /usr/src/linux/
mv .config ~/kernel.config
make mrproper
mv ~/kernel.config .config
make oldconfig
make menuconfig
|
- Assuming /boot is mounted set an image to appear during the boot
process.
| Code: |
| /sbin/splash -s -f
/etc/bootsplash/default/config/bootsplash-1280x1024.cfg >>
/boot/initrd-1280x1024 |
Or you can copy an already exisiting initrd image that is provided with
the bootsplash package.
| Code: |
| cp /usr/share/bootsplash/initrd-1280x1024
/boot/ |
- Edit your /boot/grub/grub.conf file. The example below
has been provided for your convenience. Here are the meanings of the
various parameters.
- video= goes on
kernel line and controls display options such as ywrap and mtrr which
speed up framebuffer scrolling
- vga= goes on kernel
line and controls the resolution and colour depth of framebuffer
- splash= goes on
kernel line and takes either 'silent' or 'verbose' but silent boots may
not work
- initrd= goes on a
new line after kernel line and loads an image during the booting
process.
| Code: |
default 0
timeout 10
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
# With both framebuffer and bootsplash
title=Gentoo GNU/Linux 1.4 (+fb +splash)
root=(hd0,0)
kernel=(hd0,0)/boot/bzImage root=/dev/hda3 video=vesafb:ywrap,mtrr
vga=0x31A
initrd=/boot/initrd-1280x1024
# With framebuffer but without bootsplash
title=Gentoo GNU/Linux 1.4 (+fb -splash)
root=(hd0,0)
kernel=(hd0,0)/boot/bzImage root=/dev/hda3 video=vesafb:ywrap,mtrr
vga=0x31A
# Without both framebuffer and bootsplash
title=Gentoo GNU/Linux 1.4 (-fb -splash)
root=(hd0,0)
kernel=(hd0,0)/boot/bzImage root=/dev/hda3 |
Here is a lilo.conf example configuration courtesy of ophidia.
| Code: |
image="/boot/bzImage"
vga=0x31A
root="/dev/hdb2"
label="2.4.20-r4"
read-only # read-only for checking
append="hdc=ide-scsi video=vesafb:ywrap,mtrr"
initrd=/boot/initrd-1280x1024 |
Note that in the above grub and lilo configuration examples the
keyword 'vesafb' is applicable to 2.6.x kernels. For 2.4.x kernels it
should be changed to 'vesa'.
Here is a chart of kernel mode numbers for the 'vga=' boot parameter.
| Code: |
| 640x480 800x600
1024x768 1280x1024
----+-------------------------------------
256 | 0x301 0x303 0x305
0x307
32k | 0x310 0x313 0x316
0x319
64k | 0x311 0x314 0x317
0x31A
16M | 0x312 0x315 0x318
0x31B |
If you want to find ALL video modes for use with the framebuffer look
at this forum post for further
information on how to find it yourself.
Look at the following reference files if you need more detailed
information.
| Code: |
/usr/share/bootsplash/grub.conf.sample
/usr/src/linux/Documentation/fb/vesafb.txt
/usr/src/linux/Documentation/svga.txt |
- Add bootsplash to the default run level so that it starts on
every boot.
| Code: |
| rc-update add bootsplash default |
- Reboot and bask in the glory of bootplash wonder. To remind
yourself of what kernel parameters you booted with do as below.
Setting
framebuffer without bootsplash!
- To have a framebuffer only without bootsplash for greater area
remove bootsplash from your default run level and reboot.
| Code: |
| rc-update del bootsplash default |
- Remove or comment out this line from your chosen menu entry in
grub.conf.
| Code: |
| initrd=/boot/initrd-1280x1024 |
Smaller
fonts on framebuffer for greater area!
- Open /etc/rc.conf and change the following variable.
| Code: |
| CONSOLEFONT="default8x9" |
- To see what other fonts are available for use look in
the following location and add the name without the extension to
/etc/rc.conf.
| Code: |
| /usr/share/consolefonts |
Extending
consolefont, framebuffer and bootsplash to all 12 virtual terminals!
- Open /etc/init.d/consolefont and change all instances of
| Code: |
| for x in 1 2 3 4 5 6 7 8 9 10 |
to
| Code: |
| for x in `seq 1 12` |
- Open /etc/conf.d/bootsplash.conf and change the following
variable as below.
| Code: |
| BOOTSPLASH_TTYS="0 1 2 3 4 5 7 8 9 10 11" |
- For the above changes to take effect you can either reboot or
restart the above init.d scripts as below. Voila!
| Code: |
/etc/init.d/consolefont restart
/etc/init.d/bootsplash restart |
Personalising
your bootsplash theme!
- Create your own directory structure called 'personal'.
| Code: |
mkdir -p /etc/bootsplash/personal/images/
cp -r /etc/bootsplash/default/config /etc/bootsplash/personal/ |
- Change the symbolic link for the default theme.
| Code: |
rm /etc/bootsplash/default
ln -s /etc/bootsplash/personal /etc/bootsplash/default |
- Open /etc/conf.d/bootsplash.conf and change as below.
| Code: |
| BOOTSPLASH_THEME=personal |
- Copy images of your choice and of correct resolution
and depth into /etc/bootsplash/personal/images/. Make sure images have
a resolution of 96x96 and not 300x300. Note that this is not image size
but rather 'pixels per inch'. For more information look here.
- Open /etc/bootsplash/personal/config/bootsplash-1280x1024.cfg and
change paths below to point to your images.
| Code: |
jpeg=/etc/bootsplash/gentoo/images/bootsplash-1280x1024.jpg
silentjpeg=/etc/bootsplash/gentoo/images/silent-1280x1024.jpg |
- To have your image appear during boot add it to /boot otherwise
omit this step.
| Code: |
mount /boot
/sbin/splash -s -f
/etc/bootsplash/default/config/bootsplash-1280x1024.cfg >
/boot/initrd-1280x1024 |
- Reboot, test and post feedback.
Taking
screenshots!
- To use fbgrab emerge it as root and execute it as normal user on
terminal 1.
| Code: |
emerge fbgrab
fbgrab ~/console.png |
Personalising
your grub splash image!
- To change your grub splash image create an image then move it to
/boot/grub. As root do the following.
| Code: |
emerge gimp
wget http://dhruba.codewordt.co.uk/files/grub-image.scm -P ~
mv ~/grub-image.scm /usr/share/gimp/1.2/scripts/ |
- Start gimp and open an image of your choice. Right
click on the image, select File, Grub Boot Image and save in your home
directory. A sample image is provided in instructions below for you to
try. Other images can be found here which is a very useful
resource.
| Code: |
mount /boot
wget http://linux.tkdack.com/downloads/grub/powered-by.xpm.gz -P ~
mv ~powered-by.xpm.gz /boot/grub/ |
- Modify /boot/grub/grub.conf to point to the new image.
| Code: |
| splashimage=(hd0,0)/boot/grub/gentoo-boot.xpm.gz |
- To create images of the correct kind either follow the command
line instructions at linux.tkdack.com duplicated below
for convenience or use the gimp plugin.
| Code: |
| convert -size 800x600 file.jpg -resize
640x480 -colors 15 -profile '*' file.xpm |
Feedback:
Since this thread is now split into two here's how to decide which
thread to post on. If you are asking questions about problems or are
helping another user with problems then post on the support thread.
Remember to provide kernel name and version, contents of your grub.conf
file and make, model and driver version of your graphics card.
Everthing else can be posted in this thread including comments on
improving this guide or correcting mistakes which are both welcome!
Remember that if you have general problems unrelated to this guide then
file bugs
immediately so that hacks are no longer necessary and that problems are
resolved officially for future users.
Latest news:
As you can tell by the number of times that this post has been edited
the guide is undergoing continual overhaul as a result of feedback from
users. It is now much more concise and has recently been expanded to
fit new content. Look here for people who have it working: quikchaos, basquiat, mojo, danb, maw, Cappy!
Trivia: For trivia first
emerge aalib, svgalib and DirectFB. Mplayer
on framebuffer:
Try 'emerge mplayer' and then 'mplayer -vo svga <filename>'. Have
you managed to get mplayer working under framebuffer? If so, post
details! Graphical browser on framebuffer:
(1) emerge links (2) chown root.root /usr/bin/links2 (3) chmod +s
/usr/bin/links2 (4) links2 -g www.gentoo.org
-driver directfb. Other drivers are X, vesa, svgalib and fb. Try them
all and see what works best for you. How did links go for you?
Still to come:
Separate sections for framebuffer, bootsplash and grubsplash (done!);
Extending to all 12 VTs (done!); Using your own themes with bootsplash
(done!); Smaller fonts for greater area (done!); Binding a key for
taking framebuffer screenshots; Modifying console fonts! Bear with me -
hugely busy atm!
Acknowledgements: devs: TaD, LiveWire; #gentoo: r2d2, Malketh, antifa, kote,
Hayl, cybbe; beejay; forums:
quikchaos, aardvark, allucid, tkdack; anubis2002; ophidia; other: HandyAndE, Tyrant.
_________________
Wolf: 2.6.7 | Bootsplash guide updated for LK/2.6! |
Enlightenment 0.16.7
Last edited by Narada on Mon Aug 16, 2004 7:31 am; edited 138 times in
total