[Pkg-xen-devel] Bug#493856: xen-utils-3.2-1: i386 Dom0 cannot load Debian 2.6.26 amd64 kernel bzImage

Vincent Danjean vdanjean at debian.org
Tue Aug 5 11:50:55 UTC 2008


Package: xen-utils-3.2-1
Version: 3.2.1-2
Severity: important

  Hi,

  I set the severity to important as it seems that current xen tools
does not allow to load amd64 Debian kernel in DomU.
  I also put the debian-kernel ML in CC as I'm not sure the problem
comes from xen tools or the kernel itself.


  Here is my configuration:
Hypervisor:
  xen-hypervisor-3.2-1-amd64 3.2.1-2 (arch-forced-installed in Dom0)
Dom0:
  current lenny i386
  kernel: custom 2.6.18.8-xen from upstream (Xen) sources
DomU:
  i386, kernel from linux-image-2.6.26-1-xen-686
  => works (using ELF-generic loader)

  i386, kernel from linux-image-2.6.26-1-686-bigmem
  => works (using Linux bzImage loader)

  amd64, kernel from linux-image-2.6.18-5-xen-amd64
  => works (using ELF-generic loader)

  amd64, kernel from linux-image-2.6.26-1-amd64
  => does not work (trying to use Linux bzImage loader)

For the last one, I have in /var/log/xen/domain-builder-ng.log:
xc_dom_allocate: cmdline="root=LABEL=atsina:ROOTFS ro console=hvc0",
features=""
xc_dom_kernel_file: filename="/boot/atsina/vmlinuz-2.6.26-1-amd64"
xc_dom_malloc_filemap    : 1703 kB
xc_dom_ramdisk_file: filename="/boot/atsina/initrd.img-2.6.26-1-amd64"
xc_dom_malloc_filemap    : 6101 kB
xc_dom_boot_xen_init: ver 3.2, caps xen-3.0-x86_64 xen-3.0-x86_32p 
xc_dom_parse_image: called
xc_dom_find_loader: trying ELF-generic loader ... failed
xc_dom_find_loader: trying Linux bzImage loader ... xc_dom_malloc
: 8035 kB
xc_dom_do_gunzip: unzip ok, 0x1a409f -> 0x7d8d00
OK
elf_parse_binary: phdr: paddr=0x200000 memsz=0x2f4000
elf_parse_binary: phdr: paddr=0x4f4000 memsz=0x786e8
elf_parse_binary: phdr: paddr=0x56d000 memsz=0x888
elf_parse_binary: phdr: paddr=0x56e000 memsz=0x100218
elf_parse_binary: memory: 0x200000 -> 0x66e218
elf_xen_note_check: ERROR: Will only load images built for the generic
loader or Linux imagesxc_dom_release: called


Then I patched the error message, changing in file
xen/common/libelf/libelf-dominfo.c the message to:
        elf_err(elf, "%s: ERROR: Will only load images built for the generic "
                "loader or Linux images, not %s (%p), %s (%p).", __FUNCTION__,
                parms->loader, parms->loader, parms->guest_os, parms->guest_os);
I rebuild the packages and reinstalled the new xen-utils-3.2-1
After restarting xend, the last line in the log becomes:
elf_xen_note_check: ERROR: Will only load images built for the generic loader or Linux images, not  (0x84ba144),  (0x84ba114).xc_dom_release: called


So, it seems that current i386 xen-utils-3.2-1 is unable to extract ELF
info from Debian linux kernel amd64 and refuse to boot such kernels in
DomU.
A quick workaround is to use the vmlinux file but this would need to
rebuild a new kernel. The kernel team does not create any xen-amd64
flavor anymore (probably because standard images should be loaded with
the ELF info)

Note: I'm not sure the bug does not come from the linux-image: perhaps
ELF info are not present in the linux-image-2.6.26-1-amd64 package.
Do you know a way to check that ?
If it were the case, this bug should be reassigned to the kernel.


  Best regards
    Vincent


Note: information below does not refer to the xen machine at all.

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.26-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.26-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.26-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash





More information about the Pkg-xen-devel mailing list