Skip to content

Add picotool help topics - #342

Open
will-v-pi wants to merge 15 commits into
developfrom
compress-common-opts
Open

Add picotool help topics#342
will-v-pi wants to merge 15 commits into
developfrom
compress-common-opts

Conversation

@will-v-pi

@will-v-pi will-v-pi commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

The device selection options have got quite long, so move them into a separate picotool help device-selection command, rather than appearing in every help output

Also add a family-ids topic to list available family IDs (fixes #305)

Also makes various improvements to the help output.

@kilograham

Copy link
Copy Markdown
Contributor

maybe worth renaming "device selection" at least the heading/docs (not the help option) to indicate that it has other stuff like reboot

Comment thread main.cpp
Comment thread main.cpp
Comment thread README.md Outdated
Comment thread README.md
Comment thread main.cpp
@will-v-pi

Copy link
Copy Markdown
Contributor Author

maybe worth renaming "device selection" at least the heading/docs (not the help option) to indicate that it has other stuff like reboot

I have updated it to "Options for Target Device Selection and Rebooting"

Comment thread README.md
Comment thread gen_help_txt.sh
Comment thread README.md Outdated
@lurch

lurch commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Perhaps the "Show general help or help for a specific command" now ought to say "Show general help, or help for a specific command or topic".

Comment thread main.cpp
Move device selection options into a separate picotool help device-selection command, rather than appearing in every help output

Also add a family-ids topic to list available family IDs (fixes #305)
Add docs for `version` and remove ALLOWED_MISSING_COMMANDS

"Post load actions" -> "Load options"

set/get -> get/set

Fix white-label -s option not showing up

Fix otp permissions docs
gen_help_txt.sh tidyups

Add topic mention to picotool help docs

Missing comma in block devices docs
Fixes things like --family <family_id> appearing on separate lines

Also ensures short and long options are shown in the help output
…tout

Also ensure all lines end in full-stops
Comment thread README.md Outdated
Comment thread README.md

Use "picotool help <cmd>" for more info
TOPICS:
device-selection Options for Target Device Selection and Rebooting

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The selection of Capital letters here feels a Bit Random? 🤔

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It’s just title case

Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md
Comment on lines +258 to +259
-s, --set <key> <value>
Set config variable name to new value

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Outside the scope of this PR, but if picotool config allows you to set the value of a particular config key, it'd probably also be useful if it allowed you to get the value of a single config key?

Comment thread README.md
Comment thread README.md
Specify the OTP page storing the AES key (IV salt is stored on the next page)
<page>
OTP page (default 29)
--otp-key-page <page>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this command fail if given an otp-key-page but not an otp JSON filename? (And similarly does it fail if given an otp JSON filename but not an otp-key-page?)

And presumably the --sign command fails if not given a <signing_key>?

Hmm, is the <signing_key> option of the encrypt command the same thing as the <key> option of the seal command? (If they are, perhaps it makes sense to rename seal's option for consistency?)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this command fail if given an otp-key-page but not an otp JSON filename? (And similarly does it fail if given an otp JSON filename but not an otp-key-page?)

No - both of those are entirely valid use-cases (the key page is in the binary, not just the JSON file, and has a default value when not provided)

And presumably the --sign command fails if not given a <signing_key>?

Yes, that does fail with missing key file for signing after encryption

Hmm, is the <signing_key> option of the encrypt command the same thing as the <key> option of the seal command? (If they are, perhaps it makes sense to rename seal's option for consistency?)

They are the same, but seal only takes 1 key, whereas encrypt takes a signing key and an encryption key, hence having different names

Comment thread README.md Outdated
Specify file type (elf) explicitly, ignoring file extension
Partition Table Options
--sign <keyfile>
The file name

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should "The file name" here be "Signing Key file (.pem)" ?

Hmm, should the <bootloader> option's "The file name" text be clarified too?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have fixed up the keyfile, the bootloader file is documented above as "Embed partition table into bootloader ELF"

will-v-pi and others added 3 commits September 10, 2026 13:36
Co-authored-by: Andrew Scheller <andrew.scheller@raspberrypi.com>
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.

Improve discoverability of family names and improve the user experience in related error messages

3 participants