Skip to content

go-boot v1.9

Latest

Choose a tag to compare

@abarisani abarisani released this 03 Sep 12:49
v1.9

This is a release of the go-boot unikernel which implements a UEFI Shell and OS loader for AMD64 platforms, implemented as a bare metal Go unikernel using the TamaGo framework.

The unikernel can be executed as:

Documentation can be found in the README.

Major bugfixes:

  • cmd: linux,l command now uses init_size for more accurate memory reservation (245e4c0)
  • uefi/x64: restrict runtime heap allocation within goos.RamSize (540002b)
  • uefi: callService internal function now handles correctly SP alignment for odd argument count (#17)

Major improvements:

  • bumped minimum Go version to 1.27.0, following tamago-go1.27.0
  • uefi: GUID type is now implemented with Go 1.27 uuid package (a94c66c)
  • uefi: (*FS).FilePath now performs normalization and node validation per UEFI specs (#18)
  • uefi: ErrEFIStatus new error type (#19)
  • uefi: ErrEFINotFound new error type (6ec8723)
  • uefi: (*BootServices).LoadImageFrom new function (#22)
  • uefi: (*BootServices).LocateHandleBuffer new function (#23)
  • uefi: (*BootServices).FreePool new function (#23)

Added support for EFI_STORAGE_SECURITY_COMMAND_PROTOCOL:

  • uefi: (*BootServices).GetStorageSecurity new function (#24)
  • uefi: (*BootServices).GetStorageSecurityByHandle new function (#24)
  • uefi: (*BootServices).LocateStorageSecurityHandles new function (#24)

Added support for EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL:

  • uefi: (*BootServices).GetNVMePassThruByHandle new function (#25)
  • uefi: (*BootServices).LocateNVMePassThruHandles new function (#25)

Full Changelog: v1.8.1...v1.9