NVME-RPMB-PROGRAM-KEY(1)
π nvme-rpmb-program-key π
hiii bestie, welcome to the nvme-rpmb-program page for section 1 of the manual π yes the same nvme-rpmb-program family, but this one is all about the key programming situation. buckle up, it's a one-way door πͺβ¨
πΈ NAME πΈ
nvme-rpmb-program-key β Program the RPMB authentication key π
okay so that's literally the whole vibe: you're writing an auth key into RPMB. that's it. that's the girlboss job π
β¨ SYNOPSIS β¨
nvme [<global-options>] rpmb program-key <device>
[--key=<key> | -k <key>]
[--keyfile=<key-file> | -g <key-file>]
[--target=<target-id> | -t <target-id>]
like, you need a <device>, and then you get to pick your flavor of key source and target id. very choose-your-own-adventure π¦
π«Ά DESCRIPTION π«Ά
So what it does: it programs the given authentication key to the specified RPMB target. That's the whole thing. Cute and simple, right? π
β οΈ okay bestie, listen to me very carefully: per the RPMB spec, this is a one time action per target, and it cannot be undone. no take-backs, no undo button, no "jk lol" π this is the main-character decision of your RPMB life. not me being dramatic, that's literally what the spec says π
The <device> parameter is mandatory, and it has to be an NVMe character device β like, example: /dev/nvme0. don't roll up with anything else, it's not gonna slay π
π OPTIONS π
-t <target>,--target=<target>β the RPMB target id π― this should be one of the supported RPMB targets as reported bynvme rpmb info(go check her out first, she tells you what's available). if you pass nothing, the default of0is used as the RPMB target. lowkey handy, highkey make sure it's the right one π-k <key>,--key=<key>,-g <key-file>,--keyfile=<key-file>β the authentication key to program π you can hand it over right on the command line with--keyor-k, or read it out of a file with--keyfileor-g. either way, the key size must be between 1 and 223 bytes. yes,1. yes,223. those exact numbers, no cap π§
π GLOBAL OPTIONS π
these are defined up at the top-level nvme command, and they're available to this subcommand too β so basically the big-sister options that filter down π«Ά
--dry-runβ print the command that would be executed, but don't actually execute it. a little peek, no commitment π iconic for checking yourself before you wreck yourself.--no-ioctl-probingβ disable probing for 64-bit IOCTL support. just turn the probing off, periodt.--no-retriesβ disable retry logic on transient errors. one shot, one opportunity π―-o <fmt>,--output-format=<fmt>β set the reporting format tonormal,tabular,'json, orbinary. only one output format may be used at a time, so pick your fave and commit π (yes'jsonis written like that, iykyk, i don't make the rules)--output-format-version=<version>β select the output format version. version1uses the original field naming, while version2(default) provides more consistent and script-friendly field names. any other versions are rejected π« so don't get creative.--quietβ suppress informational messages. errors are still reported (you can't hide from the truth bestie π), and--quietcancels any--verbosefor the library log level. they literally cancel each other out, it's giving enemies to lovers π--set-options=<key=value>[,<key=value>...]β set libnvme library options for this invocation. supported keys areforce-4k,mi-probe-enabled,test-base-dirandtest-sysfs-dir. that's the list, no extras β¨--timeout=<ms>β set the timeout for the command in milliseconds.infiniteor-1waits without a time limit (0xffffffff). so you can be patient, or patient patient π°οΈ-v,--verboseβ increase the level of detail in the output. may be specified multiple times to further increase verbosity. stack it, layer it, make it loud π’
Also β these options can also be set as machine-wide defaults in nvme-cli.conf(5). but a command-line flag always overrides the file, so your CLI energy wins every time π
π EXAMPLES π
- Program
SecretKeyas authentication key for target1:
# nvme rpmb program-key /dev/nvme0 --key='SecretKey' --target=1
see how clean that is? device, key, target. slay, ate, no crumbs π₯
π NVME π
Part of the nvme-user suite π§ββοΈ like yeah, she's with her friends.
and that's the whole page bestie!! π signing off from the NVME-RPMB-PROGRAM manual page (section 1), brought to you by the nvme-user suite β go program that key responsibly, and remember: it cannot be undone ππ
π
π¦ where this page comes from
- arch rolling: nvme-cli 3.2-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms