Legacy-BIOS PXE clients booting Blancco reported "NBP is too big to fit in free base memory". Cause: dnsmasq unconditionally served ipxe.efi (~675KB EFI binary) which legacy BIOS PXE ROMs cannot execute and which exceeds their NBP cap. Fix: - Add undionly.kpxe (~70KB BIOS-mode iPXE, from boot.ipxe.org). - dnsmasq: dhcp-match on option:client-arch,0 (BIOS) -> undionly.kpxe; default (everything else, including UEFI x86_64 arch 7 and 9) keeps getting ipxe.efi. Tag form is reversible: if the match fails to evaluate, fallback is the working EFI path, not the new binary. - Ansible TFTP-copy loop: mirror undionly.kpxe alongside ipxe.efi. - .gitignore exception: track the open-source kpxe binary so the air-gapped USB build stays self-contained. UEFI clients unchanged. Blancco/Clonezilla/WinPE chain after the iPXE menu is identical regardless of which iPXE variant delivered it. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
87 lines
1.8 KiB
Plaintext
87 lines
1.8 KiB
Plaintext
# Large binary files — download/build these, don't commit them
|
|
*.deb
|
|
*.zip
|
|
*.wim
|
|
*.iso
|
|
*.efi
|
|
*.sdi
|
|
|
|
# OneDrive download artifacts
|
|
OneDrive_*/
|
|
|
|
# Error folders from OneDrive download
|
|
__*/
|
|
___*.txt
|
|
|
|
# Original OneDrive folder structure (reorganized into autoinstall/ and playbook/)
|
|
WestJeff*/
|
|
|
|
# Duplicate at root (canonical copy in unattend/)
|
|
/FlatUnattendW10.xml
|
|
|
|
# Offline packages (built by download-packages.sh)
|
|
offline-packages/
|
|
|
|
# Boot tool binaries (built by prepare-boot-tools.sh)
|
|
boot-tools/
|
|
# Track the Blancco GRUB config as source-of-truth for grubx64.efi rebuilds.
|
|
# prepare-boot-tools.sh rebuilds grubx64.efi from this file via grub-mkstandalone.
|
|
!boot-tools/blancco/grub-blancco.cfg
|
|
|
|
# WinPE boot files (wimboot, boot.wim, BCD, ipxe.efi, etc.)
|
|
boot-files/
|
|
# Exception: track undionly.kpxe (open-source iPXE BIOS-mode NBP for
|
|
# legacy PXE clients, ~70KB, from boot.ipxe.org). Makes air-gapped USB
|
|
# build self-contained without a separate fetch step.
|
|
!boot-files/undionly.kpxe
|
|
|
|
# Python wheels for offline install (built by download-packages.sh)
|
|
pip-wheels/
|
|
|
|
# Deployment images (imported via webapp or USB)
|
|
geastandardpbr/
|
|
|
|
# OS files
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
# Python
|
|
__pycache__/
|
|
*.pyc
|
|
*.pyo
|
|
venv/
|
|
|
|
# MOK Secure Boot signing keys (contains private key)
|
|
mok-keys/
|
|
|
|
# Secrets
|
|
secrets.md
|
|
**/eMxInfo*.txt
|
|
*.ppkg
|
|
enrollment/
|
|
drivers-staging/
|
|
bios-staging/
|
|
.claude/
|
|
|
|
# Secrets and credentials (defensive)
|
|
.env
|
|
.env.*
|
|
!.env.example
|
|
!.env.*.example
|
|
*.pem
|
|
*.key
|
|
id_rsa
|
|
id_rsa.*
|
|
*.ppk
|
|
*.p12
|
|
*.pfx
|
|
secrets.json
|
|
secrets.yaml
|
|
secrets.yml
|
|
*_secret
|
|
*_secrets
|
|
credentials.json
|
|
|
|
# Pre-staged binary (142 MB) - track via LFS or stage on PXE server, not in regular git
|
|
playbook/shopfloor-setup/Shopfloor/PrinterInstallerMap.exe
|