Сначала скачаем XenServer. Если будут ставиться линуксовые виртуалки, то качаем поддержку для них. Также понадобится набор загрузчиков ядра Linux, установленный в локальной сети DHCP сервер, у меня эту функцию выполняет ZyXEL P-330W EE. Очень поможет наличие установленного Linux'а. Ну и флэшка, отформатированная FAT32.
- Распаковываем Syslinux. В командной строке, в папке syslinux\win32 выполняем
Х: — буква вашего съемного диска.syslinux.exe X:
Это сделает флэшку загрузочной. - Распаковываем скаченный XenServer на флэшку, файлы из папки boot\isolinux копируем в корень.
- Распаковываем образ поддержки линуксовых гостевых систем XenServer-ххх-linux-cd. Скопируем папку packages.linux на флэшку.
- На флэшке переименуем isolinux.cfg в syslinux.cfg, isolinux.bin в syslinux.bin.
- Теперь нам нужно создать файл ответов. Тут у нас есть пара вариантов. Либо файл будет загружаться откуда-нибудь по сети, либо расположится на флэшке. Для первого случая можно использовать Web сервер в локальной сети. У меня на виртуалке на буке стоит Ubuntu, в ней я поднял Apache. Файл назовем xenserver.xml. URL, по которому он будет скачиваться http://192.168.1.60/xenserver.xml.
Внутри файла будут следующие строки:

Сам файл лежит тут. Про создание файла ответов можно посмотреть тут. Ходят слухи, что параметров, которые можно указать в файле ответов, больше, чем указано в базовой документации. Мне главное было, чтобы после установки я мог по сети достучаться до установленного XenServer'а и авторизоваться на нем. - Теперь нам нужно указать, чтобы установщик узнал, что у нас установка идет с использованием файла ответов и где его можно взять. Для этого внесем небольшое изменение в файл syslinux.cfg. Отредактируем его, чтобы следующие строки:
LABEL install
KERNEL mboot.c32
APPEND /boot/xen.gz dom0_mem=752M com1=115200,8n1 console=com1,vga — /boot/vmlinuz xencons=hvc console=hvc0 console=tty0 — /install.img
выглядели так:
LABEL install
KERNEL mboot.c32
APPEND /boot/xen.gz dom0_mem=752M com1=115200,8n1 console=com1,vga — /boot/vmlinuz xencons=hvc console=hvc0 console=tty0 answerfile=http://192.168.1.60/xenserver.xml install — /install.img - Если мы сейчас попробуем загрузиться с флэшки, то система выругается mboot.c32: not a COM32R image. Поэтому из папки syslinux\com32\mboot (см. п. 1) копируем с заменой файл mboot.c32.
- Теперь все готово к установке, вставляем флэшдиск в сервер, ждем когда закончится установка и пробуем зайти на него, например, с помощью Putty по SSH, указав IP адрес из файла ответов, введя root и пароль из того же файла. Набрав команду xsconsole выполняем донастройку, смену пароля и др.

Вернемся к случаю, когда файл ответов будет находиться на флэшке. После распаковки дистрибутива у нас появится на диске install.img. Он то нам и понадобится, потому что наш файл ответов нужно поместить внутрь этого образа. Воспользуемся установленной Ubuntu, ну или «любым другим» Linux'ом. Распаковку и запаковку образа делал с правами администратора. Чтобы распаковать install.img выполним:
Добавим в к распакованным файлам наш xenserver.xml и обратно упакуем в образ:gunzip -c ./install.img | cpio -i
Положим образ назад на флэшку. В п. 6 мы редактировали syslinux.cfg путем добавления answerfile=http://192.168.1.60/xenserver.xml install. Вместо этой строки укажем answerfile=file:///xenserver.xml install.find . | cpio -o -H newc | gzip > ./install.img

