Arch Update Woes

The main machine I use for any personal projects is currently a Lenovo Thinkpad X1 Carbon running ArchLinux. I’ve been using this machine for almost exactly 4 years at this point, and although I don’t love it, it’s been a good workhorse for me.

One of the big issues that I’ve run into in the past was that an update sometimes screws the system up. I had a few months where the graphical interface would occasionally freeze, which turned out to be caused by a vulkan driver I’d installed. This took a while to figure out because I’d installed the driver like weeks before the issue cropped up, so initially I thought it was a hardware issue.

Most recently, I did a standard system update, which had some errors along the way. I was using yay as my update tool since it has good AUR support, and even that tool stopped working with an error about not being able to open the libalpm.so.13 shared object file. Additionally, after any update, I generally reboot because some random stuff gets weird: I lose some of my custom keymappings, my key repeat rate resets, docker often stops working. Things like that.

So I reboot and after typing in the password to decrypt the root filesystems, I get:

Please enter passphrase disk Linux LVM (cryptlvm): (no echo)
[  OK  ] Finished Cryptography Setup for cryptlvm.
[  OK  ] Reached target Local Encrypted Volumes.
[  OK  ] Reached target System Initializatoin.
[  OK  ] Reached target Basic System.
[**    ] A start job is running for /dev/MyVolGroup/root (31s / 1min 30s)

Where it then timed out and did not complete the boot/login process.

It turned out that this was caused by a deprecated mkinitcpio hook for sd-lvm2, which I found documented here: https://bugs.archlinux.org/task/69591

I was able to track down this bug by booting off a thumbdrive (luckily I kept really good notes when I set this machine up) and tried to follow some of the steps on the archwiki to set up how the machine boots and got an error when running mkinitcpio -P. A little googling after seeing the error about the unknown hook, I switched the hook name and the machine rebooted fine.

I was a little frustrated and tired when this originally happened, so I ordered a new M3 MacBook Air, which I’m kinda excited to switch to since I’m tired of things breaking and also not having a good email app. Plus I just want my stuff to work and I want a decent keyboard. I love using Linux, and I’m going to miss having a native Docker system, but in the end, the laptop is a tool and it’s best to have the tools work.

My plan for this Thinkpad is to install nixOS which comes with the promise of reproduceable builds, so we’ll see.