Can't boot XZ compressed kernels in domU

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’][/CODE]

Working kernel+initrd

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

[COLOR="#B22222"]Not working kernel+initrd[/COLOR]

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:

# 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

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:

[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/Kernel.org_Linux_on_Xen:

[QUOTE]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.
[/QUOTE]

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

Hi Lennart,

I’m having this checked and will report back as soon as possible.

Regards,
Jens

Hi Lennart,

this issue would severely benefit from running it through the official channels - are you in a position to open a service request with SUSE and send me (via PM) the SR number?

Best regards,
Jens