My recent kernel upgrade for my ArchLinux server failed because my
/tmp folder was full and the package manager couldn’t use the
/tmp folder to build the necessary modules and tools. Despite knowing this, I decided to reboot the server anyway and that’s when I saw the dreaded kernel panic message making my server completely unusable. However, I knew my data was still safe on the server, it just couldn’t boot up so I did what any geek would do, I decided to fix it.
Getting it fixed was alot easier than I remmebered. Below are the steps I used to get my kernel up and running again after a failed kernel upgrade.
Boot my server using the Arch Linux ISO.
Once it is booted, I proceeded to mount my disk to a mountpoint. Replace
vda1with your own disk partition.
mount /dev/vda1 /mnt
arch-chrootto gain access to the broken system.
arch-chroot /mnt /bin/bash
My packages don’t get cleared often from the cache so I know the package exists in
/var/cache/pacman/pkgand install it from there. Replace
linux-4.18.8.arch1-1-x86_64.pkg.tar.xzwith the linux kernel you want.
cd /var/cache/pacman/pkg pacman -U linux-4.18.8.arch1-1-x86_64.pkg.tar.xz
And that’s it. Exit the chroot and reboot the system. Remember to unmount the ISO before you start your OS again.
And with this, my server is back up happily serving the universe again. Yay!! :-D
Now, what would you do if you don’t have the linux package on your system. I would download it from
https://www.archlinux.org/packages/core/x86_64/linux/download/ to get the latest kernel and replace the name for step (4).