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
vda1
with your own disk partition.mount /dev/vda1 /mnt
Now execute
arch-chroot
to 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/pkg
and install it from there. Replacelinux-4.18.8.arch1-1-x86_64.pkg.tar.xz
with 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).
Happy recovering.