Kernel Changes for 2.6.14.3

Hey everyone,

Note: This stuff only applies to people using the stock Arch 2.6 kernel. Custom kernel users can ignore it.

The 2.6.14.3 kernel will be moving into Current real soon now, and there are some changes in it.

Most of you are already aware of this, but for those that aren't: Arch has moved to an initrd-based kernel, which is a more modular approach to booting the kernel. The lower-level modules needed to see your root filesystem (and thus boot the system) have been moved out of the kernel and into modules. When the kernel boots, the initrd will load the necessary modules, mount your root filesystem, and pass control to it so the system can be booted as it normally is.

This means Arch can do a few things it couldn't do before (encrypted root filesystems, for example). It also means we kernel maintainers have an easier job of only managing a single kernel, one that can be customized to all sorts of different hardware configurations.

Now, first things first -- the changes you have to make with this upgrade. For most of you, there is only one change:

You have to add the initrd line to your bootloader's configuration file! If you don't add this line, your system will not boot.

Here's an example. I use GRUB, this was my /boot/grub/menu.lst before upgrade:

# (0) Arch Linux
title  Arch Linux
root   (hd0,0)
kernel /vmlinuz26 root=/dev/hda3 vga=773 ro
To make the kernel use the initrd26.img file I just add the initrd line to the bootloader config file, making sure that it's calling the file from the same path as my vmlinuz26 image.
# (0) Arch Linux
title  Arch Linux
root   (hd0,0)
kernel /vmlinuz26 root=/dev/hda3 vga=773 ro
initrd /initrd26.img
(see the wiki page for a LILO example)

That's it. The initrd is automatically generated with each kernel upgrade, so you don't have to remember to do it each time. There is a configuration file (/etc/mkinitrd.conf) that can be used to tweak the contents of your initrd. The defaults are suitable for all IDE/SCSI/SATA users, but you may want to tweak it further. Read the wiki page to learn about customizing your initrd.

RAID users: You will need to see the wiki page about configuring their root RAID device in /etc/mkinitrd.conf.

- Judd