Gentoo Logo

Plymouth ‒ boot splash

Content:

1.  Introduction

What is Plymouth?

Plymouth is an application that runs very early in the boot process (even before the root filesystem is mounted!) that provides a graphical boot animation while the boot process happens in the background. It is designed to work on systems with DRM modesetting drivers. The idea is that early on in the boot process the native mode for the computer is set, plymouth uses that mode, and that mode stays throughout the entire boot process up to and after X starts. Ideally, the goal is to get rid of all flicker during startup.

—Plymouth developer

Status in Gentoo

Tests were done on x86 and AMD64 with all three supported DRM drivers: Intel, ATI Radeon and Nouveau (nVidia). It is also possible to use Plymouth with Userspace VESA VGA (uvesafb), but it is much less efficient. With uvesafb you might experience flickering.

Plymouth is supported by plugin for OpenRC. It requires /run to be present. In the future this directory will be created by baselayout package. Plymouth is not yet fully integrated with Gentoo init system. Special handling of any input at boot-time need to (and will be) done.

There might occur some issues. See section Known issues.

baselayout-1 is no longer supported.

2.  Installation

Preparation

We need to enable plymouth module for sys-kernel/dracut in /etc/make.conf.

Code Listing 2.1: DRACUT_MODULES setting

DRACUT_MODULES="plymouth"
      

If you have standard installation this should be enough. Otherwise consider enabling additional modules (see equery uses sys-kernel/dracut for descriptions).

Support for specific DRM driver is expected to be enabled in VIDEO_CARDS. If none of intel, nouveau and radeon is appropriate for your system, uvesafb comes as a last hope. It is supported regardless of USE flags settings.

Pre 0.9 snapshot ebuild supports libkms which abstracts Intel, Nouveau and VMWARE gfx (no ATI Radeon support yet), so if it supports your card you can enable libkms flag instead of any of VIDEO_CARDS

Installation

Let's emerge it.

Code Listing 2.2: Installing plymouth

# emerge plymouth

sys-boot/plymouth and sys-kernel/dracut with plymouth module enabled depend on each other, so if you emerge dracut, plymouth will be pulled, too.

Configuration

First of all we need to disable permanently OpenRC's interactive mode. (See section Known issues for the reason.)

Code Listing 2.3: Edit /etc/rc.conf

rc_interactive="NO"

Now we can go to actual Plymouth configuration. To list available themes and select one (e.g. solar), invoke following commands.

Code Listing 2.4: Listing plymouth themes

# plymouth-set-default-theme --list

Code Listing 2.5: Selecting solar theme

# plymouth-set-default-theme solar

Generating initramfs and configuring boot loader

To generate initramfs for currently running kernel, invoke following commands.

Code Listing 2.6: Generating initramfs

# mount /boot (if necessary)
# dracut -H

If you have dracut-009 or above with default settings it should print among other lines the following:

Code Listing 2.7: dracut output

I: *** Including module: plymouth ***

initramfs should be created in path /boot/initramfs-$KV where $KV is your currently running kernel version (uname -r).

Note: Whenever you change theme or update plymouth you need to rebuild initramfs.

The last step is boot loader configuration. We do this on GNU GRUB example.

Code Listing 2.8: Editing /boot/grub/grub.conf

title Gentoo Linux 2.6.38-gentoo-r1
kernel /boot/vmlinuz-2.6.38-gentoo-r1 root=/dev/sda1 video=radeon:1280x1024 quiet splash
initrd /boot/initramfs-2.6.38-gentoo-r1.img

Obviously you need to adjust it to your system configuration. If you have KMS built as module, you also need your-driver.modeset=1 added to kernel command line.

You're ready to reboot your machine and admire animated boot splash.

3.  Additional notes

Known issues

All following problems should be solved when Plymouth is finally integrated with OpenRC.

  1. Because Plymouth is taking over the control of tty1 it might mess it up. Although they should no longer occur with 0.8.3-r3.
    • Line endings might be messed up.
    • Password typed in tty1 might be not hidden. Switch to another tty to login.
  2. Plymouth turns on OpenRC's interactive mode. The workaround is to disable it permanently in /etc/rc.conf.
  3. Splash might freeze on some stages and not respond immediately.

References

  1. Plymouth “home page”
  2. Anders Weblog ‒ Plymouth on Gentoo (Funtoo) – Revisited
  3. Anders Weblog ‒ Plymouth on Gentoo
  4. Bug 359683 ‒ sys-boot/plymouth openrc plugin


Print

Page updated October 24, 2011

Summary: This guide shows you how to set up Plymouth on Gentoo.

Amadeusz Żołnowski
Author

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.