[ipxe-devel] XenServer 6.0 PV support request for ipxe

Peter Lannigan peter.lannigan at noaa.gov
Tue May 22 22:47:02 UTC 2012


This is a change request for ipxe to build as a bzImage instead of a
zImage and for xen virtual network interface (netfront) support in ipxe.

I have recently tested ipxe.lkrn with XenServer 6.0 to load a PV RHEL 6
instance and found that the domain builder guts of xen require the newer
bzImage format.  We are slowly switching to VMs on XenServer but have an
extensive pxe build system that we would like to continue to use.  PXE
works with fully virtualized guests (HVMs and Qemu) but not the more
efficient paravirtualized systems.

To test the PV build I did the following

   cp ipxe.lkrn to build server under
http://<server>/<path1>/<path2>/ipxe.lkrn

   setup RHEL 6 VM from Citrix template
        set the boot path to http://<server>/<path1>
        set the VM to NOT start automatically

   changed the kernel and initrd that would be requested with the following
       xe vm-param-set uuid=<vm-uuid>
other-config:install-kernel=<path2>/ipxe.lkrn
       xe vm-param-set uuid=<vm-uuid> other-config:install-ramdisk=None

  edited the /usr/bin/eliloader script used by XenServer to turn on
debugging.
      log_details = True
      # Set this if you want to see verbose logging on both me and my
pygrubs

When I started the VM it failed with "xc_dom_probe_bzimage_kernel: boot
protocol too old (0207): Invalid kernel".  The full syslog entries for
eliloader is below.  (The bold highlights are mine.)  Note that the
loader copies ipxe.lkrn locally to vmlinuz-QxLM_u, which I verified via
md5sum.  Also the domainbuilder part of xen can use ELF-generic and
multiboot-binary formats in addition to the bzImage format in case one
of those makes more sense.

Lastly, the netfront virtual network interface of xen is (partially?)
documented here.
   http://wiki.xensource.com/xenwiki/XenNetFrontBackInterface

Note: If someone knows of another way to get access to our
pxelinux/menu.c32 entries that works with xen PVs let me know.  A
modified ipxe.lkrn seems like the sanest solution I could come up with.

Thanks,
Peter


May 22 16:12:41 nemesis /opt/xensource/libexec/xenguest: 2012-05-22
16:12:41 MDT
[12703] domainbuilder: detail: ### ----- xc domain builder logfile
opened -----
May 22 16:12:41 nemesis /opt/xensource/libexec/xenguest: 2012-05-22
16:12:41 MDT
[12703] domainbuilder: detail: xc_dom_allocate: cmdline="graphical utf8 
method=h
ttp://ksimage.fsl.noaa.gov/pxe-boot/", features=""
May 22 16:12:41 nemesis /opt/xensource/libexec/xenguest: 2012-05-22
16:12:41 MDT [12703] domainbuilder: detail: xc_dom_kernel_file:
filename="/var/run/xend/boot/*vmlinuz-QxLM_u*"
May 22 16:12:41 nemesis /opt/xensource/libexec/xenguest: 2012-05-22
16:12:41 MDT [12703] domainbuilder: detail: xc_dom_malloc_filemap    :
355 kB
May 22 16:12:41 nemesis /opt/xensource/libexec/xenguest: 2012-05-22
16:12:41 MDT [12703] domainbuilder: detail: xc_dom_ramdisk_file:
filename="/var/run/xend/boot/ramdisk-H6wzN4"
May 22 16:12:41 nemesis /opt/xensource/libexec/xenguest: 2012-05-22
16:12:41 MDT [12703] domainbuilder: detail: xc_dom_malloc_filemap    :
27917 kB
May 22 16:12:41 nemesis /opt/xensource/libexec/xenguest: 2012-05-22
16:12:41 MDT [12703] domainbuilder: detail: xc_dom_boot_xen_init: ver
4.1, 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 
May 22 16:12:41 nemesis /opt/xensource/libexec/xenguest: 2012-05-22
16:12:41 MDT [12703] domainbuilder: detail: xc_dom_parse_image: called
May 22 16:12:41 nemesis /opt/xensource/libexec/xenguest: 2012-05-22
16:12:41 MDT [12703] domainbuilder: detail: xc_dom_find_loader:*trying
ELF-generic loader* ... 
May 22 16:12:41 nemesis /opt/xensource/libexec/xenguest: 2012-05-22
16:12:41 MDT [12703] domainbuilder: detail: loader probe failed
May 22 16:12:41 nemesis /opt/xensource/libexec/xenguest: 2012-05-22
16:12:41 MDT [12703] domainbuilder: detail: xc_dom_find_loader: *trying
Linux bzImage loader *... 
May 22 16:12:41 nemesis /opt/xensource/libexec/xenguest: 2012-05-22
16:12:41 MDT [12703] xc: error: panic: xc_dom_bzimageloader.c:563:
*xc_dom_probe_bzimage_kernel: boot protocol too old (0207): Invalid kernel *
May 22 16:12:41 nemesis /opt/xensource/libexec/xenguest: 2012-05-22
16:12:41 MDT [12703] domainbuilder: detail: loader probe failed
May 22 16:12:41 nemesis /opt/xensource/libexec/xenguest: 2012-05-22
16:12:41 MDT [12703] domainbuilder: detail: xc_dom_find_loader: *trying
multiboot-binary loader* ... 
May 22 16:12:41 nemesis /opt/xensource/libexec/xenguest: 2012-05-22
16:12:41 MDT [12703] domainbuilder: detail: loader probe failed
May 22 16:12:41 nemesis /opt/xensource/libexec/xenguest: 2012-05-22
16:12:41 MDT [12703] xc: error: panic: xc_dom_core.c:540:
xc_dom_find_loader: no loader found: Invalid kernel
May 22 16:12:41 nemesis /opt/xensource/libexec/xenguest: 2012-05-22
16:12:41 MDT [12703] domainbuilder: detail: xc_dom_release: called
May 22 16:12:41 nemesis xapi: [error|nemesis|218002|Async.VM.start
R:f95845c19327|xenguesthelper] Received: xc_dom_linux_build 2  panic:
xc_dom_core.c:540: xc_dom_find_loader: no loader\"

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ipxe.org/pipermail/ipxe-devel/attachments/20120522/1dd9bec3/attachment.htm>


More information about the ipxe-devel mailing list