Problems during Installing Xen Dom0 in Fedora

Here is a list of problem that may occur during installing and configuring Xen Dom0 in Fedora. It is found originally in Fedora systems, but the tips in this post should also be helpful for installing Xen Dom0 on other platforms.

BIOS configuration

If xen stops at:

“I/O virtualization disabled.”

We may need to enable VT and I/O virtualization in BIOS.

These options can be enabled in BIOS:

Intel (R) Virtualization Technology
Intel (R) VT for Directed I/O
Interrupt Remapping
Coherency Support
ATS Support

Limited number of loop devices

The default number of loop device in this kernel is 8. When we are using blkback backed VBDs and we need to have more than 8 virtual machines, we should add more loop devices. You need to use the first method (pass parameter max_loop=32 to vmlinuz) if you use my kernel configuration file.

initramfs related problem

The initramfs image under /root generated by dracut doesn’t work on some servers. If you have the similiar problem, you can try to use image generated by mkinitrd:

1) Generate initrd-2.6.32.13.img using mkinitrd

mkinitrd /boot/initrd-2.6.32.13.img 2.6.32.13

2) Edit entry in /boot/grub/grub.conf

Change

module /initramfs-2.6.32.13.img

to

module /initrd-2.6.32.13.img

drm related problem

On one of our servers that uses radeon card we have experienced problem related to drm. The system crashes after the kernel printing out information about drm. We can add nomodeset option to kernel command line to bypass this problem.

The kernel command line in /boot/grub.conf will change to:

module /vmlinuz-2.6.32.13 ro root=/dev/mapper/VolGroup-LogVol_root nomodeset noiswmd LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us

If Linux kernel can’t boot even nomodeset has been set which may happen when use Intel i915 series hardware, a tricky solution is setting Xen’s vga option to let Xen use gfx console. This method can bypass the drm problem. Just replace “vga=ask” in Xen’s options with:

vga=gfx-1280x1024x32

to use 1280 x 1024 resolution with 32 bit color.

Xen’s graphical video mode codes are different from Linux Kernel’s. This is a list of Xen’s vga option from [1]:

 'vga=<mode-specifier>[,keep]' where <mode-specifier> is one of:

   'vga=ask':
      display a vga menu of available modes

   'vga=text-80x<rows>':
      text mode, where <rows> is one of {25,28,30,34,43,50,60}

   'vga=gfx-<width>x<height>x<depth>':
      graphics mode, e.g., vga=gfx-1024x768x16

   'vga=mode-<mode>:
      specifies a mode as specified in 'vga=ask' menu
      (NB. menu modes are displayed in hex, so mode numbers here must
           be prefixed with '0x' (e.g., 'vga=mode-0x0318'))

 The option 'keep' causes Xen to continue to print to the VGA console even
 after domain 0 starts to boot. The default behaviour is to relinquish
 control of the console to domain 0.

Build kernel on 32bit platform

You first need to enable PAE support if you’re building 32 bit version of the kernel. Xen only supports 32 bit PAE kernels nowadays. Xen kernel build options won’t show up if you don’t enable PAE for 32 bit builds.

You can enable PAE in “Processor type and features -> High Memory Support (64GB) -> PAE (Physical Address Extension) Support”

I can find Xen options after enable PAE on my laptop. I have never run Xen Dom0 on a 32bit kernel. I can’t say whether it is stable. Please try it and I will appreciate it if you share your result with me ;)

The clocksource=jiffies kernel parameter may be needed.

Error message related to ksm

If you get lots error messages generated by ksm, you can disable service ksm and ksmtuned to eliminate these error messages:

# chkconfig ksm off
# chkconfig ksmtuned off

Xend conflicts with netplugd

Xend will report error when netplugd is started. Xend will print out a error message after about one minutes:

/etc/xen/scripts/network-bridge: line 240: "sigerr" command not found.

And the network interface of Linux doesn’t change. The new bridge can’t be started and the physical interface will be change name to pethx.

After disable netplugd, xend can start successfully:

# chkconfig netplugd off

References

[1] http://lists.xensource.com/archives/html/xen-changelog/2007-06/msg00206.html


Update history
Aug. 22, 2010. Add drm tricky and xen video mode; add netplugd caused problem.

Author: Zhiqiang Ma Last updated on: Mar 17, 2011 Posted on: Aug 15, 2010 Views: 1,907
Tags: , , , , ,
Comments on Problems during Installing Xen Dom0 in Fedora | Add Comment
  • @dnyanesh

    Sorry, then I don’t have idea now. I paste my grub configuration of one machine here (it has i915) and hope it may help:

    title Xen 3.4.3 + Xenified Linux 2.6.32.13
    root (hd0,0)
    kernel /xen-3.4.3.gz console=vga vga=gfx-1280x1024x32 noreboot dom0_mem=497664
    module /vmlinuz-2.6.32.13 ro root=/dev/mapper/VolGroup-LogVol_root noiswmd LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us
    module /initrd-2.6.32.13.img

  • I have installed kernel-xen from ma young repository.
    all works fine except it doen’t start my X-window system i.e. Gnome environment.
    While botting i got the above error .linux consoles are working fine only gnome environment is not starting.
    Please help me out to solve this problem.

  • i already all this things,but no succes for me.

    my actual problem is this:

    agpgart-intel 0000:00:00.0: can’t get memory for scratch page
    agpgart-intel 0000:00:00.0: agp_backend_initialize() failed
    agpgart-intel: probe of 0000:00:00.0 failed with error -12
    [drm:drm_fill_in_dev] *ERROR* Cannot initialize the agpgart module.

    how can i solve this

  • @dnyanesh “vga=gfx-1280xx16″ looks not right. You may try “vga=gfx-1280x1024x32″ . Or set it to “vga=ask” and select one from Xen’s menu (one that is not text mode).

  • Hi,

    After booting xen-kernel i got this error:

    Linux agpgart interface v0.103
    agpgart-intel 0000:00:00.0: Intel 945G Chipset
    agpgart-intel 0000:00:00.0: can’t get memory for scratch page
    agpgart-intel 0000:00:00.0: agp_backend_initialize() failed
    agpgart-intel: probe of 0000:00:00.0 failed with error -12
    [drm:drm_fill_in_dev] *ERROR* Cannot initialize the agpgart module.

    I am using Fedora 14 , xen-4.0.1 , 2.6.32.26-174.xendom0.fc12.i686.PAE

    i made changes for drm sa said above , not works for me.

    title Fedora (2.6.32.26-174.2.xendom0.fc12.i686.PAE)
    root (hd0,2)
    kernel /xen.gz vga=gfx-1280xx16 dom0_mem=1024M loglvl=all guest_loglvl=all
    module /vmlinuz-2.6.32.26-174.2.xendom0.fc12.i686.PAE ro root=/dev/mapper/vg_dnyanesh-lv_root rd_LVM_LV=vg_dnyanesh/lv_root rd_LVM_LV=vg_dnyanesh/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us rhgb quiet nomodeset
    module /initramfs-2.6.32.26-174.2.xendom0.fc12.i686.PAE.img

    Please help me.How can i fix this problem.
    Please help me.
    Thank you

Add your comments, share your thoughts

Be nice. Keep it clean. Stay on topic. No spam.