v0.7.0
What's Changed
WIM modification, Win11 bypass, bootable USB, and disk-space guards
Extend the imaging library from build-an-ISO to build-and-deploy media with
Windows 11 requirement bypasses, and fill the WIM "modification" gap that the
existing read/write/codec support left open.
WIM modification (pkg/wim)
- Updater: edit image XML properties in place (SetProperty/SetPropertyAll),
add/replace/remove files inside an image via append-mode rebuild, and
serializeHeader/putResource for faithful header rewrites. - Split into .swm sets and Join back, following wimlib's on-disk contract
(per-part blob tables, shared GUID, metadata in part 1); round-trip tested. - Preserve the catalog block (INSTALLATIONTYPE/EDITIONID/ARCH) when
rebuilding boot.wim/install.wim. Previously dropped, which broke edition
selection and made the INSTALLATIONTYPE=Server bypass impossible.
Windows 11 bypass (pkg/unattend, pkg/builder)
- Mechanism A: set WINDOWS/INSTALLATIONTYPE=Server on every install.wim image.
- Mechanism B: generate an autounattend.xml with LabConfig TPM/SecureBoot/RAM/
Storage/CPU bypass keys + OOBE BypassNRO; merged via the ExtraFiles hook and
respecting a caller-supplied answer file. - builder.Options.Bypass wires both; CLI flags --bypass-win11 et al.
Bootable USB (pkg/usb)
- Portable plan/copy/split/EFI-fallback core plus Windows (diskpart) and Linux
(sfdisk/mkfs) backends behind build tags; unsupported platforms return
ErrUnsupported so the module still builds everywhere. - install.wim over FAT32's 4 GiB limit is emitted as an install.swm set
a missing EFI loader is synthesized from bootmgfw.efi in the install
El Torito fixes (pkg/iso)
- Use the fixed oscdimg BIOS load size (8 sectors) instead of a length-
value; guard the UEFI sector count against uint16 overflow.
Disk-space pre-flight (pkg/diskspace)
- Cross-platform free-space via GetDiskFreeSpaceEx / statfs (no cgo, bu
tagged). Wired into builder.BuildISO (checks workdir + output, summin
requirement when they share a volume) and usb.WriteMedia (media must fit the
disk). Settable --workdir oniso buildtargets a volume with room.
CLI
- New
usb list|write(with --dry-run/--yes guards),wim set-property --workdir oniso build`.
Validated end to end against a SHA1-verified Windows 11 Pro ESD: the re
ISO passes isoinspect with zero errors, stores the 6.13 GB install.wim
allocation-descriptor extents at full size, applies the bypass to all 7
Full Changelog: v0.6.2...v0.7.0