Plymouth ‒ boot splash
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
# 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.
- 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.
- Plymouth turns on OpenRC's interactive mode. The workaround is to
disable it permanently in /etc/rc.conf.
- Splash
might freeze on some stages and not respond immediately.
References
- Plymouth “home
page”
- Anders Weblog ‒ Plymouth on Gentoo (Funtoo) – Revisited
- Anders Weblog ‒ Plymouth on Gentoo
- Bug 359683 ‒
sys-boot/plymouth openrc plugin
The contents of this document, unless otherwise expressly stated, are licensed under the CC-BY-SA-2.5 license. The Gentoo Name and Logo Usage Guidelines apply.
|