XenServer 6.2: Booting and installing from USB
Preparing the USB stick⌗
The first step was to prepare a USB-stick with the XenServer 6.2 ISO downloaded from http://www.xenserver.org. Since my workstation runs Linux, I initially tried using dd
, but my server refused to boot from the USB stick.
After trying virtually every guide on the Internet, I could finally put something together that worked.
On my home computer I run Arch Linux, some paths in the commands below might have to be adapted for your system (most probably the /usr/lib/syslinux/bios
paths). Throughout the commands /dev/sdX
is the USB stick. Make sure you choose the correct path!
First of all, to be able to transfer the ISO-image to the USB-stick it is important that the USB stick:
- Has a MBR partition table.
- Has a single FAT32 partition.
- Has the the boot-flag set on the first partition.
I fixed the requirements above using gparted
.
First, let’s install syslinux on the USB stick.
# syslinux -i /dev/sdX1
# dd conv=notrunc bs=440 count=1 if=/usr/lib/syslinux/bios/mbr.bin of=/dev/sdX
Now, mount the USB stick’s partition, and also mount the XenServer 6.2 ISO.
# mount /dev/sdX1 /path/to/usb
# mount -o loop /path/to/XenServer-6.2.0-install-cd.iso /path/to/isomount
Copy all files from the XenServer ISO to the USB stick. Also rename the original CD/DVD-bootloaders config files such that syslinux can read them.
# cp -R /path/to/isomount/* /path/to/usb/
# cd /path/to/usb
# mv boot/isolinux boot/syslinux
# mv boot/syslinux/isolinux.cfg boot/syslinux/syslinux.cfg
Since the .c32-files on the XenServer ISO is made for ISOLinux, they have to be replaced by our own syslinux modules, otherwise the USB will not boot. I copied every possible .c32
file because I was lazy.
# cp /usr/lib/syslinux/bios/*.c32 boot/syslinux/
After unmounting the drive, the stick could finally be used to boot the XenServer installation.