Upgraded udev on a Gentoo Xen guest recently? Easy fix.
Wednesday, January 27, 2010
I guess some time in the last few months, I updated udev on my Gentoo Xen Guest. Normally, this wouldn’t be a problem and it wasn’t since I didn’t need to reboot the system until yesterday. It wouldn’t come back up automatically, so I consoled the domain with xm, and saw this:
* Mounting proc at /proc ... [ ok ] * Mounting sysfs at /sys ... [ ok ] * Your kernel is too old to work with this version of udev. * Current udev only supports Linux kernel 2.6.25 and newer. * Could not create /dev/pts! * Checking root filesystem ...Failed to open the device '/dev/hda2': No such file or directory * Filesystem couldn't be fixed :( [ !! ] Give root password for maintenance (or type Control-D to continue):
Of course I didn’t read the obvious error at first, and started messing around with other things before finally realizing the kernel the Xen domain is booting from is still at version 2.6.18. I had two options:
1) upgrade the domu kernel from xen-sources (>2.6.18-r12 still being masked on this system) and copy it to the xen host for the vm to boot from.
2) downgrade udev and pretend it never happened.
I chose #2, mainly because it’d take less time and work.
In short, here’s what I did:
Note: This is all from root on the Xen Dom0, not the guest machine.. since it wouldn’t boot yet.
root@Dom-0:# mount -t proc none /mnt/gentoo/proc
root@Dom-0:# mount -o bind /dev /mnt/gentoo/dev
root@Dom-0:# chroot /mnt/gentoo /bin/bash
root@Dom-0:# env-update; source /etc/profile; export PS1="(chroot) $PS1"
root@Dom-0:# echo ">=sys-fs/udev-141" >> /etc/portage/package.mask
root@Dom-0:# emerge -avDu udev
And that was it! Started up the gentoo xen domain again, and it booted right up.
Discover and Share
Really good work about this website was done. Keep trying more – thanks!
Comment by Yahoouj — February 23, 2010 @ 12:33 am