Fbsplash is set of userspace utilities that control the framebuffer console and integrate with the system startup procedure to draw boot splash screens. Fbsplash scripts and utilities for gentoo are distributed as part of the media-gfx/splashutils package.
In order for the fbsplash to do anything useful you will first need to configure and setup the Gentoo/Framebuffer. Also read the initramfs kernel configuration chapter for instruction on enabling initramfs support, which is needed for a splash initramfs image.
If you intend to use a Gentoo/Framebuffer splash you'll need to make sure the driver is built-in, and not built as a module. You will also need to enable Framebuffer Console support and Support for the Framebuffer Console Decorations. If the Enable Tileblitting option is turned on in Support for frame buffer devices in the kernel configuration, the framebuffer console decorations option will be invisible. Please make sure to turn it off.
|Linux Kernel Configuration: Kernel optional framebuffer configuration|
Device Drivers -> Graphics support -> <*> Support for frame buffer devices ---> Console display driver support ---> <*> Framebuffer Console support [ ] Enable Tile Blitting Support [*] Support for the Framebuffer Console Decorations
If you want to get thekey working to switch to verbose and silent when using a splash screen, enable the Event Interface,
|Linux Kernel Configuration: enabling the Event Interface|
Device Drivers ---> Input Device Support ---> <*> Event Interface
Make sure you enable the fbcondecor USE-flag. Also note that there are themes that require the mng USE-flags, so enabling it is generally a good idea. media-gfx/splashutils needs its dependencies compiled with static-libs enabled, portage will inform you on which packages needs this flag enabled.
The media-gfx/bootsplash-themes package will install to /etc/bootsplash, but it will convert the themes automatically to splashutils compatible themes and moves them to /etc/splash/ as well, so there is no need for any manual conversion.
If you wish to set/preview a theme without booting you can use splash_manager. Note these commands must be run as root user (or sudo).
This will change the theme on tty1 to livecd-2007.0. You can choose any theme in /etc/splash that matches your current resolution. Now to see the theme go to tty1 by pressing .
If you want to preview a theme in silent mode without reboot, then try
Please note, don't run this command under X window.
For more reference please refer to
The genkernel way
Assuming splash is livecd-2007.0 and required resolution is 1024x768:
The manual way
To generate the Gentoo/Initramfs splash image, we use splash_geninitramfs (you need to enable the fbcondecor_ctl use flag for media-gfx/splashutils). The syntax is,
The themes are located in /etc/splash. So to generate a initramfs splash image with the gentoo theme with a resolution of 1024x768,
The /boot/initramfs-bootsplash initramfs image is now created.
If you already have a initramfs source directory, and want to just add the boot splash to it, use the copy switch instead,
Replace /path/to/initramfsdir with the path to your initramfs source directory. This will copy all required files to your initramfs source directory.
If you already have a initramfs image, and want to append the boot splash to it, use the append switch,
Replace /path/to/initramfsimage with the path to your initramfs image.
Finally, if you want to check the content of the initramfs image,
Fbsplash requires its own kernel command line option, which allows you to specify which theme should be used. In this case, the theme is natural_gentoo. The other required option need to be verbose or silent. If silent is set, it will hide all the bootup information. Otherwise, you will be shown all the bootup information on system startup. In the example below we use the verbose option and the theme natural_gentoo. Note that we assume you have configured your Gentoo/Framebuffer correctly and already set your video= options. Also note the console=tty1 (or CONSOLE=/dev/tty1) option, this is also a requirment for the splash to display. Finally the actual initramfs image, adding a new initrd line below the kernel line tells GRUB to load the initramfs image aswell. Make sure to replace (hdX,Y) with your root device.
To see full documentation of the kernel parameters specific to splash you need to look in /usr/share/doc/splashutils*/kernel_parameters which should be included in splashutils. You should be able to see it by typing (this assumes that you have emerged splashutils).
Example of full kernel command:
video=inteldrmfb:1920x1200-32@60 splash=silent,fadein,theme:livecd-2007.0 quiet console=tty1
To automatically set a background on framebuffer consoles at boot, you can use the fbcondecor init script :
You can select which tty(s) to set a background image to through the FBCONDECOR_TTYS variable and to set the theme of each tty through the FBCONDECOR_TTY_MAP variable.
If you happen to be using a vanilla kernel you will not have the Support for the Framebuffer Console Decorations option available, there are a few small steps you need make to enable this. First, you need to download the patch for your kernel from the developer of fbcondecor, Spock, site.
Apply the patch. Don't worry if the kernel version doesn't match exactly, as this patch is not that intrusive:
Replace XXXXX with the version you require.
Genkernel suports putting a splash into the initrd for early boot display of a splash screen, however, it will print lines over the splash, seemingly ignoring the "CONSOLE=/dev/tty1" from the kernel boot line.
To correct this, change in genkernel's initrd.defaults:
Rebuild your initrd with: