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. 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 Benefits Drawbacks

High resolution framebuffer & bootsplash!
  1. Update portage tree.
    Code:
    emerge sync

  2. Emerge media-gfx/bootsplash (graphical backgrounds for frame buffer consoles).
    Code:
    emerge bootsplash

    Overwrite your old bootsplash configuration files.
    Code:
    etc-update

  3. Check that the symbolic link /usr/src/linux is pointing to the kernel of your choice.
    Code:
    ls -l /usr/src/

    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.
    Code:
    bootsplash_patch

  4. 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.
    Code:
    Option          "NvAGP"         "1"

  5. Compile your kernel as below for 2.6.x kernel.
    Code:
    make

    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

  6. 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/

  7. 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

  8. Add bootsplash to the default run level so that it starts on every boot.
    Code:
    rc-update add bootsplash default

  9. Reboot and bask in the glory of bootplash wonder. To remind yourself of what kernel parameters you booted with do as below.
    Code:
    cat /proc/cmdline
Setting framebuffer without bootsplash!
Smaller fonts on framebuffer for greater area!

Extending consolefont, framebuffer and bootsplash to all 12 virtual terminals!
Personalising your bootsplash theme!
Taking screenshots!
Personalising your grub splash image!
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