#!/bin/bash
# Run on each Pi (from temporary SD image) to enable network boot in EEPROM
set -euo pipefail
MODEL="$(tr -d '\0' </proc/device-tree/model || true)"
if echo "$MODEL" | grep -qi 'Pi 5'; then
  ORDER=0xf241
else
  ORDER=0xf21
fi
echo "Model: $MODEL → BOOT_ORDER=$ORDER"
TMP="$(mktemp)"
rpi-eeprom-config > "$TMP"
if grep -q '^BOOT_ORDER=' "$TMP"; then
  sed -i "s/^BOOT_ORDER=.*/BOOT_ORDER=${ORDER}/" "$TMP"
else
  echo "BOOT_ORDER=${ORDER}" >> "$TMP"
fi
# Prefer DHCP wait long enough for proxyDHCP
if grep -q '^DHCP_TIMEOUT=' "$TMP"; then
  sed -i 's/^DHCP_TIMEOUT=.*/DHCP_TIMEOUT=60/' "$TMP"
else
  echo "DHCP_TIMEOUT=60" >> "$TMP"
fi
sudo rpi-eeprom-config --apply "$TMP"
rm -f "$TMP"
echo "Reboot for EEPROM settings to take effect."
