[ipxe-devel] Problems with multiboot + kkpxe

Floris Bos bos at je-eigen-domein.nl
Mon Aug 22 15:37:58 UTC 2016


Hi,

I am booting Xenserver with a script among the lines of:

==
#!ipxe

kernel http://myserver/boot/xen dom0_max_vcpus=1-2 
dom0_mem=1024M,max:1024M com1=115200,8n1 console=com1,vga
module http://myserver/boot/vmlinux xencons=hvc console=hvc0 
console=tty0 answerfile=http://myserver/kickstart.php/xenserver install
module http://myserver/install.img
boot
==

This works when using ipxe.kpxe (latest from git)

However I noticed that when using ipxe.kkpxe instead, it does not work 
on all servers, but on one hangs after boot command. The same server 
does boot Linux kernel and Windows wimboot correctly with .kkpxe.
When compiling with "debug=multiboot" the last line printed is: 
MULTIBOOT 0x1dca4 starting execution at 100000


I also noticed that if in x86/image/multiboot.c I swap the lines:

==
     /* Multiboot images may not return and have no callback
      * interface, so shut everything down prior to booting the OS.
      */
     shutdown_boot();

     /* Build memory map after unhiding bootloader memory regions as part of
      * shutting everything down.
      */
     multiboot_build_memmap ( image, &mbinfo, mbmemmap,
                  ( sizeof(mbmemmap) / sizeof(mbmemmap[0]) ) );
==

To:

==
     multiboot_build_memmap ( image, &mbinfo, mbmemmap,
                  ( sizeof(mbmemmap) / sizeof(mbmemmap[0]) ) );
     shutdown_boot();
==

It also does boot correctly with kkpxe on that problem server.

So was wondering if the shutdown routines invoked by shutdown_boot() 
perhaps mark memory regions available in the map, that shouldn't be 
marked available when using kkpxe?
Or if the problem is elsewhere.


Yours sincerely,

Floris Bos




More information about the ipxe-devel mailing list