PARAVIRTUALIZED XEN 4.0 ON X86_32 LUCID 3
Another brief diversion as I figure out how to get the Grub2 menus working on the HP Mini.
USB Keyboard
The Mini 311 has a USB keyboard. Or at least I thought it did. In retrospect, and in checking the output of lsusb and the /sys tree, I can see now that it's not USB at all. I tried loading the ohci and usb_keyboard drivers in grub, which ultimately failed to boot altogether. Then I had the problem of recovering the system, which from the USB stick has always been a bit dicey.
USB Recovery
I found that by booting from the Lucid 10.04 USB image created with the Startup Disk Creator, then from the Advanced Options selecting Free Software Only and Expert Mode I could reliably boot, go through some extra steps, and have it avoid trying to detect the network devices altogether, which is usually where it would fail. This laptop has a Broadcom wireless chipset using the non-free wl driver which probably confuses something in the beta 10.04 image I have. I'll try booting with only the Free Softwary Only option without Expert Mode at some point now that I've narrowed it down.
GRUB2 and the Mini 311
Getting GRUB2 to show a menu turned out to be much simpler since I discovered the keyboard isn't USB at all. It the /etc/default/grub file I commented out the options GRUB_HIDDEN_TIMEOUT and GRUB_HIDDEN_TIMEOUT_QUIET, ran update-grub, and on the reboot the menu displayed and Grub recognized the keyboard and let me select entries, meaning I can now procede with my Xen experiments since I can easily select an image to boot, and I also know how to get the USB startup disk to function without crashing much more reliably.
Booting Xen 4.0.0
After building Xen 4.0.0 from source, and having to install several additional packages, I ended up with a tree of files in the dist/install directory under the source tree. I made a tarball of these, then unpacked it under the root filesystem to install it. This way I could use the manifest from the tar file to remove the files once I create a Debian package for it if I get that far.
I edited /etc/grub.d/40-custom with a menu entry to boot the new Xen, and the file now has the following contents:
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Xen 4.0.0 / Ubuntu 10.04 kernel 2.6.32.22-xen" {
insmod ext2
set root='(hd0,1)'
search --no-floppy --fs-uuid --set 87587474-bbf2-4506-a582-bf378591dc01
multiboot /xen-4.0.0.gz
module /vmlinuz-2.6.32.22
module /initrd-2.6.32.22 root=/dev/mapper/vera-rootfs ro quiet splash
My next task is to try booting it.

