Booting Up
Probably the most common problems on the Rocky machines occur as part of the bootup process after system updates get installed. They come in two types, almost always associated with the NVIDIA driver —
- Black screen on bootup.
- Black on login or no login.
The NVIDIA Conundrum
I have a script in the works with this title. It is a thriller, starring a protagonist trying to uncover the truth behind a series of mysterious blackouts affecting a major city. As they dig deeper, they discover a conspiracy involving the NVIDIA drivers.
There are approximately 1,322,4161 ways to install NVIDIA drivers into a *nix environment. We have chosen to use the rpmfusion-nonfree-updates
repo to make things consistent, and this has been mostly trouble-free during updates.2 Sadly, even with this there are problems sometimes. The most common involve synchroization between kernel headers for the main kernel and the NVIDIA kernel module. What seems to happen is this —
- A new update happens — either the main kernel or the NVIDIA kernel module.
- The NVIDIA kernel module is not rebuilt against the new kernel headers or vice versa.
- The system fails to boot or login properly.
Things to Check
Login Screen
If you make it to the login screen then you’re pretty sure that the kernel module is built and loaded. You can stop your debugging of the ‘kernel module build’ here.
We recently experienced this in the lab. A package update had caused a conflict with the SDDM configuration or an install deleted something important.3 This made it difficult to check, however, sinec trying to login resulted in a repeate-login screen, e.g., we couldn’t get the main window system to come up.4 You can log in ‘behind’ the window system by mashing Ctl-Alt
+F2
or sometimes F1
. When in doubt, add a few other modifer-keys like shift and try other F
keys. Hopefully you’ll soon get -
Rocky Linux 9.4 (Blue Onyx)
Kernel 5.14.0-427.18.1.el9_4.x86_64 on an x86_64
rockybox.magic.rit.edu tty2
rockybox login: _
Password:
Last login: Tue Aug 12 19:41:03 on tty1
[username@rockybox ~]$
From here you can try various steps to troubleshoot the issue.
A simple first step is to just update the system and reboot. To do this —
sudo dnf update -y
sudo dnf upgrade -y
sudo reboot now
Frequently this will get us back to a working state.
By default, Rocky Linux 9 with KDE Plasma uses the “Breeze” SDDM theme for the login screen. If you notice the theme has changed, it may indicate a configuration or package issue. From here you can take the somewhat extreme but reasonable step of installing KDE —
First, check if it is installed correctly:
ls -l /usr/share/sddm/themes
ls -l /usr/share/sddm/themes/breeze || echo "Breeze theme directory missing"
test -f /usr/share/sddm/themes/breeze/Main.qml && echo "Breeze Main.qml present" || echo "Breeze Main.qml missing"
sudo dnf install -y @kde-desktop-environment
If not:
sudo dnf clean metadata
sudo dnf groupinstall -y "KDE Plasma Workspaces"
sudo dnf reinstall -y plasma-workspace plasma-desktop sddm
should get you back to a working state.
All Black
When the display is all-black on reboot, that almost always means a problem with the NVIDIA driver.
In this case, you can try booting into a previous kernel version (if available) from the GRUB menu. This can often resolve the issue temporarily while you investigate further.
GNU GRUB version 2.06
+----------------------------------------------------------------------------+
| Rocky Linux (5.14.0-427.22.1.el9_4.x86_64) |
| Rocky Linux (5.14.0-427.18.1.el9_4.x86_64) |
| Rocky Linux (5.14.0-427.13.1.el9_4.x86_64) |
| Rocky Linux (5.14.0-362.24.1.el9_3.x86_64) |
| Rocky Linux with Linux (recovery mode) 5.14.0-427.22.1.el9_4.x86_64 |
| |
| Windows Boot Manager (on /dev/nvme0n1p1) |
| |
| UEFI Firmware Settings |
+----------------------------------------------------------------------------+
Use the ↑ and ↓ keys to select which entry is highlighted.
Press Enter to boot the selected OS, 'e' to edit the commands before booting,
or 'c' for a command-line.
Automatic boot in 5 seconds...
Footnotes
My current estimate.↩︎
See our setup information for information on how that gets set up.↩︎
Note that this could have been some sort of hackery also — One of the best ways to steal credentials is to simulate or replace the login screen of a machine. You type your password into the fake screen, and it gets sent to the attacker instead of the real login process. The fake login ‘fails’. You think you mistyped it, so you try again an this time it works. But by now you’re compromised. Something might have tried to compromise the default login, failed, and left us with the damaged KDE.↩︎
There are tons of fun problems getting the two different possible window system managers —
X11
, a system dating to the stone and/or ice ages, andWayland
, a modern system designed to make life even more frustrating.↩︎