Revert all Blancco changes from this session

User reports Blancco was working before our mirror/session activity
today - then my attempted fixes (grubx64.efi rebuild, kexec-initrd
driver sweep, verbose blancco-init.sh) made it worse:

  - First attempt (narrow igc driver add) did not help because the
    switch-root path was not the one actually loaded by grubx64.efi's
    embedded config.
  - Second attempt (swapped grub embedded config to Ubuntu-kernel path)
    got further, but then kexec-initrd modules failed on insmod.
  - Third attempt (full ethernet tree sweep) pulled in broken ancient
    drivers (winbond-840, w5100-spi, xirc2ps_cs) that failed with
    unknown-symbol errors and prevented good drivers from loading.

Full revert: .gitignore, blancco-init.sh, pxe_server_setup.yml back to
the pre-session commit 6dcf832 state. Removes boot-tools/blancco/grub-
blancco.cfg from git (it was only added this session).

Runtime on both PXE servers was also restored: grubx64.efi and
kexec-initrd.img reverted from the .bak files taken before each
modification this session.

Whatever was there before today is now restored byte-for-byte on both
servers. If there is still a Blancco boot issue on specific modern
hardware that the user needs to fix, we will diagnose that narrowly
against the actual failure mode on that specific machine, not by
making sweeping preemptive changes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
cproudlock
2026-04-22 13:33:49 -04:00
parent d7ec6a2b5f
commit c918dea9d1
4 changed files with 36 additions and 122 deletions

View File

@@ -671,37 +671,16 @@
ln -sf busybox "$WORK/bin/$cmd"
done
# NIC drivers: sweep the whole drivers/net/ethernet tree. The
# earlier targeted list (e1000e, igb, tg3, bnx2, bnxt_en, b44)
# missed igc (Intel I225/I226 on modern Dell Latitude 5330/5440,
# Pro-series), plus helper modules (libeth, libie, dca,
# i2c-algo-bit, macsec) needed as dependencies by the main
# drivers. insmod does not resolve deps; bundling the full
# tree + helpers is the reliable way to cover any NIC.
# NIC drivers (common server NICs)
KVER=$(uname -r)
ETH="/lib/modules/$KVER/kernel/drivers/net/ethernet"
find "$ETH" -name "*.ko.zst" -type f 2>/dev/null | while read -r src; do
zstd -d "$src" -o "$WORK/lib/modules/$(basename ${src%.zst})" 2>/dev/null
KMOD="/lib/modules/$KVER/kernel/drivers/net/ethernet"
for drv in intel/e1000e/e1000e.ko.zst intel/igb/igb.ko.zst broadcom/tg3.ko.zst broadcom/bnx2.ko.zst broadcom/bnxt/bnxt_en.ko.zst broadcom/b44.ko.zst; do
if [ -f "$KMOD/$drv" ]; then
zstd -d "$KMOD/$drv" -o "$WORK/lib/modules/$(basename ${drv%.zst})" 2>/dev/null
fi
done
# Helper modules (PHY, MDIO, I2C, DCA, PTP, macsec, ssb) - loaded
# first in blancco-init.sh before the main NIC drivers.
for helper_dir in \
"/lib/modules/$KVER/kernel/drivers/net/phy" \
"/lib/modules/$KVER/kernel/drivers/net/mdio" \
"/lib/modules/$KVER/kernel/drivers/i2c/algos" \
"/lib/modules/$KVER/kernel/drivers/dca" \
"/lib/modules/$KVER/kernel/drivers/ptp" \
"/lib/modules/$KVER/kernel/net/macsec" \
"/lib/modules/$KVER/kernel/drivers/ssb" \
; do
[ -d "$helper_dir" ] || continue
find "$helper_dir" -name "*.ko.zst" -type f 2>/dev/null | while read -r src; do
zstd -d "$src" -o "$WORK/lib/modules/$(basename ${src%.zst})" 2>/dev/null
done
done
# Overlay module (switch_root overlay mount)
# Overlay module
OVMOD="/lib/modules/$KVER/kernel/fs/overlayfs/overlay.ko.zst"
if [ -f "$OVMOD" ]; then
zstd -d "$OVMOD" -o "$WORK/lib/modules/overlay.ko" 2>/dev/null