ungleich-tools/rebuild-ipxe.sh

45 lines
995 B
Bash
Executable file

#!/bin/sh
# Nico Schottelius, 2019-09-20, Seoul, Coffebean, 23:56
# Copying: GPLv3
echo "If you are running alpine, these packages are needed:"
echo "apk add alpine-sdk xz-dev"
set -x
set -e
if [ ! -e ipxe ]; then
git clone git://git.ipxe.org/ipxe.git
else
(cd ipxe; git pull)
fi
cd ipxe/src
sed -i -e 's/^#undef.*NET_PROTO_IPV6/#define NET_PROTO_IPV6/' \
-e 's/^#undef.*DOWNLOAD_PROTO_HTTPS/#define DOWNLOAD_PROTO_HTTPS/' \
-e 's,^//#define POWEROFF_CMD,#define POWEROFF_CMD,' \
-e 's,^//#define PING_CMD,#define PING_CMD,' \
-e 's,^//#define NTP_CMD,#define NTP_CMD,' config/general.h
mkdir -p output
make bin/ipxe.iso
cp bin/ipxe.iso output/
make bin/undionly.kpxe
cp bin/undionly.kpxe output/
make bin/ipxe.usb
cp bin/ipxe.usb output/
make bin-x86_64-efi/ipxe.efi
cp bin-x86_64-efi/ipxe.efi output/
cat <<EOF
Outputs in
- PXE chain-loadable: undionly.kpxe (put on tftp server)
- USB loadable ipxe.usb (dd to usb stick)
- EFI loadable: ipxe.efi (put on vfat partition)
EOF