'/lib/modules/4.9.8-1-ARCH' is not a valid kernel module directory
The problem is that I forgot to mount my boot partition to /boot
when I upgraded my entire system, including the Linux kernel. After dealing with some issues with pacman
and PGP keys, I finally ran pacman -S filesystem linux
and I am able to boot off of my HDD. (I'm not sure if filesystem
was required to fix this problem, but it was referenced in other sources.)
Just fyi, I had a similar issue and fixed it with just pacman -S linux
. I don't think filesystem was needed.
I had the same issue and reinstalling with pacman -S linux
did not help. In fact the error appeared when updating linux-aarch64
in the first place because that triggers the post-transaction hook for mkinitcpio
!
The problem in my case was that /etc/mkinitcpio.d/linux-aarch64.preset
was not replaced by the update but a .pacnew
file was installed. So the preset still pointed to the old modules directory. Moving the new preset in place fixed it:
# mv /etc/mkinitcpio.d/linux-aarch64.preset{.pacnew,}
# pacman -S linux-aarch64