Initial commit

This commit is contained in:
Antony Messerli 2015-08-30 15:01:09 -05:00
commit da8e7fe0b3
20 changed files with 874 additions and 0 deletions

21
README.md Normal file
View file

@ -0,0 +1,21 @@
## netboot.xyz
### What is netboot.xyz?
netboot.xyz is a collection of iPXE scripts that allow you to rapidly network boot Operating Systems,
Utilities and other tools very easily. It allows you the flexibility of booting installations without
having to go track down and download installation media. It's especially useful for remote access
environments when you don't want to utilize remote attach CD in a Dell DRAC, HP iLO or some other type
of remote tool.
Check out the new netboot.xyz documentation hosted at ReadTheDocs:
* [http://netbootxyz.readthedocs.org/en/latest/](http://netbootxyz.readthedocs.org/en/latest/)
Grab these bootloaders and drop them in Fusion/VirtualBox/DRAC/iLO to get started:
* [ISO](http://netboot.xyz/ipxe/netboot.xyz-main.iso)
* [Floppy/USB](http://netboot.xyz/ipxe/netboot.xyz-main.dsk)
#### Feedback
Feel free to open up an issue on github or contact me at antony@mes.ser.li

12
boot/archlinux.ipxe Normal file
View file

@ -0,0 +1,12 @@
#!ipxe
# ArchLinux Operating System
# http://www.archlinux.org
menu ArchLinux
item ipxe ArchLinux Graphical Menu
item ipxe_text ArchLinux Text Menu
choose version || exit
chain http://releng.archlinux.org/pxeboot/${version}.pxe
exit

10
boot/boot.cfg Normal file
View file

@ -0,0 +1,10 @@
#!ipxe
# set boot domain
set boot_domain netboot.xyz
# set mirror domain
set mirror mirror.rackspace.com
# set location of memdisk
set memdisk http://${boot_domain}/memdisk

40
boot/bsd.ipxe Normal file
View file

@ -0,0 +1,40 @@
#!ipxe
goto ${menu} ||
:bsd_menu
menu BSD Operating Systems - Current Selected Architecture [ ${arch} ]
iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
# BSD based systems
item --gap BSD Based Operating Systems
item openbsd ${space} OpenBSD
item freebsd ${space} FreeBSD
# Options
item --gap Options:
iseq ${arch} x86_64 && set bits 64 || set bits 32
item changebits ${space} Architecture: ${arch} (${bits}bit)
choose menu || goto bsd_exit
echo ${cls}
goto ${menu} ||
chain ${menu}.ipxe || goto error
goto bsd_exit
:bsd_exit
clear menu
chain menu.ipxe
:changebits
iseq ${arch} x86_64 && set arch i386 || set arch x86_64
goto bsd_menu
:openbsd
chain openbsd.ipxe
goto bsd_menu
:freebsd
chain freebsd.ipxe
goto bsd_menu

73
boot/centos.ipxe Normal file
View file

@ -0,0 +1,73 @@
#!ipxe
# CentOS Operating System
# http://www.centos.org
goto ${menu} ||
:centos
clear osversion
set os CentOS
set ksdevice eth0
iseq ${manufacturer} Xen && set netcfg ip=${netX/ip} netmask=${netX/netmask} gateway=${netX/gateway} dns=${dns} ||
menu ${os} ${arch}
item 7.1.1503 ${os} 7.1
item 7.0.1406 ${os} 7.0
item 6.7 ${os} 6.7
item other Choose other version [o]
isset ${osversion} || choose osversion || goto linux_menu
iseq ${osversion} other || goto centos_skip_read_osversion
echo ${cls}
echo -n Enter version: ${} && read osversion
:centos_skip_read_osversion
set dir ${menu}/${osversion}/os/${arch}
set repo http://${mirror}/${dir}
goto boottype
:boottype
set ova ${os} ${osversion}
menu ${os} ${arch} boot type
item graphical ${ova} graphical installer
item text ${ova} text based installer
item rescue ${ova} rescue
item kickstart ${ova} set kickstart url [ ${ksurl} ]
item kickstart_device ${ova} set ksdevice [ ${ksdevice} ]
isset ${bt} || choose bt || goto centos
echo ${cls}
iseq ${bt} text && goto text ||
iseq ${bt} rescue && goto rescue ||
iseq ${bt} kickstart && goto kickstart ||
iseq ${bt} kickstart_device && goto kickstart_device ||
goto bootos_images
:text
set params text ||
goto bootos_images
:rescue
set params rescue ||
goto bootos_images
:kickstart
echo -n Specify kickstart URL for ${os} ${osversion}: && read ksurl
set params ks=${ksurl} ksdevice=${ksdevice} ||
clear bt
goto boottype
:kickstart_device
echo -n Specify ksdevice param for ${os} ${osversion}: && read ksdevice
set ksdevice ${ksdevice} ||
clear bt
goto boottype
:bootos_images
imgfree
kernel http://${mirror}/${dir}/images/pxeboot/vmlinuz repo=${repo} ${params} ${netcfg}
initrd http://${mirror}/${dir}/images/pxeboot/initrd.img
boot
goto linux_menu
:linux_menu
clear menu
chain linux.ipxe
exit 0

66
boot/debian.ipxe Normal file
View file

@ -0,0 +1,66 @@
#!ipxe
# Debian Operating System
# http://www.debian.org
goto ${menu}
:debian
set os debian
iseq ${manufacturer} Xen && set netcfg netcfg/get_ipaddress=${netX/ip} netcfg/get_netmask=${netX/netmask} netcfg/get_gateway=${netX/gateway} netcfg/get_nameservers=${dns} netcfg/confirm_static=true netcfg/choose_interface=eth0 netcfg/disable_autoconfig=true ||
menu Debian ${arch_a}
item jessie Debian 8.0 (jessie)
item wheezy Debian 7.0 (wheezy)
item squeeze Debian 6.0 (squeeze)
item stretch Debian stretch (testing)
item sid Debian sid (unstable)
choose version || goto debian_exit
set mirrorcfg mirror/suite=${version} mirror/country=manual mirror/http/hostname=${mirror} mirror/http/directory=/${os}
:deb_boot_type
set dir ${os}/dists/${version}/main/installer-${arch_a}/current/images/netboot/
menu ${os} boot parameters
item text ${os} text based install
item graphical ${os} graphical based install
item rescue ${os} rescue mode
item expert ${os} expert install
item preseed ${os} specify preseed url
choose --default ${type} type || goto debian
echo ${cls}
goto deb_${type}
:deb_rescue
set install_params rescue/enable=true
goto deb_text
:deb_expert
set install_params priority=low
goto deb_text
:deb_preseed
echo -n Specify preseed URL for ${os} ${version}: && read preseedurl
set install_params auto=true priority=critical preseed/url=${preseedurl}
goto deb_text
:deb_text
set dir ${dir}${menu}-installer/${arch_a}
goto deb_boot
:deb_graphical
set dir ${dir}gtk/${menu}-installer/${arch_a}
set install_params vga=788
goto deb_boot
:deb_boot
imgfree
echo Boot parameters: ${install_params} -- quiet ${params}
kernel http://${mirror}/${dir}/linux ${install_params} ${netcfg} ${mirrorcfg} -- quiet ${params} initrd=initrd.gz
initrd http://${mirror}/${dir}/initrd.gz
boot
:debian_exit
clear menu
chain linux.ipxe

35
boot/experimental.ipxe Normal file
View file

@ -0,0 +1,35 @@
#!ipxe
menu Experimental Operating Systems
item --gap Experimental:
item boot2docker ${space} boot2docker v1.0.0
item coreos-current ${space} CoreOS Stable Channel
choose --default ${menu} menu || goto experimental_exit
echo ${cls}
goto ${menu} ||
chain ${menu}.ipxe || goto error
goto experimental_exit
:boot2docker
kernel ${memdisk} iso raw
initrd http://boot.rackspace.com/distros/boot2docker/v1.0.0/boot2docker.iso
boot
goto experimental_exit
:coreos-current
set base-url http://stable.release.core-os.net/amd64-usr/current
echo This will currently autologin into tty1 on the console.
echo From there you can su to root and install CoreOS to disk using:
echo coreos-install -d /dev/sda -C stable
echo You will probably need to chroot into /dev/sda9 to configure accounts.
echo More info @ http://coreos.com/docs/running-coreos/bare-metal/installing-to-disk/
kernel ${base-url}/coreos_production_pxe.vmlinuz coreos pxe demo console=tty1 coreos.autologin=tty1
initrd ${base-url}/coreos_production_pxe_image.cpio.gz
boot
goto experimental_exit
:experimental_exit
clear menu
chain menu.ipxe
exit 0

71
boot/fedora.ipxe Normal file
View file

@ -0,0 +1,71 @@
#!ipxe
# Fedora Operating System
# http://wwww.fedora.org
goto ${menu} ||
:fedora
clear osversion
clear sku_type
clear ova
set os Fedora
menu Fedora ${arch}
iseq ${manufacturer} Xen && set netcfg ip=${netX/ip} netmask=${netX/netmask} gateway=${netX/gateway} dns=${dns} ksdevice=eth0 ||
item 22 ${os} 22
item 21 ${os} 21
item 20 ${os} 20
isset ${osversion} || choose osversion || goto linux_menu
set ova ${os} ${osversion}
iseq ${osversion} 20 && goto legacy_sku ||
iseq ${osversion} 19 && goto legacy_sku ||
iseq ${osversion} 18 && goto legacy_sku ||
goto product_sku
:product_sku
menu ${os} ${arch} sku type
item Cloud_Atomic ${ova} Cloud Atomic
item Server ${ova} Server
item Workstation ${ova} Workstation
isset ${sku_type} || choose sku_type || goto fedora
set dir fedora/releases/${osversion}/${sku_type}/${arch}/os
set ova ${ova} ${sku_type}
echo ${cls}
goto boottype
:legacy_sku
set dir fedora/releases/${osversion}/${os}/${arch}/os
goto boottype
:boottype
set repo http://${mirror}/${dir}
menu ${os} ${arch} boot type
item normal ${ova}
item rescue ${ova} rescue
item kickstart ${ova} specify kickstart url
isset ${bt} || choose bt || goto fedora
echo ${cls}
iseq ${bt} rescue && goto rescue ||
iseq ${bt} kickstart && goto kickstart ||
goto bootos_images
:rescue
set params rescue ||
goto bootos_images
:kickstart
echo -n Specify kickstart URL for ${os} ${osversion}: && read ksurl
set params ks=${ksurl} ||
goto bootos_images
:bootos_images
imgfree
kernel http://${mirror}/${dir}/images/pxeboot/vmlinuz repo=${repo} ${params} ${netcfg} initrd=initrd.img
initrd http://${mirror}/${dir}/images/pxeboot/initrd.img
boot
goto linux_menu
:linux_menu
clear menu
chain linux.ipxe
exit 0

41
boot/freebsd.ipxe Normal file
View file

@ -0,0 +1,41 @@
#!ipxe
# FreeBSD Operating System
# http://www.freebsd.org
:freebsd_menu
menu Please pick a FreeBSD version
item 10.1 FreeBSD 10.1
item 10.0 FreeBSD 10.0
choose ver || goto freebsd_exit
iseq ${ver} 10.1 && set image_ver 10.1-RELEASE ||
iseq ${ver} 10.0 && set image_ver 10.0-RELEASE ||
iseq ${arch} x86_64 && goto freebsd_x64 ||
set freebsd_arch i386
goto boot_freebsd
:freebsd_x64
set freebsd_arch amd64
goto boot_freebsd
:boot_freebsd
set src http://${boot_domain}/distros/freebsd/${ver}/FreeBSD-${image_ver}-${freebsd_arch}-bootonly-mfsbsd.hd
imgfree
echo This loads an mfsbsd installer (http://mfsbsd.vx.sk/).
echo Root password for all images: mfsroot
echo You'll need to configure networking manually for the installer disk as
echo it uses dhcp by default:
echo ifconfig xn0 inet <public ip> netmask 255.255.255.0
echo route delete default; route add default <public ip x.x.x.1>
echo echo "nameserver x.x.x.x" > /etc/resolv.conf
echo Once network is configured, you can launch the usual installer:
echo bsdinstall
initrd ${src}
chain ${memdisk} harddisk raw
exit
:freebsd_exit
clear menu
chain bsd.ipxe

31
boot/gentoo.ipxe Normal file
View file

@ -0,0 +1,31 @@
#!ipxe
# Gentoo Operating System
# http://www.gentoo.org
# Note: in order to boot Gentoo via iPXE, the method at http://blog.dastrup.com/?p=12 has been utilized to
# to allow for the Gentoo minimal disk to boot. I've regenerated the latest boot disks and have put
# them on ${boot_domain} so that you can boot into the live cd
goto ${menu}
:gentoo
set os gentoo
menu Gentoo ${arch_a}
item 20140116 Gentoo minimal CD version - 20140116
choose version || goto gentoo_exit
goto ${version}
:20140116
set gentoopath http://${boot_domain}/distros/gentoo/amd64/20140116
echo Please note the gentoo ISO has been regenerated to work with iPXE
echo using the method here: http://blog.dastrup.com/?p=12
echo You will need to set up networking manually.
kernel ${gentoopath}/gentoo initrd=gentoo.igz root=/dev/ram0 init=/linuxrc loop=/image.squashfs looptype=squashfs cdroot=1 real_root=/ dokeymap vga=791 nodhcp
initrd ${gentoopath}/gentoo.igz
boot
goto gentoo
:gentoo_exit
clear menu
chain linux.ipxe

58
boot/linux.ipxe Normal file
View file

@ -0,0 +1,58 @@
#!ipxe
goto ${menu} ||
:linux_menu
menu Linux Operating Systems - Current Selected Architecture [ ${arch} ]
iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
item --gap Operating Systems:
item archlinux ${space} ArchLinux
item centos ${space} CentOS
item debian ${space} Debian
item fedora ${space} Fedora
item gentoo ${space} Gentoo
item opensuse ${space} openSUSE
item scientific ${space} Scientific
item ubuntu ${space} Ubuntu
item tinycore ${space} TinyCoreLinux
# Options
item --gap Options:
iseq ${arch} x86_64 && set bits 64 || set bits 32
item changebits ${space} Architecture: ${arch} (${bits}bit)
choose menu || goto linux_exit
echo ${cls}
goto ${menu} ||
chain ${menu}.ipxe || goto error
goto linux_exit
:linux_exit
clear menu
chain menu.ipxe
:changebits
iseq ${arch} x86_64 && set arch i386 || set arch x86_64
goto linux_menu
:fedora
chain fedora.ipxe
goto linux_menu
:centos
chain centos.ipxe
goto linux_menu
:debian
chain debian.ipxe
goto linux_menu
:ubuntu
chain ubuntu.ipxe
goto linux_menu
:opensuse
chain opensuse.ipxe
goto linux_menu
:scientific
chain scientific.ipxe
goto linux_menu

106
boot/menu.ipxe Normal file
View file

@ -0,0 +1,106 @@
#!ipxe
:start
chain --autofree boot.cfg ||
iseq ${cls} serial && goto ignore_cls ||
set cls:hex 1b:5b:4a # ANSI clear screen sequence - "^[[J"
set cls ${cls:string}
:ignore_cls
isset ${arch} && goto skip_arch_detect ||
cpuid --ext 29 && set arch x86_64 || set arch i386
:skip_arch_detect
isset ${menu} && goto ${menu} ||
isset ${ip} || dhcp || echo DHCP failed
:main_menu
clear menu
set space:hex 20:20
set space ${space:string}
iseq ${arch} i386 && set arch5 i586 || set arch5 ${arch}
iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
menu ${boot_domain} [Local IP: ${netX/ip}]
item --gap Default:
item local ${space} Boot from local hdd
item --gap Operating Systems:
item linux ${space} Linux Operating Systems
item bsd ${space} BSD Operating Systems
item experimental ${space} Experimental Operating Systems
item --gap Tools:
item utils ${space} Utilities
item shell ${space} iPXE shell
item netinfo ${space} Network card info
isset ${menu} && set timeout 0 || set timeout 300000
choose --timeout ${timeout} --default ${menu} menu || goto local
echo ${cls}
goto ${menu} ||
chain ${menu}.ipxe || goto error
goto main_menu
:error
echo Error occured, press any key to return to menu ...
prompt
goto main_menu
:local
echo Booting from local disks ...
exit 0
:reload
echo Reloading menu.ipxe ...
chain menu.ipxe
:netinfo
menu Network info
item --gap MAC:
item mac ${space} ${netX/mac}
item --gap IP/mask:
item ip ${space} ${netX/ip}/${netX/netmask}
item --gap Gateway:
item gw ${space} ${netX/gateway}
item --gap Domain:
item domain ${space} ${netX/domain}
item --gap DNS:
item dns ${space} ${netX/dns}
item --gap DHCP server:
item dhcpserver ${space} ${netX/dhcp-server}
item --gap Next-server:
item nextserver ${space} ${next-server}
item --gap Filename:
item filename ${space} ${netX/filename}
choose empty ||
goto main_menu
:shell
echo Type "exit" to return to menu.
set menu main_menu
shell
goto main_menu
:changebits
iseq ${arch} x86_64 && set arch i386 || set arch x86_64
goto main_menu
# OS
:linux
chain linux.ipxe
goto main_menu
:bsd
chain bsd.ipxe
goto main_menu
:experimental
chain experimental.ipxe
goto main_menu
:utils
chain utils.ipxe
goto main_menu

32
boot/openbsd.ipxe Normal file
View file

@ -0,0 +1,32 @@
#!ipxe
# OpenBSD Operating System
# http://www.openbsd.org
:openbsd_menu
menu Please pick an OpenBSD version
item 5.7 OpenBSD 5.7
item 5.6 OpenBSD 5.6
choose ver || goto openbsd_exit
iseq ${ver} 5.7 && set image_ver 57 ||
iseq ${ver} 5.6 && set image_ver 56 ||
iseq ${arch} x86_64 && goto openbsd_x64 ||
set openbsd_arch i386
goto boot_openbsd
:openbsd_x64
set openbsd_arch amd64
goto boot_openbsd
:boot_openbsd
set src http://ftp.openbsd.org/pub/OpenBSD/${ver}/${openbsd_arch}/install${image_ver}.iso
imgfree
initrd ${src}
chain ${memdisk} iso raw
exit
:openbsd_exit
clear menu
chain bsd.ipxe

30
boot/opensuse.ipxe Normal file
View file

@ -0,0 +1,30 @@
#!ipxe
# Novell OpenSUSE Operating System
# http://opensuse.org
menu openSUSE ${arch}
iseq ${manufacturer} Xen && set netcfg hostip=${netX/ip} netmask=${netX/netmask} gateway=${netX/gateway} nameserver=${dns} ||
item 13.2 openSUSE 13.2
item 13.1 openSUSE 13.1
item 12.3 openSUSE 12.3
item 12.2 openSUSE 12.2
item 11.4 openSUSE 11.4
item factory-tested openSUSE factory-tested
item tumbleweed openSUSE tumbleweed
choose version || goto opensuse_exit
set dir opensuse/distribution/${version}/repo/oss
iseq ${version} tumbleweed && set mirror download.opensuse.org && set dir ${version}/repo/oss ||
iseq ${version} factory-tested && set dir ${version}/repo/oss/ ||
imgfree
kernel http://${mirror}/${dir}/boot/${arch}/loader/linux
initrd http://${mirror}/${dir}/boot/${arch}/loader/initrd
imgargs linux netsetup=dhcp install=http://${mirror}/${dir} ${params} ${netcfg}
boot
:opensuse_exit
clear menu
chain linux.ipxe
exit 0

57
boot/scientific.ipxe Normal file
View file

@ -0,0 +1,57 @@
#!ipxe
# Scientific Linux Operating System
# https://www.scientificlinux.org/
goto ${menu} ||
:scientific
clear osversion
set os Scientific
iseq ${manufacturer} Xen && set netcfg ip=${netX/ip} netmask=${netX/netmask} gateway=${netX/gateway} dns=${dns} ksdevice=eth0 ||
menu ${os} ${arch}
item 7.0 ${os} 7.0
item 6.5 ${os} 6.5
item other Choose other version [o]
isset ${osversion} || choose osversion || goto linux_menu
iseq ${osversion} other || goto scientific_skip_read_osversion
echo ${cls}
echo -n Enter version: ${} && read osversion
:scientific_skip_read_osversion
set dir linux/scientific/${osversion}/${arch}/os
set repo http://ftp1.scientificlinux.org/${dir}
goto boottype
:boottype
set ova ${os} ${osversion}
menu ${os} ${arch} boot type
item normal ${ova}
item rescue ${ova} rescue
item kickstart ${ova} specify kickstart url
isset ${bt} || choose bt || goto scientific
echo ${cls}
iseq ${bt} rescue && goto rescue ||
iseq ${bt} kickstart && goto kickstart ||
goto bootos_images
:rescue
set params rescue ||
goto bootos_images
:kickstart
echo -n Specify kickstart URL for ${os} ${osversion}: && read ksurl
set params ks=${ksurl} ||
goto bootos_images
:bootos_images
imgfree
kernel http://ftp1.scientificlinux.org/${dir}/images/pxeboot/vmlinuz repo=${repo} ${params} ${netcfg}
initrd http://ftp1.scientificlinux.org/${dir}/images/pxeboot/initrd.img
boot
goto linux_menu
:linux_menu
clear menu
chain linux.ipxe
exit 0

23
boot/tinycore.ipxe Normal file
View file

@ -0,0 +1,23 @@
#!ipxe
# TinyCoreLinux
# http://tinycorelinux.net/downloads.html
# For now there is only one menu entry
set tmirror tinycorelinux.net
:tinycore_menu
set dir 6.x/x86/release
menu TinyCoreLinux
item --key c Core Core (8 MB)
choose version || goto tinycore_exit
echo ${cls}
kernel ${memdisk} iso raw ${params}
initrd http://${tmirror}/${dir}/${version}-current.iso
boot
:tinycore_exit
clear menu
chain linux.ipxe

59
boot/ubuntu.ipxe Normal file
View file

@ -0,0 +1,59 @@
#!ipxe
# Ubuntu Operating System
# http://www.ubuntu.org
goto ${menu}
:ubuntu
set os ubuntu
iseq ${manufacturer} Xen && set netcfg netcfg/get_ipaddress=${netX/ip} netcfg/get_netmask=${netX/netmask} netcfg/get_gateway=${netX/gateway} netcfg/get_nameservers=${dns} netcfg/confirm_static=true netcfg/choose_interface=eth0 netcfg/disable_autoconfig=true ||
menu Ubuntu ${arch_a}
item vivid Ubuntu 15.04 Vivid Vervet
item utopic Ubuntu 14.10 Utopic Unicorn
item trusty Ubuntu 14.04 LTS Trusty Tahr
item saucy Ubuntu 13.10 Saucy Salamander
item quantal Ubuntu 12.10 Quantal Quetzal
item precise Ubuntu 12.04 LTS Precise Pangolin
choose version || goto ubuntu_exit
set mirrorcfg mirror/suite=${version} mirror/country=manual mirror/http/hostname=${mirror} mirror/http/directory=/${os}
:deb_boot_type
set dir ${os}/dists/${version}-updates/main/installer-${arch_a}/current/images/netboot/
menu ${os} boot parameters
item install ${os} install
item rescue ${os} rescue mode
item expert ${os} expert install
item preseed ${os} specify preseed url
choose --default ${type} type || goto ubuntu
echo ${cls}
goto deb_${type}
:deb_rescue
set install_params rescue/enable=true
goto deb_boot
:deb_expert
set install_params priority=low
goto deb_boot
:deb_preseed
echo -n Specify preseed URL for ${os} ${version}: && read preseedurl
set install_params auto=true priority=critical preseed/url=${preseedurl}
goto deb_boot
:deb_install
:deb_boot
set dir ${dir}${menu}-installer/${arch_a}
imgfree
echo Boot parameters: ${install_params} -- quiet ${params}
kernel http://${mirror}/${dir}/linux ${install_params} ${netcfg} ${mirrorcfg} -- quiet ${params}
initrd http://${mirror}/${dir}/initrd.gz
boot
:ubuntu_exit
clear menu
chain linux.ipxe

49
boot/utils.ipxe Normal file
View file

@ -0,0 +1,49 @@
#!ipxe
menu Utilities
item --gap Utilities:
item clonezilla ${space} Clonezilla
item hdt ${space} Hardware Detection Tool
item memtest ${space} MemTest86+
choose --default ${menu} menu || goto utils_exit
echo ${cls}
goto ${menu} ||
chain ${menu}.ipxe || goto error
goto linux_exit
:hdt
kernel ${memdisk} iso raw
initrd http://www.hdt-project.org/raw-attachment/wiki/hdt-0.5.0/hdt-0.5.2.iso
boot
goto utils_exit
:clonezilla
set version 2.2.3-25
iseq ${arch} x86_64 && set cz_arch amd64 || set cz_arch i686-pae
set project clonezilla
set iso ${project}_live_stable/${version}/${project}-live-${version}-${cz_arch}.iso
set czurl http://sourceforge.net/projects/clonezilla/files/${iso}/download
kernel ${memdisk} iso raw ${params}
:retry
iseq ${try} xxxxx && exit ||
set try ${try}x
initrd ${czurl} || goto retry
boot || goto utils_exit
:memtest
chain utils/memtest.bin ${params} && goto main_menu ||
echo MEMORY ERROR DETECTED! ${errno}
echo Press any key to continue ...
read a
goto utils_exit
choose --timeout ${timeout} --default ${menu} menu || goto utils_exit
echo ${cls}
goto ${menu} ||
chain ${menu}.ipxe || goto error
goto linux_exit
:utils_exit
clear menu
chain menu.ipxe
exit 0

32
ipxe/netboot.xyz-main Normal file
View file

@ -0,0 +1,32 @@
#!ipxe
:start
set netboot_xyz_version 1
echo netboot_xyz iPXE loader v${netboot_xyz_version}
:dhcp
dhcp || goto static
goto start
:static
echo DHCP Server not found, enabling manual override:
imgfree
ifclose net0
echo -n IP: && read net0/ip
echo -n Subnet mask: && read net0/netmask
echo -n Gateway: && read net0/gateway
echo -n DNS: && read dns
ifopen net0
echo Attempting chainload of netboot.xyz...
goto start || goto failsafe
:start
chain http://cdn.netboot.xyz/boot.ipxe
goto boot
:failsafe
echo Attempt to load netboot.xyz failed... restarting...
goto start
:boot
sanboot --no-describe --drive 0x80

28
ipxe/netboot.xyz-static Normal file
View file

@ -0,0 +1,28 @@
#!ipxe
:start
set version 1
echo netboot.xyz iPXE loader v${version}
:static
echo Please enter in the networking information of your Cloud Server:
imgfree
ifclose net0
echo -n IP: && read net0/ip
echo -n Subnet mask: && read net0/netmask
echo -n Gateway: && read net0/gateway
echo -n DNS: && read dns
ifopen net0
echo Attempting chainload of netboot.xyz...
goto start || goto failsafe
:start
chain http://cdn.netboot.xyz/boot.ipxe
goto boot
:failsafe
echo Attempt to load netboot.xyz failed... restarting...
goto start
:boot
sanboot --no-describe --drive 0x80