## ISO build consolidation - Remove separate debug/prod split: overlay-debug/, build-debug.sh, mkimg.bee_debug.sh, genapkovl-bee_debug.sh all deleted - Single overlay: iso/overlay/ (was overlay-debug content) - Single build script: build.sh (SSH, TUI, NVIDIA, vendor tools, bee-release) - Single mkimage profile: bee (with dropbear, dialog, strace, gcompat, etc.) ## NVIDIA fixes - Modules now stored at /usr/local/lib/nvidia/ instead of /lib/modules/<kver>/extra/nvidia/ — modloop squashfs mounts over that path at boot making overlay content there inaccessible - bee-nvidia init: load via insmod (absolute path), not modprobe - bee-nvidia init: create libnvidia-ml.so.1/libcuda.so.1 symlinks in /usr/lib/ - build-nvidia-module.sh: always install linux-lts-dev (not conditional) — stale 6.6.x headers caused wrong-kernel modules that never loaded at runtime - build-nvidia-module.sh: create soname symlinks in cache - KERNEL_VERSION in VERSIONS updated 6.6 → 6.12 - gcompat added to ISO packages (nvidia-smi is a glibc binary on musl Alpine) ## Service ordering - bee-audit: add `after bee-nvidia` so NVIDIA enrichment always succeeds ## New tooling - iso/builder/smoketest.sh: SSH smoke test for post-boot ISO validation - iso/builder/build-gpu-burn.sh: builds gpu_burn vendor binary (CUDA 12.8+) - vendor/gpu_burn included automatically if placed in iso/vendor/ Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
32 lines
957 B
Bash
32 lines
957 B
Bash
#!/bin/sh
|
|
# bee-network.sh — bring up all physical network interfaces via DHCP
|
|
# Unattended: runs silently, logs results, never blocks.
|
|
|
|
LOG_PREFIX="bee-network"
|
|
|
|
log() { echo "[$LOG_PREFIX] $*"; }
|
|
|
|
# find physical interfaces: exclude lo and virtual (docker/virbr/veth/tun/tap)
|
|
interfaces=$(ip -o link show \
|
|
| awk -F': ' '{print $2}' \
|
|
| grep -v '^lo$' \
|
|
| grep -vE '^(docker|virbr|veth|tun|tap|br-|bond|dummy)' \
|
|
| sort)
|
|
|
|
if [ -z "$interfaces" ]; then
|
|
log "no physical interfaces found"
|
|
exit 0
|
|
fi
|
|
|
|
for iface in $interfaces; do
|
|
log "bringing up $iface"
|
|
ip link set "$iface" up 2>/dev/null || { log "WARN: could not bring up $iface"; continue; }
|
|
|
|
# DHCP in background: -b forks if no immediate lease, & ensures non-blocking always.
|
|
# -t 0: unlimited retries, -T 3: 3s per attempt. No -q: stay running to renew lease.
|
|
udhcpc -i "$iface" -b -t 0 -T 3 &
|
|
log "DHCP started for $iface (pid $!)"
|
|
done
|
|
|
|
log "done"
|