Release 0.11.0
Changes since 0.10.0
New features
- PXE network boot support for both BIOS & UEFI on all supported architectures (IPv4 servers only for now)
- The installer is now a self-contained Python script with the boot blobs baked in, no host toolchain required, runs anywhere with just Python 3
- Support for installing to GPT-partitioned disks (stage2 goes into a BIOS boot partition, synthesized automatically or reused via
--stage2-partition) - Disks are now addressed as
hd<N>/cd<N>consistently across BIOS and UEFI, replacing the old firmware-specific raw drive numbers - Support for bare
partuuid-*paths /now resolves to the actual disk & partition the loader was booted from, instead of the first filesystem that happens to contain a config- New opt-in
pass-uefi-infooption to pass the UEFI system table and memory map to the kernel - Support for Ultra module descriptions
- Kernel command lines can now be up to 128MiB in size
- New memory types:
MEMORY_TYPE_SOFT_RESERVEDandMEMORY_TYPE_UNACCEPTED - Reworked video mode selection: an explicit resolution is matched exactly, otherwise the loader auto-picks the native (EDID), current, or largest mode, displays smaller than 1024x768 no longer fail to boot
- aarch64: the kernel is now handed off with the MMU and caches enabled, with a reworked and hardened EL2/VHE handover path
Fixes
- The direct map handed to the kernel now covers only actual RAM: reserved and device (MMIO) regions are no longer mapped writeback-cached, which was incorrect
and could conflict with the platform's caching (e.g. MTRRs). Kernels must map MMIO themselves with appropriate attributes - Numerous FAT driver fixes: fragmented files now read correctly, invalid/orphaned long name entries are skipped instead of aborting, large-volume offsets no
longer truncate to 32 bits, and bogus filesystem metadata is rejected - The installer no longer wipes the NT disk signature, which could break Windows BCD boot entries on dual-boot disks
- The boot record now stays clear of the Windows disk timestamp area and carries sane dummy BPB values
- Workarounds for buggy BIOSes: VMware disk enumeration and firmware that destroys the upper halves of 32-bit registers during INT 13h
- E820 ranges with unknown attribute bits are no longer dropped on BIOS
- A few misc fixes
Full Changelog: v0.10.0...v0.11.0