-
Notifications
You must be signed in to change notification settings - Fork 19.9k
signing: Improvements to the Bootloader and Firmware Signing Process #31623
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
joshanne
wants to merge
3
commits into
ArduPilot:master
Choose a base branch
from
joshanne:pr/improvements-to-bl-fw-signing
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
signing: Improvements to the Bootloader and Firmware Signing Process #31623
joshanne
wants to merge
3
commits into
ArduPilot:master
from
joshanne:pr/improvements-to-bl-fw-signing
+54
−26
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
joshanne
commented
Nov 30, 2025
4c72381 to
30cf056
Compare
Contributor
Author
|
I'll have a follow up PR for these changes soon too. |
tridge
approved these changes
Dec 2, 2025
Contributor
|
@joshanne nice cleanups! |
30cf056 to
2931f32
Compare
peterbarker
approved these changes
Dec 2, 2025
Contributor
peterbarker
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've fixed the commit message
tridge
requested changes
Dec 3, 2025
This fixes make_secure_bl writing to the incorrect file (sys.argv[1]). The resultant file was whatever argv[1] was passed in as, which could have been --omit-ardupilot-keys. This fixes make_secure_fw not running at all because of a possible return outside of a function. Also improves argument passing so we can get ourselves a better help file.
Adds ability to pass --omit-ardupilot-keys to build_bootloaders.py Adds ability to pass multiple public keys to the signing of the bootloader. This extends the functionality of the single key that was previously possible. All keys are prefixed with --signing-key and are appended to the args.signing_key array. All keys are checked for presense, and type before being used to sign the bootloader. General tidy up of the argument parser, prints a proper description of the role of the file.
…d with the compact method of signing firmware If the firmware file is built and signed using the compact method (ie. build and sign firmware at the same time) then the firmware file is not updated with the field signed_firmware. If the firmware file is built using the long form method (ie. build the firmware first, then sign after) then the apj is updated with the field signed_firmware. This ensures both signed firmware is consistent and contains the 'signed_firmware' field.
2931f32 to
5abc64e
Compare
andyp1per
approved these changes
Dec 3, 2025
Contributor
andyp1per
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Generally improve bootloader and firmware signing process, allowing for bootloaders to be built without the ardupilot keys, specify multiple keys, fix consistency on built and signed firmware files.