It seems many people have problems when following these instructions. I was hoping to follow most of the steps without burning or flashing before repeating ‘for real’.
I’m trying to complete Burning PKC [DK(KEK), SBK] Fuses using sudo ./odmfuse.sh --noburn -j -i 0x19 -c PKC -p -k my_privkey.pem -S my_sbk.key jetson-xavier-nx-devkit-emmc but I get an error.
v4@v4-ubuntu-matt:~/l4t-32.5/Linux_for_Tegra$ sudo ./odmfuse.sh --noburn -j -i 0x19 -c PKC -p -k ../../rsa_priv.pem -S ../../sbk.key jetson-xavier-nx-devkit-emmc
Board ID() version() sku() revision()
copying sdram_config(/home/v4/l4t-32.5/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-bct-memcfg-p3668-0001-a00.cfg)... done.
copying sdram_config1(/home/v4/l4t-32.5/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-memcfg-sw-override.cfg)... done.
...
Existing applet(/home/v4/l4t-32.5/Linux_for_Tegra/bootloader/mb1_t194_prod.bin) reused.
*** Calculating HASH from keyfile /home/v4/rsa_priv.pem ... done
PKC HASH: 0xedcb6ab8ba40af31c585cc7dcef373bdc8755d5c3ac49c2a46ab7a43797edfb0
*** Generating fuse configuration ... done.
done.
*** Start preparing fuse configuration ...
tar: bootloader//home/v4/l4t-32.5/Linux_for_Tegra/bootloader/t186ref/BCT: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors
*** done.
v4@v4-ubuntu-matt:~/l4t-32.5/Linux_for_Tegra$
fuseblob.tbz2 gets created but it seems odmfuse.sh is trying to add something incorrectly. The invalid path appears to be related to ${uphy_config} and ${uphy_configname}.
I tried with an NX in recovery mode connected. I also tried adding BOARDID=3668 FAB=100 BOARDSKU=0001 BOARDREV=F.0 to the command (I found this in another post, I don’t know it matches my board!). The error was the same.
I’m using Jetpack 4.5.1/L4T 32.5.1. I downloaded Secureboot package 32.3.1 (secureboot_R32.3.1_aarch64.tbz2).
Any help with Secureboot will be greatly appreciated!
there’s No such file or directory failure, it looks you’re executing the script under incorrect path.
you should extract the secure boot package under JetPack installation folder to perform the odmfuse.sh.
BTW, please also check Topic 158361 for the steps to fuse burning Xavier NX eMMC modules.
thanks
Hi @JerryChang , thanks for helping. I’m sorry I have tried to follow this instructions but it’s complicated, right?
bootloader//home/v4/l4t-32.5/Linux_for_Tegra/bootloader/t186ref/BCT is clearly not a valid path but I don’t understand how ${uphy_configname} is configured and came to contain this value.
/home/v4/l4t-32.5/Linux_for_Tegra/bootloader/t186ref/BCT is a valid path that exists:
Yes, I thought that what I was doing. I can use flash.sh to successfully flash NX and TX2 developer kits. I haven’t used flash.sh to flash an NX production module yet. I appreciate I mustn’t use odmfuse.sh with the NX SD-card module, which is why I’m practicing with --noburn.
I created the Linux_for_Tegra directory by following the instructions from here, Preparing a Jetson Developer Kit for Use. I downloaded jetson_linux_r32.5.2_aarch64.tbz2 and tegra_linux_sample-root-filesystem_r32.5.2_aarch64.tbz2 from L4T Archive.
I’m happy to install Jetpack and/or L4T using a different approach if I’ve done something wrong. I have installed SDK Manager but I was uncertain about the L4T it was using so decided to use L4T from the archive.
Yes, I’ve seen that post and was trying to do what it says. There are 3 obvious differences with what I’m doing:
It says ‘Jetpack 4.4’ whereas I think I’m using Jetpack 4.5.1 (L4T 32.5.2).
The example command includes BOARDID=3668 BOARDSKU=0001 FAB=100 BOARDREV=H.0. I tried adding this to my command but it made no difference.
The example command includes --KEK2 kek2.key. My command doesn’t include --KEK2 because I don’t understand what the KEK is.
FYI, PKC for sign, if PKC is burned, then the KEYFILE users provide is for signing the images. SBK for encryption, if SBK is burned, then the SBKFILE users provide is for encrypting the images.
since you’ve burn the target with PKC only, that’s not encrypted.