Skip to content

Update uefi to 0.35+#184

Merged
JohnAZoidberg merged 3 commits intomainfrom
uefi-update
Mar 7, 2026
Merged

Update uefi to 0.35+#184
JohnAZoidberg merged 3 commits intomainfrom
uefi-update

Conversation

@JohnAZoidberg
Copy link
Member

@JohnAZoidberg JohnAZoidberg commented Jun 29, 2025

Updating from uefi 0.20 to 0.35. Actually need unreleased changes, so building from their latest master.

Testing:

  • framework_tool --info correctly gets SMBIOS table (tested on QEMU and Framework hardware)
  • framework_tool --esrt correctly gets ESRT table (tested on Framework hardware)
  • Can get arguments from shell and script
  • framework_tool -h -b prints as much as fits on the screen and pauses
  • framework_tool.efi --hash framework_tool.efi prints the correct file hash
  • framework_tool --capsule winux.bin --dump dump.bmp can extract the image (check by comparing hash)

@JohnAZoidberg
Copy link
Member Author

Rebased on top of latest main branch. Haven't retested yet.
Pushed old branch to: uefi-update-june2025

Add automated UEFI testing using QEMU. The test framework:
- Downloads OVMF firmware for QEMU
- Builds a test disk image with the UEFI shell and framework tool
- Runs test.nsh which exercises version, help, hash, and capsule commands
- Validates results via serial output markers (TESTS_COMPLETE/TEST_FAILED)
- Adds CI job to run UEFI tests on ubuntu-24.04

Signed-off-by: Daniel Schaefer <dhs@frame.work>
Rename the internal uefi module to fw_uefi to avoid naming conflicts
with the uefi crate, in preparation for updating to uefi 0.36.1.

Signed-off-by: Daniel Schaefer <dhs@frame.work>
Update from the custom Framework fork of uefi 0.20/uefi-services 0.17
to upstream uefi 0.36.1 from crates.io.

Key changes:
- Replace uefi-services with uefi's built-in global_allocator,
  panic_handler, and logger features
- Add uefi-raw 0.13 for direct access to shell protocol FFI
- Rewrite fw_uefi module to use the new boot:: global API instead of
  accessing BootServices through the system table
- Rewrite shell file I/O to use raw ShellProtocol FFI
- Simplify UEFI entry point (no more explicit Handle/SystemTable params)
- Remove custom git patches from Cargo.toml

Signed-off-by: Daniel Schaefer <dhs@frame.work>
@JohnAZoidberg JohnAZoidberg merged commit f9cb1c2 into main Mar 7, 2026
8 checks passed
@JohnAZoidberg JohnAZoidberg deleted the uefi-update branch March 7, 2026 11:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant