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
  • boot via an usb stick? – yagmoth555 Apr 5 '17 at 11:01
  • The whole Media Tray is not working, so USB not possible. – Gerald Zehetner Apr 6 '17 at 11:03

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 }

I had to modify your config to something similar - this is using IPXE. I found this article from Citrix which showed using a ram disk as root. I am a noob when it comes to pxe and ipxe booting and this was the working config for me in the end. I basically saw that the module section in IPXE relates to the --- in pxelinux. Seems like you could set the root in the vmlinuz section of your pxelinux.cfg.

kernel ${base}/XenServer-7.4/boot/xen dom0_max_vcpus=1 dom0_mem=max:1G com1=115200,8n1 console=com1,vga
module ${base}/XenServer-7.4/boot/vmlinuz ramdisk_size=100000 root=dev/ram0 console=hvc0 console=tty0
module  ${base}/XenServer-7.4/install.img
boot || goto failed
goto menu

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.