I have lost plymouth after installing vanilla self-built kernel :(

I have tried to build and install a vanilla kernel downloaded from kernel.org.

But after the installation the system would not boot.

So I booted with the older kernel and uninstalled the one I just installed (I removed all the /boot/*-[KERNEL VERSION] files and re-run grub2-mkconfig).

After also removing the files from /boot/loader/entries, the new kernel finally disappeared from the GRUB menu.

But I have lost plymouth :frowning: Now it would only boot in text mode.

I have tried to remove and re-install plymouth but without success.

What can I do to restore plymouth?

Help, I want my plymouth back :frowning:

Did you also regenerate your initramsfs? (dracut -f)

What are the outputs of:

sudo systemctl status plymouth-start.service
sudo systemctl enable plymouth-start.service

Did you have a look at the following topic? Enable Plymouth startup

$ sudo systemctl status plymouth-start.service
● plymouth-start.service - Show Plymouth Boot Screen
     Loaded: loaded (/usr/lib/systemd/system/plymouth-start.service; static)
     Active: active (exited) since Wed 2021-09-01 21:44:22 CEST; 19h ago
   Main PID: 483 (code=exited, status=0/SUCCESS)
        CPU: 748ms

Sep 01 21:44:22 fedora systemd[1]: Starting Show Plymouth Boot Screen...
Sep 01 21:44:22 fedora systemd[1]: Started Show Plymouth Boot Screen.

and

$ sudo systemctl enable plymouth-start.service
The unit files have no installation config (WantedBy=, RequiredBy=, Also=,
Alias= settings in the [Install] section, and DefaultInstance= for template
units). This means they are not meant to be enabled using systemctl.
 
Possible reasons for having this kind of units are:
• A unit may be statically enabled by being symlinked from another unit's
  .wants/ or .requires/ directory.
• A unit's purpose may be to act as a helper for some other unit which has
  a requirement dependency on it.
• A unit may be started when needed via activation (socket, path, timer,
  D-Bus, udev, scripted systemctl call, ...).
• In case of template units, the unit is meant to be enabled with some
  instance name specified.

I have run the dracut thing, there is no output. Let’s see at next boot

then you have something done wrong [1].

try to copy the /boot/config-5.xy-… to your linux source tree as .config

then as user the kernel build:

make all -j $(nproc)

and when finished, the kernel install:

sudo make modules_install
and
sudo make install
and
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Please adjust the last line if you’re running EFI !

this so build kernel should boot in any case, cause it has the “Fedora-fit-them-all-config” !

Be aware: I’m talking from a non-secure-boot-box here. So maybe there are add. steps needed to boot the kernel with secure boot !

P.S.
with

make xconfig

you could adjust your .config and save it with

make savedefconfig

which creates a file named defconfig

I usually move it out of the kernel source tree to use it next time with another tree this way:

make KCONFIG_ALLCONFIG=…/defconfig alldefconfig

P.S.
standing in the kernel source tree:

make help | more

is your friend.

P.P.S.
to use “make xconfig” you maybe need some devel-libraries installed via:

sudo dnf install xyz-devel-…

[1]
since kernel 5.14 I don’t see the fedora logo during boot… (I haven’t looked into it yet)

@augenauf I followed the suggestion here and added “rhgb quiet” to /etc/default/grub

$ grep "rhgb quiet" /etc/default/grub
GRUB_CMDLINE_LINUX="rhgb quiet"

still no plymouth

@sixpack13 Thank you very much, I was able to build a .rpm out of the kernel, install it, sign the /boot/vmlinuz and was able to boot into it

I used custom-made 5.14, but now after the update it is booting into Fedora-provided 5.13.13 and still no plymouth

After adding that line to /etc/default/grub as in the previous post, I ran

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

(thanks to this answer).

Now I have my plymouth back :slight_smile:

1 Like