Archive for November 23rd, 2011
So, I’ve wiped my test system with the intention of doing a tutorial on installing F16 + Xen. As part of this, I looked into installing a F16 domU with virt-install. When I tried it previously, I ran into this bug, and I ended up having to vnc into the dom0 and use virt-viewer to do the install.
Recently, there was some activity on the bug, centering around using “
rd_NO_PLYMOUTH” to bypass the plymouth boot screen (the progress bar that scrolls across the screen, apparently – though why it’s in the installer I have no clue).
In any case, it seems to work – my revised install command of
virt-install -p -r 1024 -n rawhide -f /dev/domU/rawhide -l http://ftp.jaist.ac.jp/pub/Linux/Fedora/releases/16/Fedora/x86_64/os/ -x "ks=\"http://hydrogen/~kyl191/ks/ks.php?hostname=rawhide\" rd_NO_PLYMOUTH serial" seems to do the trick – it gets into the console, at the very least.
That said, I get a nasty error using the partitioning scheme in my Kickstart file – grub2 wants a BIOS boot partition, a 1MB partition for storing files, and installation fails.
So, either I add the extra partition to the kickstart partitioning stanza, or I pass the installer an extra
nogpt option when installing.
Guess which I chose. The BIOS boot partition makes no sense for Xen, because we’re booting with pygrub – we only care about grub.cfg, not what GRUB files are present or even if the bootloader is installed (which leads me to a question – can we get away with not specifying a bootloader to be installed in anaconda? I imagine not, since that probably means grub2 won’t be installed, but it might be something to look into.)
Though, it does seem to have completely fallen over – pygrub’s not returning any data on a (F14) Xen 4.0.2 system. xm create rawhide.cfg just returns an unhelpful “Error: Boot loader didn’t return any data!”, but trying pygrub directly gives a bit more detail – “RuntimeError: couldn’t find bootloader config file in the image provided.”
Trying with my F16 testbed now…
Also, apparently, radeontool, yum-pluginfastestmirror & ntpdate aren’t present in the F16 repos, so I have to remove them from my Kickstart file.
I’m trying out F16 as a dom0 from the beginning. No upgrades from F15 this time. So far, it’s generally ok.
The install (from the netinstall ISO) was straightforward. Only issue was that F16 strongly recommends that a BIOS boot partition be present. (Read: Requires it unless you pass a
nogpt option to the kernel boot line when installing.) Unlike in the F16 domU, I need grub2 to be working so I can boot, so I added the partition.
However, it’s subject to some strict size limits – between 1-2MB. 1MB is recommended, though I put 2MB and it seems to boot fine. If you try anything larger though, you get this error: (Why it says allowable size between 0MB-2MB is a mystery though. 1MB is the minimum size for all partitions.)
So, other than that install issue, there was nothing of note. Now, in the working system, I did a
yum install xen, and yum pulled down xen & the dependencies and installed them. As part of the install, it also regenerated grub.cfg. So don’t press Ctrl+C even though it looks like yum’s frozen. It isn’t.
One annoyance: The generated file is filled with Xen entries. You can either ignore them, and select Xen 4.1.2, or patch GRUB2 as specified here to get rid of the spurious entries. (No idea when the patched version will go into the repos.)
Next is networking. On my desktop, I have a strange Ethernet driver – it shows up as p34p1. No clue why, and it’s given me no end of trouble, particularly where NetworkManager attempts to seize control despite being specified as “NM_CONTROLLED=NO”.
But that’s neither here nor there. On the testbed, getting networking is trivial, just a matter of creating the bridge definition, and modifying the existing network adapter definition.
In /etc/sysconfig/network-scripts/, the existing file is named ifcfg-<network_adaptor>. (The one other than ifcfg-lo.) In my case, it was
ifcfg-em1. If you have special requirements, I’d recommend Google (which threw up this as the first result, and it seems pretty good), but if you’re using DHCP (if you don’t know what you’re using, chances are you are using DHCP), you just need to add the following to the new file
ifcfg-br0 with your favourite text editor:
DEVICE=br0 TYPE=Bridge BOOTPROTO=dhcp ONBOOT=yes DELAY=0 NM_CONTROLLED=NO
BRIDGE=br0 to your respective network adaptor definition file (i.e.
ifcfg-em1). (With Vim or echo >> file, it doesn’t matter.)
Reboot, and the system seems to be up and running Xen. (Verify with a
I could have sworn I did this a while ago. But I got the error “‘Out of memory’, “xc_dom_boot_mem_init: can’t allocate low memory for domain\n “” when I tried to do a virt-install today.
The problem? I was installing a 64bit domU on a 32bit dom0. Which is a no-no.
Didn’t realise until I found this post on someone else’s blog detailing the error.
Now hopefully I don’t repeat this again…