summaryrefslogtreecommitdiffstats
path: root/satellit_installer/includes/10-install_ipxe.inc
blob: ec3878d218f4bb1e918d86ac7c56f9643ce084c2 (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!"
	local OLDPWD=$(pwd)
	# 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 src
	
	cd "${OLDPWD}" > /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 ..."
	[ -z "$1" ] && perror "Call compile_ipxe with target directory!"
	cd cd "$1"/src
	make bin/undionly.kkkpxe
	if [ "$ERR" -ne 0 ]; then
		pwarning "*** Background compilation of iPXE failed."
	else
		echo "*** Background compilation of iPXE successful."
	fi
}