summaryrefslogtreecommitdiffstats
path: root/satellit_installer/includes/10-install_ipxe.inc
blob: 2a5afd7ece83a9dd5c1fd7b743d2252aa48bd813 (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
29
30

install_ipxe() {
	[ -z "$1" ] && perror "Call install_ipxe with target directory!"
	# chr 20160602: Kein --depth wg. commit-ID fuer Patch 
	# git clone --depth 1 git://git.ipxe.org/ipxe.git "$1" || perror "Cloning ipxe repo failed"
	git clone git://git.ipxe.org/ipxe.git "$1" || perror "Cloning ipxe repo failed"
	cd "$1"
	git reset --hard 936657832f2262ad04bdf16b9229ce0b1d1c174f
	git apply --ignore-whitespace < "${BASEDIR}/static_files/ipxe.patch" || perror "Could not patch ipxe compile-time configuration"
	cd - > /dev/null
	wget -O "$1/pxelinux.0" "$HTTP_BASE/pxelinux.0" || perror "Could not download pxelinux 4 from $HTTP_BASE"
	# Symlink for USB-Stick HTTP access
	mkdir -p "$WWWDIR"
	ln -s -f "$TFTPDIR" "$WWWDIR/tftp" || perror "Could not create symlink for tftp dir"
}

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
}