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>
This commit is contained in:
24
boot-tools/blancco/grub-blancco.cfg
Normal file
24
boot-tools/blancco/grub-blancco.cfg
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
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
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user