DF-0661 / build.sh
#!/bin/sh # DF-0661 build script. # # Builds: # 1. The ported ng_device.ko module (faithful port of # sys/netgraph/ng_device.c to modern dev_ops API, preserving the # VLA bug under test at ngdread/ngdwrite). # 2. The trigger binary. # # Must run as root inside the DragonFlyBSD guest. set -e BUILD_DIR="/root/ng_device_build" KERNBUILDDIR="/usr/obj/usr/src/sys/X86_64_GENERIC" mkdir -p "$BUILD_DIR" cd "$BUILD_DIR" # Copy the header from source tree cp /usr/src/sys/netgraph/ng_device.h . # ng_device.c (ported) and Makefile should be pushed from the host # evidence pack. If missing, recreate from the evidence pack. if [ ! -f ng_device.c ]; then echo "[!] ng_device.c not found in $BUILD_DIR" exit 1 fi printf "KMOD=\tng_device\nSRCS=\tng_device.c\n.include <bsd.kmod.mk>\n" > Makefile echo "=== Building ng_device.ko ===" make clean 2>/dev/null || true make KERNBUILDDIR="$KERNBUILDDIR" echo "=== ng_device.ko built ===" ls -la ng_device.ko echo "=== Building trigger ===" cc -O2 -o trigger trigger.c echo "=== trigger built ===" ls -la trigger |