Hello,

i am unable to boot Kernels in domU which are XZ compressed. In my special case i am able to boot debian xen-netboot kernels+initrd from wheezy (stable) where the kernel still ist compressed via gzip, but not debian jessie (testing/RC1) with a xz-compressed kernel.

Here is what i do:

Running dom0
SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 3

xen+xen-tools:

Repository: SUSE-Linux-Enterprise-Server-11-SP3 updates
Name: xen
Version: 4.2.5_02-0.7.1




Minimal domU installer configuration:

Code:
kernel = "/tmp/vmlinuz"
ramdisk = "/tmp/initrd.gz"
extra = "debian-installer/exit/always_halt=true -- quiet console=hvc0"
memory = 1024

name = "lxvm193-177"
vif = ['mac=00:50:56:31:C1:B1,bridge=brintern-nsd']
disk = ['phy:/dev/server/lxvm193-177.xvda,xvda,w']
Working kernel+initrd
Code:
cd /tmp
wget http://cdn.debian.net/debian/dists/wheezy/main/installer-amd64/current/images/netboot/xen/initrd.gz
wget http://cdn.debian.net/debian/dists/wheezy/main/installer-amd64/current/images/netboot/xen/vmlinuz
Not working kernel+initrd
Code:
wget http://cdn.debian.net/debian/dists/jessie/main/installer-amd64/current/images/netboot/xen/initrd.gz
wget http://cdn.debian.net/debian/dists/jessie/main/installer-amd64/current/images/netboot/xen/vmlinuz
I got the following error messages:
Code:
# xm create lxvm193-177 -c
Using config file "/etc/xen/vm/lxvm193-177".
Error: (2, 'Invalid kernel', 'panic: xc_dom_core.c:638: xc_dom_find_loader: no loader found')

/var/log/xen/domain-builder-ng.log
Code:
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: xc_dom_allocate: cmdline="", features=""
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: xc_dom_kernel_file: filename="/tmp/vmlinuz"
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: xc_dom_malloc_filemap    : 3031 kB
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: xc_dom_parse_image: called
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: xc_dom_find_loader: trying ELF-generic loader ... 
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: loader probe failed
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: xc_dom_find_loader: trying Linux bzImage loader ... 
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: xc_try_xz_decode: XZ decompress support unavailable
2015-02-10 12:01:46 CET [20976] xc: error: panic: xc_dom_bzimageloader.c:699: xc_dom_probe_bzimage_kernel unable to XZ decompress kernel: Invalid kernel
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: loader probe failed
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: xc_dom_find_loader: trying multiboot-binary loader ... 
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: loader probe failed
2015-02-10 12:01:46 CET [20976] xc: error: panic: xc_dom_core.c:638: xc_dom_find_loader: no loader found: Invalid kernel
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: xc_dom_release: called
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: xc_dom_allocate: cmdline="", features=""
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: xc_dom_kernel_file: filename="/tmp/vmlinuz"
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: xc_dom_malloc_filemap    : 3031 kB
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: xc_dom_ramdisk_file: filename="/tmp/initrd.gz"
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: xc_dom_malloc_filemap    : 32 MB
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: xc_dom_boot_xen_init: ver 4.2, caps xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64 
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: xc_dom_parse_image: called
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: xc_dom_find_loader: trying ELF-generic loader ... 
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: loader probe failed
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: xc_dom_find_loader: trying Linux bzImage loader ... 
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: xc_try_xz_decode: XZ decompress support unavailable
2015-02-10 12:01:46 CET [20976] xc: error: panic: xc_dom_bzimageloader.c:699: xc_dom_probe_bzimage_kernel unable to XZ decompress kernel: Invalid kernel
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: loader probe failed
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: xc_dom_find_loader: trying multiboot-binary loader ... 
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: loader probe failed
2015-02-10 12:01:46 CET [20976] xc: error: panic: xc_dom_core.c:638: xc_dom_find_loader: no loader found: Invalid kernel
2015-02-10 12:01:46 CET [20976] domainbuilder: detail: xc_dom_release: called

/var/log/xen/xend.log:
Code:
[2015-02-10 12:01:46 20976] DEBUG (XendDomainInfo:103) XendDomainInfo.create(['vm', ['name', 'lxvm193-177'], ['memory', 1024], ['on_xend
_start', 'ignore'], ['on_xend_stop', 'ignore'], ['vcpus', 1], ['oos', 1], ['image', ['linux', ['kernel', '/tmp/vmlinuz'], ['ramdisk', '/
tmp/initrd.gz'], ['videoram', 4], ['tsc_mode', 0], ['nomigrate', 0]]], ['s3_integrity', 1], ['device', ['vbd', ['uname', 'phy:/dev/serve
r/lxvm193-177.xvda'], ['dev', 'xvda'], ['mode', 'w']]], ['device', ['vif', ['bridge', 'brintern-nsd'], ['mac', '00:50:56:31:C1:B1']]]])
[2015-02-10 12:01:46 20976] DEBUG (XendDomainInfo:2620) XendDomainInfo.constructDomain
[2015-02-10 12:01:46 20976] DEBUG (balloon:206) Balloon: 1060192 KiB free; need 16384; done.
[2015-02-10 12:01:46 20976] DEBUG (XendDomain:476) Adding Domain: 47
[2015-02-10 12:01:46 20976] DEBUG (XendDomainInfo:2966) XendDomainInfo.initDomain: 47 256
[2015-02-10 12:01:46 20976] DEBUG (XendDomainInfo:2993) _initDomain:shadow_memory=0x0, memory_static_max=0x40000000, memory_static_min=0
x0.
[2015-02-10 12:01:46 20976] INFO (image:188) buildDomain os=linux dom=47 vcpus=1
[2015-02-10 12:01:46 20976] DEBUG (image:808) domid          = 47
[2015-02-10 12:01:46 20976] DEBUG (image:809) memsize        = 1024
[2015-02-10 12:01:46 20976] DEBUG (image:810) image          = /tmp/vmlinuz
[2015-02-10 12:01:46 20976] DEBUG (image:811) store_evtchn   = 1
[2015-02-10 12:01:46 20976] DEBUG (image:812) console_evtchn = 2
[2015-02-10 12:01:46 20976] DEBUG (image:813) cmdline        = 
[2015-02-10 12:01:46 20976] DEBUG (image:814) ramdisk        = /tmp/initrd.gz
[2015-02-10 12:01:46 20976] DEBUG (image:815) vcpus          = 1
[2015-02-10 12:01:46 20976] DEBUG (image:816) features       = 
[2015-02-10 12:01:46 20976] DEBUG (image:817) flags          = 0
[2015-02-10 12:01:46 20976] DEBUG (image:818) superpages     = 0
[2015-02-10 12:01:46 20976] ERROR (XendDomainInfo:3060) XendDomainInfo.initDomain: exception occurred
Traceback (most recent call last):
  File "/usr/lib64/python2.6/site-packages/xen/xend/XendDomainInfo.py", line 3028, in _initDomain
    channel_details = self.image.createImage()
  File "/usr/lib64/python2.6/site-packages/xen/xend/image.py", line 171, in createImage
    return self.createDomain()
  File "/usr/lib64/python2.6/site-packages/xen/xend/image.py", line 190, in createDomain
    result = self.buildDomain()
  File "/usr/lib64/python2.6/site-packages/xen/xend/image.py", line 1205, in buildDomain
    rc = LinuxImageHandler.buildDomain(self)
  File "/usr/lib64/python2.6/site-packages/xen/xend/image.py", line 832, in buildDomain
    superpages     = self.superpages)
Error: (2, 'Invalid kernel', 'panic: xc_dom_core.c:638: xc_dom_find_loader: no loader found')
[2015-02-10 12:01:46 20976] ERROR (XendDomainInfo:515) VM start failed
Traceback (most recent call last):
  File "/usr/lib64/python2.6/site-packages/xen/xend/XendDomainInfo.py", line 501, in start
    XendTask.log_progress(31, 60, self._initDomain)
  File "/usr/lib64/python2.6/site-packages/xen/xend/XendTask.py", line 209, in log_progress
    retval = func(*args, **kwds)
  File "/usr/lib64/python2.6/site-packages/xen/xend/XendDomainInfo.py", line 3063, in _initDomain
    raise VmError(str(exn))
VmError: (2, 'Invalid kernel', 'panic: xc_dom_core.c:638: xc_dom_find_loader: no loader found')
[2015-02-10 12:01:46 20976] DEBUG (XendDomainInfo:3213) XendDomainInfo.destroy: domid=47
[2015-02-10 12:01:46 20976] DEBUG (XendDomainInfo:2523) Destroying device model
[2015-02-10 12:01:46 20976] DEBUG (XendDomainInfo:2530) Releasing devices
[2015-02-10 12:01:46 20976] ERROR (XendDomainInfo:108) Domain construction failed
Traceback (most recent call last):
  File "/usr/lib64/python2.6/site-packages/xen/xend/XendDomainInfo.py", line 106, in create
    vm.start()
  File "/usr/lib64/python2.6/site-packages/xen/xend/XendDomainInfo.py", line 501, in start
    XendTask.log_progress(31, 60, self._initDomain)
  File "/usr/lib64/python2.6/site-packages/xen/xend/XendTask.py", line 209, in log_progress
    retval = func(*args, **kwds)
  File "/usr/lib64/python2.6/site-packages/xen/xend/XendDomainInfo.py", line 3063, in _initDomain
    raise VmError(str(exn))
VmError: (2, 'Invalid kernel', 'panic: xc_dom_core.c:638: xc_dom_find_loader: no loader found')

At this point i am a bit puzzled, because xen should be able to decompress xz as stated here: http://wiki.xen.org/wiki/Archived/Ke..._Linux_on_Xen:
Xen 3.4.2 and newer versions do have support for BZIP2 and LZMA compressed PV domU/guest kernels, assuming the required bzip2 and lzma (xz) libraries and development headers have been available at the Xen compilation time.
I cannot imagine that the Suse build environment is lacking headers for xz, nor that this feature ist not compiled in by a builld-flag. Does anyone has a clue whats going on here? Am i missing something?

Thanks for any help

Lennart