[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-users] Xen 4.0.1 rc3 pre install problem

  • From: Bruce Edge <bruce.edge@xxxxxxxxx>
  • Date: Thu, 24 Jun 2010 14:07:58 -0700
  • Cc: "xen-users@xxxxxxxxxxxxxxxxxxx" <xen-users@xxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Thu, 24 Jun 2010 14:09:15 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:cc :content-type; b=k4Ia1yk40Sdzfg/q30APSWmSfQB8GhjVYAf9vcvDUH8bvfOt8RAATXWDR2plLNcDws AXMpuroV6G2i6YXEtUWTdnw2U63V3M4gIdtL+Vw0OyE0V+DvkRGpvu/rt6VKb+dbbH8w iZYDKu9dCTL+IiXW1gEhCb8RQCcTA8zl12+ns=
  • List-id: Xen user discussion <xen-users.lists.xensource.com>

The remakeXenKernel.sh script from virtualusr is pretty damn cool, but it uses the kernel's built int support for deb packaging which doesn't do the initrd stuff in the postinst like the make-kpkg built kernel images do.

The attached patch fixes it so that it builds the kernel image the ubuntu way and creates the initrd and does the grub stuff at install time.

Here's link for the original script bundle:


On Wed, Jun 23, 2010 at 7:51 AM, Boris Derzhavets <bderzhavets@xxxxxxxxx> wrote:

I have limited experience with packaging above.
With xen-4.0_4.0.1rc3-0ubuntu1.diff.gz   xend should start without clean up.

--- On Mon, 6/21/10, Bruce Edge <bruce.edge@xxxxxxxxx> wrote:

From: Bruce Edge <bruce.edge@xxxxxxxxx>
Subject: Re: [Xen-users] Xen 4.0.1 rc3 pre install problem
To: "Debasish Bose" <dbose@xxxxxxxxx>
Cc: "xen-users@xxxxxxxxxxxxxxxxxxx" <xen-users@xxxxxxxxxxxxxxxxxxx>
Date: Monday, June 21, 2010, 12:23 PM

This may or may not address your problem but it worked for Ubuntu systems with a similar requirement, build once and distribute.

Apply the attached patch (not mine) to xen 4.0.1.rc3.pre and then build using:

export KERNELS="" ; export PYTHON_PREFIX_ARG="" ; make dist

This generates a dist dir that puts everything in the right place for Ubuntu systems. I know the sysconfig/default changes apply to debian as well, the ones I'm not sure about are the python lib location move. 

This patch works for 4.0.0 and 4.0.1.rc3.pre, but not 4.1.


On Mon, Jun 21, 2010 at 9:05 AM, Debasish Bose <dbose@xxxxxxxxx> wrote:
          I've successfully ran dom0/domU (both Debian) in my local laptop using dom0 with xen-4.0.1-rc3-pre. Great. Now I want to install it into couple of test-machines without compiling from source. So I did following..

          a. make dist-xen
          b. make dist-tools PYTHON_PREFIX_ARG="--install-layout=deb"
          c. make dist-stubdom

This should pre-pare my dist/ directory with binaries. With the help of top-level /.install.sh I should be able to install it any other machine (same ARCH=x86_64/amd64). I've tar-zipped, copied and inflated. The target machine is a CentOS 64-bit machine whereas the build machine (my laptop) is a Debian/Ubuntu 10.04 64 bit one. After installation, my xend started, bridge-magic happened, `brctl -show` is fine, xm info / xm list is fine, ls /dev/xen is fine (evtchn,gntdev) too. But when I'm trying
to run a domU (using a working domU-xmexample-config) it has some problem with tap driver config and complains

     "ValueError: need more than 1 value to unpack"


File "/usr/lib/python2.6/dist-packages/xen/xend/XendConfig.py", line 342, in __init__
 File "/usr/lib/python2.6/dist-packages/xen/xend/XendConfig.py", line 857, in _sxp_to_xapi
   cfg = self._parse_sxp(sxp_cfg)
 File "/usr/lib/python2.6/dist-packages/xen/xend/XendConfig.py", line 720, in _parse_sxp
   self.device_add(dev_type, cfg_sxp = config, target = cfg)
 File "/usr/lib/python2.6/dist-packages/xen/xend/XendConfig.py", line 1448, in device_add
   ret_uuid = self.device_duplicate_check(dev_type, dev_info, target, config)
 File "/usr/lib/python2.6/dist-packages/xen/xend/XendConfig.py", line 1237, in device_duplicate_check
   blkdev_file = blkdev_uname_to_file(dev_uname)
 File "/usr/lib/python2.6/dist-packages/xen/util/blkif.py", line 95, in blkdev_uname_to_file
   return _parse_uname(uname)[0]
 File "/usr/lib/python2.6/dist-packages/xen/util/blkif.py", line 90, in _parse_uname
   (taptype, fn) = fn.split(":", 2)[1:3]
ValueError: need more than 1 value to unpack

in xmexample config,

kernel = "/vm/tmp/vmlinuz-"
ramdisk = "/vm/tmp/initrd.img-"
memory = 256
name = "debdomU"
vif = [ 'mac=6A:60:41:4A:60:41,ip=,bridge=eth1' ]
disk = [ "tap:aio:/vm/tmp/core.img,xvda1,w" , "tap:aio:/vm/tmp/swap.img,xvda2,w" ]
hostname= "dbose-domU"
root="/dev/xvda1 ro"
extra = "3 console=hvc0"

vmlinuz/initrd/core.img/swap.img are made on Ubuntu and just copied over.

The same config worked earlier on a ubuntu-dom0/ubuntu-domU setup. Is this something to do with CentOS-dom0/Ubuntu-domU? Is copying binaries (pyc) built in Ubuntu wrong? Then how even xend/xendomains got started? If xend started with same python tool chain, what's wrong with domU booting up?

Please help me guys. Should I re-compile?

Xen-users mailing list

-----Inline Attachment Follows-----

Xen-users mailing list

Attachment: remakeXenKernel-ubuntu-way.diff
Description: Text Data

Xen-users mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.