I apparently screwed up my Arch Linux system by inadvertently updating the kernel, but not the boot partition. So, for example:
pacman -Q linux -> results in 4.20.arch1-1 uname -a -> results in 4.19.4-arch1-1-ARCH
I am not sure exactly how this could be. If I look in my /boot directory, it has the three files initramfs-linux-fallback.img, initramfs-linux.img and vmlinuz-linux and the first two of these were recently updated and the last is dated when I installed the system several weeks ago. So, what exactly is out of sync? My vmlinuz-linux is out of sync with my kernel in the root partition?
The result of this is that the kernel is no longer finding my network device for some reason. I am not sure how this happened, the only command that I did that seems relevant was:
sudo pacman -Syu
I thought this command was only supposed to update the package database, not change the kernel.
In any case, my problem now is how to resync the boot partition so that it matches the kernel, or at least make things so that the network device module is being found and loaded, which apparently it is not any more.
My system is set up to boot directly from the motherboard (no intermediate boot loader). However, when I give this command:
# efibootmgr --verbose
I get the result "command not found". Do I need to be in the live boot environment to use this command? How can untangle this mess and get my system synchronized again? Also, how can I avoid this happening in the future? I mean I plan to add a lot of packages, and it will be problematic if the system is updating the kernel and messing up my system every time I add a new package.