This page describes how to repair a computer whose kernel panics at boot.
To make troubleshooting easier, ensure that the kernel is not in quiet mode. Remove 'quiet' from the kernel line in GRUB if it is. Upon boot, check the output immediately before the panic and decide whether there is any useful information. There are probably too many causes for a kernel panic to keep well-documented in this wiki. Make sure that your system's configuration in /boot is correct and that none of the computer's hardware is faulty. If you believe the configuration in /boot may be erroneous, try option 1. If you believe the kernel panic is the fault of the panic itself, follow option 2 in order to install an earlier kernel.
==Option 0: Run memtest from the Arch install/rescue CD or another utility. Red entries are bad.
Option 1: Check bootloader configuration
Another possibility is an error in the bootloader's configuration (e.g. /boot/grub/menu.lst). For example, repartitioning hard drives can change partitions' order. GRUB users may recall whether repartitioning has occurred recently and make sure the root and kernel lines match up with the new partitioning scheme. And examine the file for typos and extraneous characters. An extra space, or character in the wrong place will cause a kernel panic.
Option 2: Reinstall kernel
Reinstalling the kernel is probably the best bet when no other major system modifications have taken place recently.
Start from the installation CD
The first step is booting the installation CD. When started, type arch, like you would when installing arch.
Chroot to your normal root
When booted, you are in a minimal but functional live GNU/Linux environment with some basic tools. Now, you have to mount your normal root disk to /mnt.
# mount /dev/sdXY /mnt
If you use a boot partition, don't forget to mount it
# mount /dev/sdXZ /mnt/boot
Newer kernels use an initial ramdisk to set up the kernel environment. When you reinstall a kernel, that initial ramdisk will be regenerated with mkinitcpio. One of mkinitcpio's features is that it does autodetection to find out what kernel modules are required for starting up your computer. For this autodetection to work, /dev, /sys and /proc need to mounted in your chroot:
# mount -t proc none /mnt/proc # mount -t sysfs none /mnt/sys # mount --bind /dev /mnt/dev
Now, we will chroot to this disk:
# chroot /mnt
Roll back to previous kernel version
If you keep your downloaded pacman packages, you now can easily roll back. If you didn't keep them, you have to find a way to get a previous kernel version on your system now.
Let's suppose you keep the previous versions. We will now install the last working one.
# pacman -U /var/cache/pacman/pkg/kernel26-2.6.23.xx-x.pkg.tar.gz
Of course, make sure that you adapt this line to your own kernel version.
Otherwise, check the install CD for a package. For example, the version 2008.06 i686 CD contains addons/core-pkgs/kernel26-184.108.40.206-1-i686.pkg.tar.gz.
Now is the time to reboot and see if the system modifications have stopped the panic. If reverting to an older kernel works, don't forget to check the arch-newspage to check what went wrong with the kernel build.