The 3.x series linux kernel includes the xen modules. This makes it easier than ever to run the stock Arch Linux kernel on your linode.
I plan to write up a less techie version for the library, but here are the steps.
First, make sure your Arch linux linode is completely up to date!
There are a few recent upgrades that require some intervention so be sure to check out the
www.archlinux.org page - specifically for the initscripts and filesystem package updates.
Your system is up to date when you run pacman -Syu and it says "there is nothing to do".
Code:
$ sudo pacman -Syu
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
:: Starting full system upgrade...
there is nothing to do
Also as you go through and edit the files below it is always a good idea to make a backup copy in case you need to change it back.
Once you are up to date here are the steps to change to running the stock Arch kernel. The commands below are using "sudo" but if you log in as root just remove the "sudo" from them.
1) Install the kernel and grubCode:
sudo pacman -Sy linux grub --noconfirm
2) Add the Xen Modules to the mkinitcpio.conf fileCode:
sudo sed -i 's/MODULES=""/MODULES="xen-blkfront xen-fbfront xenfs xen-netfront xen-kbdfront"/g' /etc/mkinitcpio.conf
If the command above scares you, what you want to do is make sure that the following modules are in the MODULES line of the /etc/mkinitcpio.conf file: xen-blkfront xen-fbfront xenfs xen-netfront xen-kbdfront
You can do that using whatever editor you are comfortable with.
3) Re-create the kernel/initramfsCode:
sudo mkinitcpio -p linux
4) Edit /boot/grub/menu.lst so that the (0) Arch Linux entry matches the following:(pay close attention to the root (hd0) - by default it is (hd0,0) and this will fail)
Code:
# (0) Arch Linux
title Arch Linux [/boot/vmlinuz-linux]
root (hd0)
kernel /boot/vmlinuz-linux root=/dev/xvda ro
initrd /boot/initramfs-linux.img
5) Edit the /etc/fstab (see the note above about backing up files!) to match the below:Code:
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/xvda / ext3 defaults,noatime,barrier=0 0 1
/dev/xvdb swap swap defaults 0 0
xen /proc/xen xenfs defaults 0 0
devpts /dev/pts devpts defaults 0 0
*** Pay close attention to the /dev/xvda line - if you leave the errors=remount-ro in there your system will be read-only
6) Update the kernel in Linode Control Panel to be pv-grub
Go to your Linode's dashboard and edit the Configuration Profile of the Linode, selecting the right "pv-grub" 32/64 bit for your linode.
See the Library article on pv grub for more info.
7) reboot (via control panel)
8) login and test
If you have trouble, change the configuration profile back and/or access the console.
You can always clone your Linode and try this on the clone first.