🚑 What broke
-
Sudden power-loss left the system in an inconsistent state. (while
/roota
was being modified)- First boot stopped in BusyBox with
ALERT! UUID=255a5309-… does not exist
initramfs
could not see the NVMe root partition.initramfs
is “initial RAM-file-system”. It runs as the very first userspace code that the kernel starts—before your real root disk is mounted.- It’s a tiny, compressed cpio archive (usually /boot/initrd.img-…) unpacked directly into RAM. It contains a minimal Linux userland (BusyBox), essential kernel modules, and scripts in /init.
- Functionalities:
- Loads drivers for storage, USB, encryption, LVM, etc.
- Locates and mounts the real root filesystem by UUID/label.
- Switches the kernel’s root from the RAM disk to your SSD/NVMe.
- Hands control to
/sbin/init (systemd)
.
- How
initramfs
is built:update-initramfs
gathers drivers listed in/etc/initramfs-tools/modules
, plus whatmkinitramfs
can auto-detect, then packs them into one file per installed kernel.
- First boot stopped in BusyBox with
- Solution:
- Booted Live-USB, ran
blkid
, confirmedroot = /dev/nvme0n1p2
with correct UUID. - Ran
fsck.ext4 -yf /dev/nvme0n1p2
.fsck
= File System Check.ext4
partitions the helper binary isfsck.ext4
-
Chrooted into the install and forced modules into
initramfs
:1
nvme nvme_core usbhid hid_generic xhci_pci xhci_hcd.
- Added
rootdelay=10
temporarily to grub?- grub is a bootloader. A bootloader takes care of getting the operating system started up. It is also responsible for allowing the user to select between multiple operating systems at boot
-
Normally, we need to use the keyboard in BusyBox to type recovery commands. However, it was dead. It turned out that system76 computers need to follow this official guide. When running as root through
chroot
``` apt install –reinstall linux-image-generic linux-headers-generic update-initramfs -c -k all update-grub exit
- Booted Live-USB, ran
- After we fixed storage detection, Ubuntu reached the purple GNOME “Oh no!” screen
gnome-shell
orGDM
crashed because the NVIDIA kernel module and user libraries were mismatched.- Re-installing the Nvidia driver gave a blue background with a blinking cursor—GDM started but never showed the greeter.
- Purged every old NVIDIA package & module (
apt purge '^nvidia-.*', modprobe -r …
) - Re-installed one clean version (
sudo ubuntu-drivers autoinstall
→ driver 570). - Enrolled MOK for Secure Boot.
- MOK (Machine Owner Key) is a personal signing key you enroll so Secure Boot will allow third-party kernel modules like the NVIDIA driver.
- One can use
nvidia-smi
to verify that the nvidia driver is successfully installed
- Purged every old NVIDIA package & module (
- Re-installing the Nvidia driver gave a blue background with a blinking cursor—GDM started but never showed the greeter.
-
With LightDM in place the greeter appeared, but logging in looped straight back because of stale caches / permissions in $HOME.
- Booted with
systemd.unit=multi-user.target
(at Grub modification page. Get into it by pressing<F8>
) to guarantee a console. - Installed and activated LightDM:
apt install lightdm; systemctl disable gdm3; systemctl enable lightdm
.- LightDM and GDM (system default) are Display manager
- LightDM is a quick life-raft when GDM / Wayland misbehave—you can keep it installed as a fallback.
- Booted with
- Fix login loop
- Freed / checked space, ensured / and
$HOME
were read-write. - Re-owned files:
sudo chown -R $USER:$USER $HOME
. - Reset GNOME caches:
mv ~/.cache ~/.cache.bak, mv ~/.config/dconf ~/.config/dconf.bak
, etc. - Completed pending upgrades:
apt full-upgrade
.
- Freed / checked space, ensured / and
- Confirm desktop
- Logged in via LightDM on Xorg → desktop works.
- Optional future step: reinstall/enable GDM once everything is stable.