Hi forum,
I generated keys and fused my Jetson Orin 64GB Devkit using L4T Version 35.6.0 with PKC, SBK and BootSecurityInfo using the documented process from here - Secure Boot — NVIDIA Jetson Linux Developer Guide 1 documentation
I fused the board successfully with the below fuse.xml. Followed this doc/section to burn fuse - Secure Boot — NVIDIA Jetson Linux Developer Guide 1 documentation i.e Linux_for_Tegra$ sudo ./odmfuse.sh -X fuse.xml -i 0x23 jetson-agx-orin-devkit
fuse.xml:
<genericfuse MagicId="0x45535546" version="1.0.0">
<fuse name="PublicKeyHash" size="64" value="0x<REDACTED>"/>
<fuse name="SecureBootKey" size="32" value="0x<REDACTED>"/>
<fuse name="BootSecurityInfo" size="4" value="0x1E9"/>
</genericfuse>
Host Setup:
Native Ubuntu 20.04
USB Autosuspend -1 set
Many different cables tried - 3.0 and 2.0
- I’m certain the keys are correct (pkc is rsa3072)
- I’m certain the SBK keys are correct
Fusing Log Snippet:
odm_lock: 0x00000000
revoke_pk_h0: 0x00000000
revoke_pk_h1: 0x00000000
optin_enable: 0x00000000
public_key_hash: 0xfa3a8707da5fc9e5e3b8f63f6d6cf1027c5b3f15c1a947d2e3f2eeb003cecb98e55ff0348a6cd739acdddbfef7e8838188e81a88191f81907c589428d0880764
boot_security_info: 0x000001e9
odmid: 0x0000000000000000
pk_h1: 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
pk_h2: 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
security_mode: 0x00000000
reserved_odm2: 0x00000000
reserved_odm3: 0x00000000
reserved_odm0: 0x00000000
reserved_odm1: 0x00000000
reserved_odm6: 0x00000000
reserved_odm7: 0x00000000
reserved_odm4: 0x00000000
reserved_odm5: 0x00000000
odminfo: 0x00000000
system_fw_field_ratchet1: 0x00000000
system_fw_field_ratchet0: 0x00000000
system_fw_field_ratchet3: 0x00000000
system_fw_field_ratchet2: 0x00000000
Flash Log:
Linux_for_Tegra$ sudo ./flash.sh -u pkc.pem -v sbk.key jetson-agx-orin-devkit internal
<LOG_CUT_TO_END>
[ 0.6360 ] tegrarcm_v2 --new_session --chip 0x23 0 --uid --download bct_br br_bct_BR.bct --download mb1 mb1_t234_prod_aligned_sigheader_encrypt.bin.signed --download psc_bl1 psc_bl1_t234_prod_aligned_sigheader_encrypt.bin.signed --download bct_mb1 mb1_bct_MB1_sigheader_encrypt.bct.signed
[ 0.6369 ] BR_CID: 0x89012344705E02216C0000000F008240
[ 1.0415 ] Sending bct_br
[ 1.4380 ] Sending mb1
[ 1.5415 ] ERROR: might be timeout in USB write.
[ 1.5415 ]
Error: Return value 3
Command tegrarcm_v2 --new_session --chip 0x23 0 --uid --download bct_br br_bct_BR.bct --download mb1 mb1_t234_prod_aligned_sigheader_encrypt.bin.signed --download psc_bl1 psc_bl1_t234_prod_aligned_sigheader_encrypt.bin.signed --download bct_mb1 mb1_bct_MB1_sigheader_encrypt.bct.signed
Reading board information failed.
When passed only the PKC key to the flash.sh with --noflash to sign and then flash using the command sudo bash ./flashcmd.txt the flashing is done successful and board boots with warning
“WARNING: Test key is used”.
Please suggest me on how do I flash and boot the image with PKC and SBK key. Also please suggest on which format the SBK key should be passed to the ./flash.sh command
$ cat sbk.key
0x11223344 0x55667788 0x99aabbcc 0xddeeff00 0xffeeddcc 0xbbaa9988 0x77665544 0x33221100
(OR)
$ cat sbk.key
0x112233445566778899aabbccddeeff00ffeeddccbbaa99887766554433221100
