Skip to content

uefi-firmware: Incremental rebuild optimizations#491

Open
elliotberman wants to merge 5 commits into
anduril:masterfrom
elliotberman:patchfv
Open

uefi-firmware: Incremental rebuild optimizations#491
elliotberman wants to merge 5 commits into
anduril:masterfrom
elliotberman:patchfv

Conversation

@elliotberman
Copy link
Copy Markdown
Collaborator

@elliotberman elliotberman commented Apr 8, 2026

Description of changes

When anything in the BUP changes (e.g. devicetree), it requires rebuilding all of uefi-firmware which takes several minutes in order to use the new BUP unique hash. To help increase the develop-test cycle, we can build EDK2 with a well-known version string and then do a find/replace to the unique version string using patchfv.

TODO:

  • Use patchfv in r35
  • Use patchfv in r36
  • Use patchfv in r37
  • Pull out StandaloneMMOPTEE into separate top-level drv so OP-TEE doesn't have to rebuild one BUP hash changes (possibly separate PR)
Testing
  • boot Orin JP6
  • boot JP5
  • boot JP7

This allows us to pass additional arguments to mkDerivation when calling
mkStuartDrv.
This allows us to pass additional arguments to mkDerivation when calling
mkJetsonUefi.
If the base Jetson UEFI rebuilds due to uniqueHash change, we also
rebuild jetsonStandaloneMMOptee. This is unnecessary because the hash is
not used anywhere. Break the not-needed dependency and consume
jetsonStandaloneMMOptee directly.
@elliotberman elliotberman marked this pull request as ready for review June 4, 2026 22:45
@elliotberman elliotberman force-pushed the patchfv branch 2 times, most recently from 25b2a30 to 24091ec Compare June 4, 2026 23:44
@elliotberman elliotberman changed the title uefi-firmware: Patch biosVersion hash as a separate derivation using patchfv uefi-firmware: Incremental rebuild optimizations Jun 5, 2026
Introduce a tool to patch a string in a UEFI Firmware Volume. The Python
script recursively explores all firmware volume structures and does a
find/replace on a given string argument. This tool will be used to patch
the UEFI version string.
…patchfv

When anything in the BUP changes (e.g. devicetree), it requires
rebuilding all of uefi-firmware which takes several minutes in order to
use the new BUP unique hash. To help increase the develop-test cycle, we
can build EDK2 with a well-known version string and then do a
find/replace to the unique version string using patchfv.
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