Files
metal/vm/tftp.sh
2025-11-07 18:55:10 +01:00

27 lines
795 B
Bash
Executable File

#!/usr/bin/env bash
SCRIPT_DIR=$(dirname -- "$(readlink -f -- "$BASH_SOURCE")")
source ${SCRIPT_DIR}/helper.sh
TFTP_DIR=${SCRIPT_DIR}/../tftp
rm -rf "${TFTP_DIR}"
mkdir -p "${TFTP_DIR}"
IPXE_DIR=${SCRIPT_DIR}/../ipxe
IPXE_FILE=${IPXE_DIR}/ipxe-${IPXE_VERSION}/src/${IPXE_BIN}
if [ ! -f "${IPXE_FILE}" ]; then
mkdir -p "${IPXE_DIR}"
rm -rf "${IPXE_DIR}/ipxe-${IPXE_VERSION}"
curl -L https://github.com/ipxe/ipxe/archive/${IPXE_VERSION}.tar.gz | tar -xz -C "${IPXE_DIR}"
cd "${IPXE_DIR}/ipxe-${IPXE_VERSION}/src"
sed -i 's/^#undef[\t ]DOWNLOAD_PROTO_HTTPS.*$/#define DOWNLOAD_PROTO_HTTPS/g' config/general.h
make -j$(nproc) ${IPXE_BIN}
cd -
fi
${SCRIPT_DIR}/../generate.sh
cp ${SCRIPT_DIR}/../rendered/boot.ipxe ${TFTP_DIR}
cp ${IPXE_FILE} ${TFTP_DIR}
sudo in.tftpd -L --secure ./tftp