Fedora 40 fails to boot with kernel 6.9.5

Hello, there are other similar posts for this exact kernel version, but I didn’t want to hijack any of them, so I’m creating a new thread.

When using Fedora 40 + LUKS + Linux 6.9.5, the system never boots. It gets stuck on a black screen and never asks for my disk password. I’m using a Dell Precision 5530 laptop. Full system specs are below:

System:
  Kernel: 6.9.4-200.fc40.x86_64 arch: x86_64 bits: 64 compiler: gcc
    v: 2.41-37.fc40
  Console: pty pts/3 wm: kwin_wayland DM: SDDM Distro: Fedora Linux 40
    (Workstation Edition)
Machine:
  Type: Laptop System: Dell product: Precision 5530 v: N/A serial: <filter>
    Chassis: type: 10 serial: <filter>
  Mobo: Dell model: 0NFGCT v: A00 serial: <filter> part-nu: 087D UEFI: Dell
    v: 1.37.0 date: 04/10/2024
Battery:
  ID-1: BAT0 charge: 49.6 Wh (100.0%) condition: 49.6/56.0 Wh (88.6%)
    volts: 12.6 min: 11.4 model: BYD DELL CP6DF serial: <filter> status: full
CPU:
  Info: 6-core model: Intel Core i7-8850H bits: 64 type: MT MCP
    arch: Coffee Lake rev: A cache: L1: 384 KiB L2: 1.5 MiB L3: 9 MiB
  Speed (MHz): avg: 3332 high: 4201 min/max: 800/4300 cores: 1: 4201 2: 4198
    3: 800 4: 4191 5: 4170 6: 4195 7: 4201 8: 4187 9: 800 10: 4148 11: 4099
    12: 800 bogomips: 62399
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics:
  Device-1: Intel CoffeeLake-H GT2 [UHD Graphics 630] vendor: Dell
    driver: i915 v: kernel arch: Gen-9.5 ports: active: DP-1,eDP-1
    empty: DP-2,DP-3 bus-ID: 00:02.0 chip-ID: 8086:3e9b
  Device-2: NVIDIA GP107GLM [Quadro P1000 Mobile] vendor: Dell
    driver: nouveau v: kernel arch: Pascal pcie: speed: 2.5 GT/s lanes: 16
    bus-ID: 01:00.0 chip-ID: 10de:1cbb temp: 43.0 C
  Device-3: Microdia Integrated_Webcam_HD driver: uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 bus-ID: 1-12:4 chip-ID: 0c45:671d
  Display: server: X.Org v: 24.1 with: Xwayland v: 24.1.0
    compositor: kwin_wayland driver: X: loaded: modesetting unloaded: fbdev,vesa
    dri: iris gpu: i915 display-ID: :0 screens: 1
  Screen-1: 0 s-res: 3840x1290 s-dpi: 96
  Monitor-1: DP-1 pos: primary,bottom-r model: Idek Iiyama PLX2783H
    res: 1920x1080 dpi: 82 diag: 686mm (27")
  Monitor-2: eDP-1 pos: top-left model: Sharp 0x149a res: 1920x1080 dpi: 142
    diag: 395mm (15.5")
  API: EGL v: 1.5 platforms: device: 0 drv: nouveau device: 1 drv: iris
    device: 2 drv: swrast surfaceless: drv: nouveau x11: drv: iris
    inactive: gbm,wayland
  API: OpenGL v: 4.6 compat-v: 4.3 vendor: intel mesa v: 24.1.2 glx-v: 1.4
    direct-render: yes renderer: Mesa Intel UHD Graphics 630 (CFL GT2)
    device-ID: 8086:3e9b
  API: Vulkan v: 1.3.283 surfaces: xcb,xlib device: 0 type: integrated-gpu
    driver: N/A device-ID: 8086:3e9b device: 1 type: cpu driver: N/A
    device-ID: 10005:0000
Audio:
  Device-1: Intel Cannon Lake PCH cAVS vendor: Dell driver: snd_hda_intel
    v: kernel bus-ID: 00:1f.3 chip-ID: 8086:a348
  API: ALSA v: k6.9.4-200.fc40.x86_64 status: kernel-api
  Server-1: PipeWire v: 1.0.7 status: n/a (root, process) with:
    1: pipewire-pulse status: active 2: wireplumber status: active
    3: pipewire-alsa type: plugin 4: pw-jack type: plugin
Network:
  Device-1: Intel Wi-Fi 5 Wireless-AC 9x6x [Thunder Peak] driver: iwlwifi
    v: kernel pcie: speed: 5 GT/s lanes: 1 bus-ID: 3b:00.0 chip-ID: 8086:2526
  IF: wlp59s0 state: up mac: <filter>
  IF-ID-1: docker0 state: down mac: <filter>
Bluetooth:
  Device-1: Intel Wireless-AC 9260 Bluetooth Adapter driver: btusb v: 0.8
    type: USB rev: 2.0 speed: 12 Mb/s lanes: 1 bus-ID: 1-4:2 chip-ID: 8087:0025
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 5.1
    lmp-v: 10
Drives:
  Local Storage: total: 1.14 TiB used: 125.19 GiB (10.7%)
  ID-1: /dev/nvme0n1 vendor: Samsung model: PM981 NVMe 256GB
    size: 238.47 GiB speed: 31.6 Gb/s lanes: 4 serial: <filter> temp: 30.9 C
  ID-2: /dev/sda vendor: Seagate model: ST1000LM049-2GH172 size: 931.51 GiB
    speed: 6.0 Gb/s serial: <filter> temp: 30 C
Partition:
  ID-1: / size: 236.87 GiB used: 124.75 GiB (52.7%) fs: btrfs dev: /dev/dm-0
    mapped: luks-eec05cb2-2978-4e8d-8047-59315b4dbe7b
  ID-2: /boot size: 973.4 MiB used: 394.5 MiB (40.5%) fs: ext4
    dev: /dev/nvme0n1p2
  ID-3: /boot/efi size: 598.8 MiB used: 52.5 MiB (8.8%) fs: vfat
    dev: /dev/nvme0n1p1
  ID-4: /home size: 236.87 GiB used: 124.75 GiB (52.7%) fs: btrfs
    dev: /dev/dm-0 mapped: luks-eec05cb2-2978-4e8d-8047-59315b4dbe7b
Swap:
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) priority: 100
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 56.0 C mobo: 43.0 C gpu: nouveau temp: 43.0 C
  Fan Speeds (rpm): cpu: 2519 fan-2: 2485
Info:
  Memory: total: 32 GiB note: est. available: 30.97 GiB
    used: 10.81 GiB (34.9%) igpu: 64 MiB
  Processes: 362 Power: uptime: 17m wakeups: 0 Init: systemd v: 255
    target: graphical (5) default: graphical
  Packages: pm: flatpak pkgs: 22 Compilers: clang: 18.1.6 gcc: 14.1.1
    Shell: Sudo v: 1.9.15p5 running-in: ptyxis-agent inxi: 3.3.34

Booting in Linux 6.9.4 works just fine, so it’s not a critical issue for now.

This workaround has worked for me and other people here:

  1. Reboot the PC and hold down Shift while booting, this will bring up the GRUB2 boot loader menu.

  2. Press e to edit kernel 6.9.5, find the linux line and add plymouth.enable=0 at the end of it. Then press ctrl+x to boot.

  3. Log in to GNOME.

    Run the following commands in a terminal:

EDIT: Assuming you have installed the nvidia drivers from RPM Fusion.

sudo dnf remove ‘kmod-nvidia-*’
sudo akmods --force

  1. Disable plymouth again and make it permanent until a update fixes this.

sudo nano /etc/default/grub

add

plymouth.enable=0 at the end of line that is beginning with GRUB_CMDLINE_LINUX=

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

  1. Reboot
3 Likes

Or

sudo grubby --update-kernel=ALL --args=plymouth.enable=0

to remove

sudo grubby --update-kernel=ALL --remove-args=plymouth.enable=0

4 Likes

I have to ask since your solution was the only one that worked for me.

It is my understanding that disabling Plymouth is disabling the “fancy graphical” login screen, am I right?

After entering the LUKS password the screen goes black and nothing happens. But if I change TTY I can login and start the WM manually with “startx”.

How do I get to a normal login screen again?

It is my understanding that disabling Plymouth is disabling the “fancy graphical” login screen, am I right?

More details about plymouth: Plymouth - ArchWiki

In my case, with plymouth disabled, I may get a black screen for 3-4 seconds after entering the LUKS password, and then the normal GDM login screen appears. I don’t have to switch to another TTY at all.

I also signed the nvidia kmod because I have secure boot enabled in the BIOS. Here are the instructions:

https://rpmfusion.org/Howto/Secure%20Boot

How do I get to a normal login screen again?

I don’t know about that specifically but maybe someone else will have a suggestion for you

1 Like

I was just thinking that maybe you could temporarily remove the quiet parameter in grub and maybe get relevant information during boot to troubleshoot your problem.

1 Like

Plymouth update broke NVIDIA login with LUKS: 2274770 – Entering encryption passphrase in UEFI VM often fails

1 Like

OK, so I booted the 6.9.5 kernel with plymouth disabled and it still gave me a black screen, so I tried booting with Quiet mode off, and got interesting results.

I get a kernel panic/stack trace rather early in the boot process (5 seconds in), because libsystemd is missing? It’s really weird.

Here’s the full error:

/init: error while loading shared libraries: libsystemd-core-255.7-1.fc40.so: cannot open shared object file: No such file or directory

2 Likes

That file it claims is missing is from the systemd package.
First check if it actually is there with ls -l /usr/lib64/systemd/libsystemd*
If missing it can be restored with dnf reinstall systemd

It also might be an issue with selinux that could prevent reading it and that is usually fixed with sudo touch /.autorelabel followed by a reboot.

1 Like

I’ve done a few more tests:

  • The libsystemd files are here. And that makes sense, since my older kernels boot just fine, otherwise, none of them would be bootable.
  • The SELinux relabel command sadly did not help. I still get a black screen/kernel panic.

But then, it struck me: Why does linux try to load libsystemd before even asking for my LUKS partition password? As far as I’m aware, the files it’s trying to load are on my system partition which is LUKS encrypted. Perhaps there’s an issue there. I might be wrong though, but it feels like it’s skipping the LUKS password part for some reason.

That makes sense as well. if /boot is not encrypted and if it skips unlocking the root partition then it could not read the files there.

Out of curiosity, what does cat /etc/kernel/cmdline return ?