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 }