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:
-Bruce
On Wed, Jun 23, 2010 at 7:51 AM, Boris Derzhavets <bderzhavets@xxxxxxxxx> wrote:
http://bderzhavets.wordpress.com/2010/06/17/hackery-xen-4-0-1-rc2-source-kernels-packaged-for-ubuntu-lucid-virtualusr-site/
I have limited experience with packaging above. With xen-4.0_4.0.1rc3-0ubuntu1.diff.gz xend should start without clean up. Boris.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 PMThis 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.
-Bruce
On Mon, Jun 21, 2010 at 9:05 AM, Debasish Bose <dbose@xxxxxxxxx> wrote:
Guys,
I've successfully ran dom0/domU (both Debian) in my local laptop using 2.6.32.15 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"
/var/log/xen/xend.log
File "/usr/lib/python2.6/dist-packages/xen/xend/XendConfig.py", line 342, in __init__
self._sxp_to_xapi(sxp_obj)
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-2.6.32.15-domU-deb"
ramdisk = "/vm/tmp/initrd.img-2.6.32.15-domU-deb"
memory = 256
name = "debdomU"
vif = [ 'mac=6A:60:41:4A:60:41,ip=172.16.30.201,bridge=eth1' ]
disk = [ "tap:aio:/vm/tmp/core.img,xvda1,w" , "tap:aio:/vm/tmp/swap.img,xvda2,w" ]
dhcp="dhcp"
netmask="255.255.255.0"
gateway="172.16.30.10"
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?
-Thanks
Deb
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users
-----Inline Attachment Follows----- |
remakeXenKernel-ubuntu-way.diff
Description: Text Data
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users
|