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.

Eric Ma

Eric is a systems guy. Eric is interested in building high-performance and scalable distributed systems and related technologies. The views or opinions expressed here are solely Eric's own and do not necessarily represent those of any third parties.

17 comments:

  1. 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.

    1. @dnyanesh
      Does X server print any information when you execute startx ? That information may help.

      1. something i can add, when i got the errors (sigerr command not found..) there are these lines who appears in the /var/log/syslog :

        Mar 15 18:25:32 sony-vaio logger: /etc/xen/scripts/network-bridge: Forced to steal lock on /var/run/xen-hotplug/network-bridge from unknown!
        Mar 15 18:25:32 sony-vaio modem-manager: (net/tmpbridge): could not get port’s parent device
        Mar 15 18:25:32 sony-vaio NetworkManager[2464]: SCPlugin-Ifupdown: devices added (path: /sys/devices/virtual/net/tmpbridge, iface: tmpbridge)
        Mar 15 18:25:32 sony-vaio NetworkManager[2464]: SCPlugin-Ifupdown: device added (path: /sys/devices/virtual/net/tmpbridge, iface: tmpbridge): no ifupdown configuration found.
        Mar 15 18:25:32 sony-vaio NetworkManager[2464]: /sys/devices/virtual/net/tmpbridge: couldn’t determine device driver; ignoring…

        1. What about using ‘network’ instead of ‘NetworkManager’ to manage the network:

          chkconfig network on
          chkconfig NetworkManager off

          Actually I always use ‘network’ in our cluster.

          1. tried but chkconfig seems to doesn’t know a lot of service

            root@sony-vaio:[200(0)]~# chkconfig NetworkManager off
            NetworkManager: unknown service
            root@sony-vaio:[200(0)]~# chkconfig network on
            network: unknown service
            root@sony-vaio:[200(0)]~#

            1. ok sorry i posted too fast,

              chkconfig work with :

              chkconfig network-manager off
              chkconfig networking on

              but i don’t have connexion working after switching these two services

              *newbie* with linux, do i need to reconfigure my wireless connexion due to this switching of service ? (sorry again for my english ô_Ô)

              1. There’s no problem. Welcome discussing here ;)

                I see. The service’s name on Debian should be different from the one on Fedora (which I use).

                I think so (set the service again). I am sorry I am not familiar with Debian and can’t give you direct suggestion. You may google and get a method to set up the connection.

                My suggestion is to use ‘eth0’ to do the test first.

                BTW: what physical interface do you use to set up Xen network? You may need to specify the interface in /etc/xen/xend-config.sxp: change the ‘(network-script network-bridge)’ line according to the instruction in this file.

  2. @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

  3. Hi,

    i have the error displayed in this page :

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

    the same problem as describe “Xend conflicts with netplugd” but i don’t have “netplugd” running ô_Ô

    root@sony-vaio:~# chkconfig netplugd off
    netplugd: unknown service
    root@sony-vaio:~#

    does anybody have an idea ?

    If someone could help me… thx

      1. i’m on a debian squeeze :

        guits@sony-vaio:[200(0)]~$ uname -a
        Linux sony-vaio 2.6.32-5-xen-686 #1 SMP Wed Jan 12 07:52:18 UTC 2011 i686 GNU/Linux
        guits@sony-vaio:[200(0)]~$

        do you need any other information ?

        thx you

        1. Thanks.

          You may take a look at ifplugd . It may (just guess) relate to it. You may try disabled ifplugd (if it is enabled) and try again.

  4. it seems ifplugd is not running, (checked with ps faux command)… there is not “ifplugd” that appears in the list

  5. i’m using wlan0 but i think you are right, maybe it is because i’m using Network-Manager which is for a desktop use, the networking service is better for server use.
    I think i should try configuring Xen using networking service and eth0 interface.

    going to try, i’ll tell you if this solution work.

Leave a Reply

Your email address will not be published. Required fields are marked *