I am having problems getting the Arch cd iso installer (2012.12.01) to load the x86_64 system when trying to create a Xen HVM domU for my 64-bit Debian Squeeze (Xen version 4.0, Linux Kernel 2.6.32) on my Intel i7 processor. I cannot copy the error, but it basically says:
Cannot get hvm parameter 18: -22!
BUG: scheduling while atomic: swapper/1/0/0x000000002
bad: scheduling from the idle thread!
I can load the i686 system as a HVM domU and I can also create a 64-bit Debian HVM domU, so I don’t think it is a Xen, dom0, or configuration problem. I can also create a x86_64 system as a PV domU. For the Arch PV domU I needed to add the Xen kernel modules as outlined at the Arch wiki. My guess is I need to modify the boot option of the cd iso installer (i.e., press tab to edit), but I don’t know what to add. Any ideas?
Last edited by daniel_shub (2012-12-12 10:16:02)
Same thing happened to me while trying to install Arch linux from archlinux-2012.12.01 iso image in a hvm. I tried an older (2012.08.04) image as well, same result.
When i configure the virtual machine with only a single (i.s.o. 8) vcpu, it will boot, install and run fine.
My (working) xen configuration (stops working when vcpus=8 is used):
kernel = '/usr/lib/xen-4.1/boot/hvmloader'
builder = 'hvm'
memory = '1000'
name = 'arch'
disk = [
vif = [ 'mac=aa:00:00:00:00:01, bridge=loc' ]
vfb = [ 'vnc=1,vnclisten=0.0.0.0,vncdisplay=1' ]
pci = [ '0000:05:00.0', '0000:00:1a.0' ]
BTW, on my Xen server i've succesfully run several versions of Debian/Ubuntu/Centos/OpenSuse installations as HVM, with and without PCI passthrough. All of them using their stock 64bit kernels.
Host is running an Ubuntu 12.04.1 LTS installation.
Last edited by hurenkam (2012-12-10 10:21:35)
Your Xen configuration looks similar to mine except for the vcpus = 1 (I was using 4). I will try it with 1 when I get home. It sounds like this is a bug. Do you agree? How did you figure out that it works with vcpus = 1?
Yeah, i do think this is a bug. Could be the (Arch?) Kernel, or just an incompatible setting in combination with Xen.
Setting vcpus=1, is one of the first steps i take in trying to pin-point problems when i see them with a virtual machine, having only 1 cpu by definition already prevents a lot of race conditions.
Yesterday i've been trying to build my own (Arch linux) kernel with a custom setting for CONFIG_PREEMPT_NONE=y i.s.o. CONFIG_PREEMPT=y, but that does not seem to change anything.
I've also tried the linux-lts kernel, but there too, the same problem occurs.
If i can find some time, i'll take a kernel config from another distro and compare it to the arch config. Perhaps it will help find the incopatible setting. Another thing that might be worth trying is to build the kernel without the Arch patches.
Another thing to try, is to use an Arch Xen 4.2 host, but that is going to take some serious effort since i need to setup quite a bit of infrastructure then to get my existing VM's back up.
Last edited by hurenkam (2012-12-11 09:19:29)
Funny thing i just noticed while trying to debug the boot using the information found here:
If I add 'debug' to my linux commandline (as in the Medium debug setting) in grub, the system
will boot fine with 8 vcpus.
(I must add this is the kernel i built with CONFIG_PREEMPT_NONE=y)
Last edited by hurenkam (2012-12-11 11:52:12)
Setting vcpus=1 works. I can both boot the x86_64 iso installer and the resulting domU. The next problem I am having is my network bridge isn't showing up in the domU (again it works in my Debian domU). I added MODULES = "xen-blkfront xen-fbfront xen-netfront xen-kbdfront" as suggested in https://wiki.archlinux.org/index.php/Xen. If I do #ip addr I only see a loopback device. Any ideas?
If I do #ip addr I only see a loopback device.
You won't see a device in the output of ip addr unless the device has been configured. Try ip link instead.
But whether the Constitution really be one thing, or another, this much is certain - that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist.
network doesn't automatically come up in Arch linux, i had to run 'dhcpcd eth0' first
Yup, I just wasn't trying hard enough ... thanks for the help.
I reported the vcpus issue as a bug
Last edited by daniel_shub (2012-12-12 10:31:47)