Files
pxe-server/boot-tools/blancco/grub-blancco.cfg
cproudlock 4550d43d9d Blancco: lock in Ubuntu-kernel switch_root path in playbook + source of truth
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>
2026-04-22 18:08:39 -04:00

25 lines
941 B
INI

set default=0
set timeout=0
insmod efinet
insmod net
insmod http
insmod tftp
net_bootp
# Blancco via Ubuntu-kernel switch_root. This is the cmdline that produces
# the slim Ubuntu-kernel-chain grubx64.efi. DO NOT flip this back to
# vmlinuz-bde-linux / archiso_http_srv / copytoram=y - that was the Apr-14
# regression (commit d6776f7) that put us into Blancco's narrow-NIC-driver
# archiso path and hung on Dell Precision hardware. The Ubuntu kernel path
# with our verbose, full-drivers/net/-tree kexec-initrd.img is what works.
#
# kexec-initrd.img is built by the pxe_server_setup.yml "Build Blancco PXE
# initramfs" task (sweeps drivers/net/ + depmod). blancco-init.sh inside it
# handles the rest: modprobe all common NICs, DHCP, download airootfs.sfs,
# overlay mount, switch_root.
menuentry "Blancco Drive Eraser" {
linux (http,10.9.100.1)/blancco/vmlinuz-ubuntu ip=dhcp
initrd (http,10.9.100.1)/blancco/kexec-initrd.img
}