Skip to main content

Install - Network

Requirements

The PXE server requires a Dynamic Host Configuration Protocol (DHCP) server to provide IP addresses to the PXE-booting systems, and either an NFS, FTP, or an HTTP server to house the installation files. Files can all co-exist on the same server, or be distributed on different servers on the network. Each XCP host needs a PXE boot-enabled Ethernet card.

TFTP setup:  For tips on installing a TFTP server see Tech Notes.

A copy of the extracted ISO file should be accessible by the host via http. This path could also be used for rolling pool upgrades. See Tech notes for additional steps and features for configuring local repositories.

PXELinux

Add an XCP entry into pxelinux.cfg/default

LABEL xcp
MENU LABEL XCP-ng
KERNEL mboot.c32
APPEND xcp/xen.gz dom0_max_vcpus=1-2 dom0_mem=1024M,max:1024M com1=115200,8n1 console=com1,vga --- xcp/vmlinuz xencons=hvc console=hvc0 console=tty0 install --- xcp/install.img

Copy the files mboot.c32 from /usr/lib/syslinux to the /var/lib//tftboot directory.

Copy the files install.img, vmlinuz*, and all files in the boot directory from the installation CD to /var/lib/tftpboot/xcp.

The xcp directory should look simalar to this:

xcp/					<- Most of these files come from /boot on the .iso
├── efiboot.img
├── gcdx64.efi
├── grubx64.efi
├── install.img			<- This is /install.img on the .iso
├── isolinux
│   ├── boot.cat
│   ├── isolinux.bin
│   ├── isolinux.cfg
│   ├── mboot.c32		<- From /boot/pxelinux on the iso
│   ├── memtest			
│   ├── menu.c32		<- From /boot/pxelinux on the iso
│   ├── pg_help
│   ├── pg_main
│   └── splash.lss
├── vmlinuz
└── xen.gz
Answer files

The Answerfile documentation is lacking at the Citrix website. Somethings you'll just have to experiment with.

A simple Answerfile.

<?xml version="1.0"?>
<installation>
    <keymap>en-us</keymap>
    <primary-disk>sda</primary-disk>
    <guest-disk>sdb</guest-disk>
    <root-password>StrongPassword</root-password>
    <source type="url">http://fqdn-or-ip/xcp/76/</source>
    <admin-interface name="eth0" proto="dhcp" />
    <timezone>America/New_York</timezone>
</installation>