XenServer 7.1.0 PXE installation

networkingpxe-bootxenserver

As my IBM Blade Center H has known difficulties with booting HS22 Blades from CDROM the best option for me is installation via network. So I'm trying to set up a PXE boot of the XenServer 7.1.0 installation.
I'm following Citrix Installation Guide Appendix C on pages 37ff.

My Blade is booting to a grub console, but not loading the install system. So i guess tftp and dhcp are working fine.

On page 38 the Installation guides says:

Configuring your TFTP Server for UEFI boot

To configure your TFTP server for UEFI boot:

  1. In the /tftpboot directory, create a new directory called EFI/xenserver.
  2. Configure your DHCP server to provide /EFI/xenserver/grubx64.efi as the boot file.
  3. Create grub.cfg file. For example:
     menuentry "XenServer Install (serial)" {
         multiboot2 /EFI/xenserver/xen.gz dom0_mem=1024M,max:1024M watchdog dom0_max_vcpus=4 com1=115200,8n1 console=com1,vga
         module2 /EFI/xenserver/vmlinuz console=hvc0
         module2 /EFI/xenserver/install.img }
  1. Copy grub.cfg file to /tftpboot/EFI/xenserver directory on the TFTP server.

  2. From the XenServer installation media, copy the files grubx64.efi , install.img (from the root directory), vmlinuz
    and xen.gz (from the /boot directory) to the new /tftpboot/EFI/
    xenserver directory on the TFTP server. Note: The following examples
    show how to configure the installer to run on the physical console,
    tty0. To use a different default, ensure that the console you want to
    use is the leftmost.

OK, as there is no grubx64.efi file in the ISO root I took the one from /EFI/xenserver.

And then without anything else follows this piece of config. I don't know what to do with it, so maybe my problem is coming from this:

> default xenserver 
> label xenserver
> kernel mboot.c32  append /tftpboot/EFI/xenserver/xen.gz
> dom0_mem=1024M,max:1024M watchdog dom0_max_vcpus=4 com1=115200,8n1 \ 
> console=com1,vga --- /tftpboot/EFI/xenserver/vmlinuz \  console=hvc0
> console=tty0 \
> --- /tftpboot/EFI/xenserver/install.img

Best Answer

I didn't find a real solution, but:

For some reason the root variable in grub is not set, and so grub doesn't find the config file.

My workaround ist to manually set the variable in grub console and load the config

set root=(tftp,192.168.xxx)
configfile /EFI/xenserver/grub.cfg

Also the grub.cfg needs to be adopted to see the installer on the local Screen:

menuentry "XenServer Install (serial)" {
   multiboot2 /EFI/xenserver/xen.gz dom0_mem=1024M,max:1024M watchdog dom0_max_vcpus=4 com1=115200,8n1 console=com1,vga
   module2 /EFI/xenserver/vmlinuz console=hvc0 console=tty0
   module2 /EFI/xenserver/install.img }