Dealing with udev-197 and older virtual images at Rackspace

So udev-197 has been released as stable and in portage now. This requires a kernel config change, and if this is not in place, your server will be dead in the water. You will need to enable CONFIG_DEVTMPFS. Normally, this isn't a problem, just build a new kernel and go from there, but I have a few server images at Rackspace running Gentoo-10.1. With these older versions, updating the kernel is not that simple. If you're running Gentoo-12.3, you should be good, since Rackspace now offers kernel control with the new virtual images.

So I have Gentoo-10.1 running, which means I have the following kernel running: 2.6.35.4-rscloud. Pretty old, and everyone is pretty much using this with the 10.1 images. I wrote a procedure on how to get a new kernel so udev will be happy in this environment. Basically, it involves pv-grub, change to fstab and obviously a new kernel:

References:
http://www.rackspace.com/knowledge_center/article/using-a-custom-kernel-with-pv-grub
http://failverse.com/setting-up-pv-grub-cloud-servers/

#### Make a backup image first

emerge -v gentoo-sources grub
cd /usr/src
cp linux/.config .config
rm linux
ln -s linux-3.6.11-gentoo/ linux
cp .config linux/.
cd linux
make oldconfig
make menuconfig
Make sure the LOG is set for netfilter
Make sure DEVTMPFS is set
Processor Type and Features -> Paravirtualized guest support -> "Y"
Hit enter, go to "Xen guest support" -> "Y"

make
make modules_install
cp arch/x86_64/boot/bzImage /boot/bzImage-3.6.11-gentoo-rscloud
cp .config /config-3.6.11-gentoo-rscloud
cd /boot/grub
vi grub.conf

default 0
timeout 5
#splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=bzImage-3.6.11-gentoo-rscloud
root (hd0)
kernel /boot/bzImage-3.6.11-gentoo-rscloud ro console=hvc0 root=/dev/xvda1
initrd /boot/bzImage-3.6.11-gentoo-rscloud

sed -i 's/sda/xvda/' /etc/fstab
vi /etc/fstab
/dev/xvda1 / ext3 defaults,barrier=0 0 1
/dev/xvda2 swap swap defaults,barrier=0 0 0
vi /etc/inittab
h0:12345:respawn:/sbin/agetty 38400 hvc0 linux <= Add this under TERMINALS

#### contact support and request pv-grub install on image #
#### they will reboot and hopefully you'll see the new image via uname -a #


emerge -C module-init-tools
emerge -v udev virtual/udev

#### reboot