From c602b86503f489ee6a30bfa8bcea17ec0f10dd95 Mon Sep 17 00:00:00 2001 From: Antony Messerli Date: Wed, 27 Jan 2016 13:40:32 -0600 Subject: [PATCH] Support for Citrix XenServer 6.5 Creedence and Dundee --- README.md | 4 ++++ docs/index.md | 4 ++++ src/hypervisor.ipxe | 22 ++++++++++++++++++++++ src/menu.ipxe | 5 +++-- src/xenserver.ipxe | 42 ++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 src/hypervisor.ipxe create mode 100644 src/xenserver.ipxe diff --git a/README.md b/README.md index cea52c62..9f76d0a3 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,10 @@ Full documentation is at ReadTheDocs: * [TinyCoreLinux](http://distro.ibiblio.org/tinycorelinux/) * [Ubuntu](http://www.ubuntu.com/) +#### Hypervisors + +* [Citrix XenServer](http://xenserver.org) + #### Utilities * [AVG Rescue CD](http://www.avg.com/us-en/avg-rescue-cd) diff --git a/docs/index.md b/docs/index.md index a83ba5ad..72305ea7 100644 --- a/docs/index.md +++ b/docs/index.md @@ -55,6 +55,10 @@ You'll need to make sure to have [DOWNLOAD_PROTO_HTTPS](https://github.com/ipxe/ * [TinyCoreLinux](http://distro.ibiblio.org/tinycorelinux/) * [Ubuntu](http://www.ubuntu.com/) +#### Hypervisors + +* [Citrix XenServer](http://xenserver.org) + #### Utilities * [AVG Rescue CD](http://www.avg.com/us-en/avg-rescue-cd) diff --git a/src/hypervisor.ipxe b/src/hypervisor.ipxe new file mode 100644 index 00000000..42256a5e --- /dev/null +++ b/src/hypervisor.ipxe @@ -0,0 +1,22 @@ +#!ipxe + +goto ${menu} || + +:hypervisor_menu +menu Hypervisor Installers - [ ${arch} ] +item --gap Citrix XenServer +item xenserver ${space} Citrix XenServer +choose menu || goto hypervisor_exit + +echo ${cls} +goto ${menu} || +chain ${menu}.ipxe || goto error +goto hypervisor_exit + +:hypervisor_exit +clear menu +exit 0 + +:xenserver +chain xenserver.ipxe +goto hypervisor_menu diff --git a/src/menu.ipxe b/src/menu.ipxe index f8166263..ccccbc71 100644 --- a/src/menu.ipxe +++ b/src/menu.ipxe @@ -31,6 +31,7 @@ item --gap Installers: item linux ${space} Linux Installers item bsd ${space} BSD Installers item freedos ${space} FreeDOS Installers +item hypervisor ${space} Hypervisor Installers item --gap Tools: item utils ${space} Utilities item shell ${space} iPXE shell @@ -100,8 +101,8 @@ goto main_menu chain freedos.ipxe goto main_menu -:hypervisors -chain hypervisors.ipxe +:hypervisor +chain hypervisor.ipxe goto main_menu :utils diff --git a/src/xenserver.ipxe b/src/xenserver.ipxe new file mode 100644 index 00000000..ae5e57c8 --- /dev/null +++ b/src/xenserver.ipxe @@ -0,0 +1,42 @@ +#!ipxe + +# Citrix XenServer Hypervisor +# http://xenserver.org + +goto ${menu} || + +:xenserver +clear osversion +set os Citrix XenServer +menu ${os} +item --gap Stable Releases +item 6.5.0 ${space} ${os} 6.5 (creedence) +item --gap Test Releases +item dundee/beta2 ${space} ${os} Beta 2 (dundee) +item dundee/beta1 ${space} ${os} Beta 1 (dundee) +choose xs_version || goto hypervisor_menu +goto determine_type + +:determine_type +set xs_mirror downloadns.citrix.com.edgesuite.net/11419/pxe +set xs_type release/${xs_version} +iseq ${xs_version} dundee/beta2 && set xs_type prerelease/${xs_version} || +iseq ${xs_version} dundee/beta1 && set xs_type prerelease/${xs_version} || +goto boot_xs + +:boot_xs +imgfree +echo When prompted for the repo to install from, +echo choose http and use the following repo: +echo +echo http://${xs_mirror}/${xs_type} +echo +kernel http://${xs_mirror}/${xs_type}/boot/xen dom0_max_vcpus=1-2 dom0_mem=752M,max:752M com1=115200,8n1 console=com1,vga +module http://${xs_mirror}/${xs_type}/boot/vmlinuz xencons=hvc console=hvc0 console=tty0 install +module http://${xs_mirror}/${xs_type}/install.img +boot +goto hypervisor_menu + +:hypervisor_menu +clear menu +exit 0