Okay, I just did an Oopsie Woopsie by ignoring the icu
package in /etc/pacman.conf
because it blocked garuda-upgrade
. Can’t be that important, right? (I should know better!)
Was trying to update my system for more than a week.
garuda-update
did not update because electron-22/23
something had a dependency to icu 7.4
but everything else wanted icu 7.5
. (it was rocketchat and balena etcher package that depended on electron-22/23 debs).
Being stressed by work and life itself, my brain tells me, just ignore it and update, can’t be that important.
Update, a bunch of yellow text, ahhhh just warnings, who cares! I have snapshots anyway if something goes wrong.
Reboot. . . .
Ramdisk (initramfs) loading forever . . .
Snapshots??? From 2023 because I’ve bricked everything else.
Fallback initramfs? All not loading.
PANIC! Take a break, deep breath.
OK, boot from USB Garuda Linux.
Use the provided tools for restore and chroot
. . . oh no, my system is encrypted I can’t use the tools since the tools doesn’t see the btrfs
volumes.
Ehhhhh manual it is.
First decrypt my stuff:
cryptsetup open /dev/nvme0n1p2 cryptlvm
Mount the root
and home
mount -o subvol=@ /dev/mapper/cryptlvm /mnt
mount -o subvol=@home /dev/mapper/cryptlvm /mnt/home
Chroot:
arch-chroot /mnt
Okay lets upgrade icu
via pacman . . . HAHA, NO! pacman
is bricked as well since it depends on icu 7.5
.
Okaaaaayyyyyy need to manually fix icu 7.5
by following pacman - ArchWiki, getting icu 7.5
manually from Arch Linux - icu 75.1-1 (x86_64)
Following the guide - THIS MAY BRICK YOUR SYSTEM EVEN FURTHER!:
YOU HAVE BEEN WARNED
tar -xvpwf icu-75.1-1-x86_64.pkg.tar.zst -C / --exclude .PKGINFO --exclude .INSTALL --exclude .MTREE --exclude .BUILDINFO
Manually confirm every step with hitting y
and ENTER
.
pacman
works again! Upgrade. . . ehhh icu
cant be upgraded because files partially already exist by the manual fix. . .
Force the override:
pacman -Syyu --overwrite "*"
System updated! Reboot? initramfs
still stuck? Ah yes! Need to mkinitpico -P
in chroot, I forgot.
Back to live boot, decryption, mounting, chrooting, mkinitpico -P
.
Reboot, everything is working again!
Thanks for reading by little User Story
If the upgrade is blocked by old dependencys, take your time and remove old packages instead of ignoring new ones, especially not icu!