Skip to content

Release 0.11.0

Choose a tag to compare

@github-actions github-actions released this 17 Jul 14:40

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-info option 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_RESERVED and MEMORY_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


Installation & usage instructions can be found here