Cannot use flash cmd after burn fuse

我看了Linux_for_Tegra/bootloader/README_Massfuse.txt,我有一些疑惑:

Q1 : 使用OFFLINE 模式生成时需要指定 board 信息,在README_Massfuse.txt 中我的 Orin nx 16GB 信息如下

bdid bdsku fab bdrev chiprev chipsku

--------------------------------+-----+------+----+------+--------+--------

jetson-orin-nx-devkit-16gb (SKU0)3701 0000 500 J.0 1 D0

在nvmassfusegen.sh的1198行左右,Orin nx 16gb只有bdid bdsku ,在这里FAB BOARDREV是空的

#                                   bdid  bdsku  fab  bdrev  chiprev  chipsku
#  ----------------------------------+-----+------+----+------+--------+--------
#  jetson-agx-orin-devkit             3701  0004   TS4  A.0    1        D0
#  jetson-agx-orin-devkit (64GB)      3701  0005
#  jetson-orin-nano-devkit (NX 16GB)  3767  0000
#  jetson-orin-nano-devkit (NX 8GB)   3767  0001
#  jetson-orin-nano-devkit (Nano 4GB) 3767  0004

在 Orin nx 的烧录 log ,可能是以下值。

BOARDID=3767 BOARDSKU=0000 FAB=300 BOARDREV=J.1 FUSELEVEL=fuselevel_production

请帮忙确认下Orin nx 16GB版本应该填写什么值,BOARDID=3767 BOARDSKU=0000是否已经足够?

Q2 : 通过TXT我们得知,massfuse有两步:准备blob,使用blob烧录

准备blob我打算使用以下命令(假设BOARDID这些没问题)

sudo BOARDID=3767 BOARDSKU=0000 FAB=300 BOARDREV=J.1 FUSELEVEL=fuselevel_production \
  ./nvmassfusegen.sh -i 0x23 --auth NS \
  -k tools/pkc/rsa_priv.pem -S tools/pkc/sbk-32.key \
  jetson-orin-nano-devkit-super

Topic 222924 中还添加了-p 和 --noburn,这两个选项在Orin nx上是否需要?

Q3 : 在Q2的命令中的–auth具体有什么作用,如果只是生成blob用于后续烧录,设置NS PKC SBKPKC有什么区别?

hello 1031150349,

>> Q1
Orin architecture takes 2 more environment arguments (CHIPREV, CHIP_SKU) for OFFLINE fuse method.
so, odmfuse script it requires env variable.. FAB, BOARDID, BOARDSKU, BOARDREV, CHIPREV, and CHIP_SKU in order to run in the offline mode.

>> Q2.1
--auth option is only needed in offline mode, it’s indicating the current fuse status of the board.
in short, there’re three options need to enabled all together for the offline approach, (a) board info, (b) --noburn, (c) --auth.
>> Q2.2
-p it’s the option to set the SecurityMode, or, also known as odm_production_mode .
beware that, once this fuse is burned with a value of 0x1, all additional fuse write requests will be blocked.

>> Q3
as mentioned above, it’s indicating the current fuse status of the board.
for example, it’s NS if you’ve not yet burn fuse to this target.

Orin nx的CHIP_SKU是什么?我并没有查询到

这些解释我在其他地方看到过,但并不清除底层原理。我们换个角度,这些设置会影响我最终的fuse烧录值吗?在我的理解里,是否设置SecurityMode以及是否开启验证应该只与fuse.xml中的value相关。

这里的意思是-p可能影响fuse.xml中的SecurityMode值?–auth可能会影响BootSecurityInfo的值?

这里指的是设置成NS后,在进入到mfuse_jetson-agx-orin-devkit后执行sudo ./nvmfuse.sh不会烧录fuse?

hello 1031150349,

please see-also jetson_board_spec.cfg as an example,


t23x_3767_bl_spec=(
    # orin-nx 16GB
    'boardid=3767;fab=000;boardsku=0000;boardrev=;chiprev=;chipsku=00:00:00:D3;board=jetson-orin-nano-devkit;rootdev=mmcblk0p1;bup_type=bl'
    # orin-nx 8GB
    'boardid=3767;fab=000;boardsku=0001;boardrev=;chiprev=;chipsku=00:00:00:D4;board=jetson-orin-nano-devkit;rootdev=mmcblk0p1;bup_type=bl'

odmfuse script with -p options do the same as setting SecurityMode to 0x1.

--auth NS meant you’re doing fuse onto this non-fuse target. it’ll fuse a target depends-on your fuse programming values.

1 Like