summaryrefslogtreecommitdiffstats
path: root/satellit_installer/includes/10-install_ipxe.inc
blob: 1668bd0d21928a16be88efccfc4fec1e1867ffad (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

install_ipxe() {
	[ -z "$1" ] && perror "Call install_ipxe with target directory!"
	git clone --branch openslx https://git.openslx.org/openslx-ng/ipxe.git "$1" || perror "Cloning ipxe repo failed"
	cp "$BASEDIR/static_files/pxelinux.0" "$1/" || perror "Could not copy pxelinux.0 to $1"
	# Symlink for USB-Stick HTTP access
	mkdir -p "$WWWDIR"
	ln -s -f "$TFTPDIR" "$WWWDIR/tftp" || perror "Could not create symlink for tftp dir"
	# Patch config
	local PATH_IPXE="$1"
	ipxe_enable CONSOLE_FRAMEBUFFER CONSOLE_CMD MENU_CMD PARAM_CMD DOWNLOAD_PROTO_HTTPS IMAGE_PNG NVO_CMD IFMGMT_CMD LOGIN_CMD SHELL_CMD MENU_CMD REBOOT_CMD POWEROFF_CMD VRAM_SETTINGS
	ipxe_disable NET_PROTO_STP NET_PROTO_LACP CRYPTO_80211_WEP CRYPTO_80211_WPA CRYPTO_80211_WPA2 IWMGMT_CMD IBMGMT_CMD FCMGMT_CMD CONSOLE_SERIAL
}

compile_ipxe() {
	echo "*** compiling iPXE in the background ..."
	echo
	[ -z "$1" ] && perror "Call compile_ipxe with target directory!"
	cd "$1/src"
	make bin/undionly.kkkpxe
	chown -R taskmanager:www-data "$1"
	if [ "$ERR" -ne 0 ]; then
		pwarning "*** Background compilation of iPXE failed."
	else
		echo "*** Background compilation of iPXE successful."
	fi
	echo
}