This post logs the fix for me to the boot issue of Arch Linux after kernel updates.
After some rolling updates, my computer running Arch Linux fails to boot up. It turns out to be pretty hard to lock down the specific update that is causing the problem, since rebooting is done only once several weeks. After trying different things, I finally fixed it using what is described below.
The Error comes after a warning saying “modules.devname not found – ignoring”. Then “ERROR: Unable to find root device” pops out and it drops into a recovery shell, where even the keyboard does not work.
In my case, the kernel gets installed to /boot, so after a kernel update, so until manually updated, mkinitcpio will generate incorrect initramfs files.
If your computer is still on, simply run as root
mkinitcpio -p linux
and the problem will be gone (supposed to be handled automatically by pacman maybe??
However, if you did not realise doing so until the computer fails to boot up like in my case, you will have to boot into a live CD or live USB, chroot into the system, and excute the command above.
Fixing with Chroot
Using chroot is kind of the last resort. To do that, you may follow the following steps: