Board - Jetson Orin Nano Dev Kit | Jetson 6.2.1 | nvme external drive | host: x86 Ubuntu 24.04 (have tried others)
Enabling Secure Boot and Encrypted FS
Issue 1: I cant successfully write encrypted FS to NVME. I keep getting errors referring to ERROR: might be timeout in USB write when trying to flash encrypted images to the dev kit. I’ve had errors like this regularly doing any type of flashing to the board.
I’ve tried:
- Different Ubuntu Versions (Disk Encryption docs say use 24.04)
- Different cables
- Disabling USB Autosuspend (as per the FAQ)
- Re-doing RCM mode at each stage of the
l4t_initrd_flash.shprocess
This command: ./tools/kernel_flash/l4t_initrd_flash.sh --network usb0 --showlogs --flash-only
Results in this error:
[ 0.0279 ] BR_CID: <>
[ 0.0348 ] Sending bct_br
[ 0.0407 ] Sending mb1
[ 0.0412 ] ERROR: might be timeout in USB write.
Error: Return value 3
I can only get the previous commands to work if I prepend the environment variable flags so it doesnt talk to the board during the operation, e.g.:
BOARDID=3767 FAB=300 BOARDSKU=0005 BOARDREV=K.2 ROOTFS_ENC=1 ./tools/kernel_flash/l4t_initrd_flash.sh --no-flash -S 60GiB -i sym2_t234.key -u pkc.pem -v sbk.key --network usb0 --usb-instance 1-8 --device-instance 0 --external-device nvme0n1 --external-only --append -c tools/kernel_flash/flash_l4t_t234_nvme_rootfs_enc.xml jetson-orin-nano-devkit external
Issue 2: The Fuse burning process doesnt burn any fuse other than the PKC. I’ve changed the BootSecurityInfo to 0x3E9 after reading the forums and finding my board shipped with a pre-burned value. However despite odmfuse completing successfully it doesnt write any of the other fuses. I need SecureBootKey and OemK1 - for use with LUKS (I followed the documentation here: Disk Encryption — NVIDIA Jetson Linux Developer Guide
The odmfuse process completes successfully, but the logs to show this which has me concerned (the PKC key was the only thing that burned successfully)
[ 3.1144 ] Assuming zero filled SBK key
[ 3.1152 ] Warning: pub_key.key is not found
I’ve been through the forums for the last few days and tried all of the suggestions buried within aswell as following the various processes in the docs.
I thought using the ethernet protocol may improve things with l4t_initrd_flash (as per the README) but I couldnt get that method to function at all.
I have successfully flashed and used the Jetson using a non-encrypted FS; even after the PKC fuse was burned, but secure boot was still disabled - presumably because the SecurityMode and BootSecurityInfo fuses didnt burn at all; so the device isnt bricked.
Any guidance much appreciated!