Closes the "option B" gap left earlier in this session. Fresh PXE servers
built from this commit will boot Blancco identically to .1/.2 today
instead of reproducing the Apr-14 regression (commit d6776f7).
Three moving parts:
1. boot-tools/blancco/grub-blancco.cfg (new, tracked via .gitignore
negation) carries the slim Ubuntu-kernel cmdline. prepare-boot-tools.sh
already rebuilds grubx64.efi from this file via grub-mkstandalone, so
binary doesn't need to be tracked. The server-side grub-blancco.cfg
still has the native-kernel cmdline but it's orphaned - nothing in
the active boot flow reads it.
2. playbook/blancco-init.sh rewritten for modprobe-with-deps, full NIC
driver coverage, set -x trace to /dev/console, dmesg+lspci+/proc/modules
dump + interactive shell drop on "no NIC after 60s". Replaces the
narrow insmod-loop version that silently hung on unsupported NICs.
3. playbook/pxe_server_setup.yml "Build Blancco PXE initramfs" task now
sweeps the full drivers/net/ tree (ethernet + phy + mdio + usb + fddi
+ wan) plus overlay / squashfs / loop / ptp / libphy / mii deps, runs
depmod to regenerate modules.dep inside the initramfs (required for
modprobe's dependency resolution), and symlinks the full applet list
blancco-init.sh needs (modprobe, insmod, dmesg, find, env, etc).
Result: ~20 MB initramfs vs the old 2 MB narrow build. Size is a
non-issue (1-2 s HTTP load at gigabit) versus the hours of debugging
the narrow build cost.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>