Skip to content

Instantly share code, notes, and snippets.

@robinsmidsrod
Last active March 13, 2020 11:53
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save robinsmidsrod/c1d4df4b2e9425d060ec to your computer and use it in GitHub Desktop.
Save robinsmidsrod/c1d4df4b2e9425d060ec to your computer and use it in GitHub Desktop.
iPXE recipe for booting XenServer without using mboot.c32 or pxelinux.0
  1. Mount the XenServer ISO.

  2. Create a directory in which to place some of the files. Change into that directory.

  3. Assuming the ISO is mounted in /media/cdrom, then do:

    # zcat /media/cdrom/boot/xen.gz > xen
    # zcat /media/cdrom/boot/vmlinuz > vmlinuz
    # cp /media/cdrom/install.img install.img
    
  4. Create a file named xen.ipxe with this content in the same directory:

    #!ipxe
    
    kernel xen dom0_max_vcpus=1-2 dom0_mem=max:752M com1=115200,8n1 console=com1,vga
    module vmlinuz xencons=hvc console=hvc0 console=tty0
    module install.img
    boot
    
  5. Then instruct iPXE to boot from xen.ipxe, e.g. chain http://your.server.address/path/to/xen.ipxe

  6. If you need to customize the boot process then multiboot allows for modules to have cmdline arguments, so add them to the vmlinuz line as needed.

This is based on the instructions from http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/installation.html#pxe_boot_install

@john-clark
Copy link

john-clark commented Oct 14, 2017

zcat /media/cdrom/boot/vmlinuz > vmlinuz

no longer works in 7.2

@enkelprifti98
Copy link

Hi @robinsmidsrod.

I tried doing this on Packet.com by using their custom ipxe option and was not successful. Do you have any idea how to get xcp-ng working on Packet.com?

@robinsmidsrod
Copy link
Author

I tried doing this on Packet.com by using their custom ipxe option and was not successful. Do you have any idea how to get xcp-ng working on Packet.com?

To be honest, I haven't touched Xen for several years, so I just have to say "I don't know".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment