First attempt to use bootburn, Yocto build, python errors

Please provide the following info (tick the boxes after creating this topic):
Software Version
DRIVE OS 6.0.8.1
DRIVE OS 6.0.6
DRIVE OS 6.0.5
DRIVE OS 6.0.4 (rev. 1)
DRIVE OS 6.0.4 SDK
other

Target Operating System
Linux
QNX
other

Hardware Platform
DRIVE AGX Orin Developer Kit (940-63710-0010-300)
DRIVE AGX Orin Developer Kit (940-63710-0010-200)
DRIVE AGX Orin Developer Kit (940-63710-0010-100)
DRIVE AGX Orin Developer Kit (940-63710-0010-D00)
DRIVE AGX Orin Developer Kit (940-63710-0010-C00)
DRIVE AGX Orin Developer Kit (not sure its number)
other

SDK Manager Version
1.9.3.10904
other

Host Machine Version
native Ubuntu Linux 20.04 Host installed with SDK Manager
native Ubuntu Linux 20.04 Host installed with DRIVE OS Docker Containers
native Ubuntu Linux 18.04 Host installed with DRIVE OS Docker Containers
other

I followed the instructions at Setting Up the Yocto Environment Using Docker Containers | NVIDIA Docs to install the Yocto build docker and its dependencies, and I followed To build NVIDIA Yocto Project-based components | NVIDIA Docs to build yocto. This went well, and subsequently I attempted to flash this build to my Orin development kit.
I followed the instructions at To flash Yocto built images via bootburn | NVIDIA Docs to copy the images to the canonical paths within the docker filesystem, then invoked bootburn as directed, but encountered this error:

/docker:d0421ebcf1f9:/drive/ #$ cd /drive/drive-foundation/tools/flashtools/bootburn/
/docker:d0421ebcf1f9:/drive/ #$ ./bootburn.py -b p3710-10-a04
****** Starting bootburn/bootburn.py ********
********* Starting t23x bootburn py ********
Bootburn Starting with arguments [‘./bootburn.py’, ‘-b’, ‘p3710-10-a04’]
logfile :: /drive/drive-foundation/tools/flashtools/bootburn_t23x_py/bootburn.txt
cwd in setBoardConfigPath :: /drive/drive-foundation/tools/flashtools/bootburn_t23x_py
trying hardware folder:
/drive/drive-foundation/platform-config/hardware/nvidia/platform/t23x/automotive/flashing/board_configs

cwd in loadBoardGoldenRegsFile :: /drive/drive-foundation/tools/flashtools/bootburn_t23x_py
Default Schema:/drive/drive-foundation/tools/flashtools/bootburn_t23x_py/nv-customer-data-schema.json

Check finished successfully
Done parsing command line

[bootburn]: [getListTargetsInRecovery(3975)] : Bus 001 Device 007: ID 0955:7045 NVIDIA Corp. USB Virtual Hub
[bootburn]: [CheckRecoveryTargets(3933)] : No recovery-target found; Make sure the target device is connected to the
[bootburn]: [CheckRecoveryTargets(3934)] : host and is in recovery mode. Exiting
command line used was:
[‘./bootburn.py’, ‘-b’, ‘p3710-10-a04’]

ERROR_TARGET_RECOVERY

Exception caught in bootburn
Traceback (most recent call last):
File “/drive/drive-foundation/tools/flashtools/bootburn/…/bootburn_t23x_py/bootburn.py”, line 271, in bootburn
bootburnLib.CheckRecoveryTargets()
File “/drive/drive-foundation/tools/flashtools/bootburn/…/bootburn_t23x_py/bootburn_lib.py”, line 3935, in CheckRecoveryTargets
AbnormalTermination(“ERROR_TARGET_RECOVERY”, nverror.NvError_ResourceError)
File “/drive/drive-foundation/tools/flashtools/bootburn/…/bootburn_t23x_py/flashtools_nverror.py”, line 251, in AbnormalTermination
raise OSError(errorCode)
OSError: 15

What are the next steps for making progress with flashing this build?

Some further details: I did in fact send the commands to the Aurix to trigger recovery mode:

NvShell>tegrarecovery x1 on
tegrarecovery x1 on
Info: Executing cmd: tegrarecovery, argc: 2, args: x1 on
Command Executed
NvShell>tegrareset x1
tegrareset x1
Info: Executing cmd: tegrareset, argc: 1, args: x1
NvShell>INFO: MCU_PLTFPWRMGR: Reseting Tegra
INFO: MCU_PLTFPWRMGR: VRS11 PG Monitoring disable.
INFO: NVMCU_ORINPWRCTRL: Wait for Safe Shutdown notification…(20 seconds max)
INFO: BtChn_Cfg: Tegra x1 Boot Chain is : A
INFO: BtChn_Cfg: Bootchain Pin 0xc set to 0
INFO: BtChn_Cfg: Bootchain Pin 0x150 set to 0
INFO: MCU_PLTFPWRMGR: Tegra reset trigger is complete !
Command Executed
MCU_FOH: MCU FOH : Initiate SOC Error Pin Monitoring & SPI communication
MCU_FOH: MCU FOH : Start Monitoring Initiated
MCU_FOH: Spi Transmit Started
MCU_FOH: SOC error pin is asserted
ERROR: MCU_ERRHANDLER: SOC error pin is asserted
INFO: SftyMon_IoHwAbs: PG_VRS11 monitoring started…
INFO: MCU_SWC_FanControl: max_rpm fan2 : 0
INFO: MCU_SWC_FanControl: maxrpm of fan2 has more than 50 percent deviation against rated maxrpm
INFO : MCU_ISTMGR: IST Manager initialized to send/receive commands
INFO : IST_TESTAPP: IST Result Ready to fetch

It is unclear to me whether these log lines indicate that recovery mode was successfully entered.

Dear @dwuertele ,
Could you share lsusb output on host after connecting host and target?

Calling lsusb when orin host is booted and responsive:
/docker:d0421ebcf1f9:/drive/drive-foundation/tools/flashtools/bootburn/ #$ lsusb
Bus 002 Device 002: ID 0451:8140 Texas Instruments, Inc. TUSB8041 4-Port Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 007: ID 0955:7045 NVIDIA Corp. USB Virtual Hub
Bus 001 Device 003: ID 0451:8142 Texas Instruments, Inc. TUSB8041 4-Port Hub
Bus 001 Device 006: ID 0b1f:03ee Insyde Software Corp. USB Virtual Hub
Bus 001 Device 004: ID 0557:9241 ATEN International Co., Ltd
Bus 001 Device 002: ID 1d6b:0107 Linux Foundation USB Virtual Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Calling lsusb after issuing tegrarecovery x1 on to Aurix NvShell
/docker:d0421ebcf1f9:/drive/drive-foundation/tools/flashtools/bootburn/ #$ lsusb
Bus 002 Device 002: ID 0451:8140 Texas Instruments, Inc. TUSB8041 4-Port Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 007: ID 0955:7045 NVIDIA Corp. USB Virtual Hub
Bus 001 Device 003: ID 0451:8142 Texas Instruments, Inc. TUSB8041 4-Port Hub
Bus 001 Device 006: ID 0b1f:03ee Insyde Software Corp. USB Virtual Hub
Bus 001 Device 004: ID 0557:9241 ATEN International Co., Ltd
Bus 001 Device 002: ID 1d6b:0107 Linux Foundation USB Virtual Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Calling lsusb after issuing tegrareset x1 to Aurix on NvShell:
/docker:d0421ebcf1f9:/drive/drive-foundation/tools/flashtools/bootburn/ #$ lsusb
Bus 002 Device 002: ID 0451:8140 Texas Instruments, Inc. TUSB8041 4-Port Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 007: ID 0955:7045 NVIDIA Corp. USB Virtual Hub
Bus 001 Device 003: ID 0451:8142 Texas Instruments, Inc. TUSB8041 4-Port Hub
Bus 001 Device 006: ID 0b1f:03ee Insyde Software Corp. USB Virtual Hub
Bus 001 Device 004: ID 0557:9241 ATEN International Co., Ltd
Bus 001 Device 002: ID 1d6b:0107 Linux Foundation USB Virtual Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Waiting 30 seconds and calling lsusb again, waiting a minute, waiting 10 minutes, always results in the same output.

Here is the output from the orin boot console (via picocom /dev/ttyACM0 --baud 115200) while issuing the tegrareset command to Aurix NvShell:

132] I> Task: strap war set (0x5000c245)
[0000.136] I> strap vaEnd:0x0
[0000.443] I> Non-ECC region[4]: Start:0x0, End:0x0
[0c00000 size:0x100000 align: 0x100000
[0000.613] I> allocated(COI> allocated(CO:05) base:0x847800000 size:0x100000 align: 0x100000.767] I> Task: Common rail init (0x500148ed)
[0000.782] I> DO89] W> PMIC_CONFIG: Rail: MEMIO rail config not found in MB1 BCTming for MemoryType: 4 and MemBctRevision: 9
[0000.842] I> MSS > Encryption: MTS: en, TX: en, VPR: en, GSC: en
[0000.861] I>: MB1 fixed firewalls (0x5001fc05)
: Binary name: BPMP_FW
[0001.136] I> Size of crypto header is 8ead from storage
[0001.156] I> BCH address is : 0x807fe000
[0006] I> Binary BPMP_FW loaded successfully at 0x80000000 (0x1027c9] I> Slot: 0
[0001.311] I> Binary[17] block-0 (partition size:t: 0
[0001.606] I> Binary[27] block-0 (partition size: 0x100000001.844] I> Task: Load MB2rf binary to SC7 ctx (0x500214b5)
[00k is success
[0002.138] I> Binary MB2 loaded successfully at 0xut (0x5000d3e1)
[0002.153] I> Task: Prepare MB2 params (0x5000d251)
[0002.215] I> Program IPC carveouts
[0002.222] I> ProgramI> MB2 (version: 0.0.0.0-t234-54845784-3bc7e73a)
I> t234-A01-0-stance: 3
stance: 0
I> UFS Hardware init successful
I> Shiftins (0x50011190)
I> Partition name: A_mb1-bootloader
I> Size ox74 I> 0xff I> 0x1d I> 0xce I> 0x69 I> 0x0c I> 0xde I> 0xte
I> Task: Memctrl reconfig pending clients (0x50002060)
I> T23b90)
I> Unhalting SPE…
I> Enabling combined UART
����spex53535452 to psc
��initialized avfs_clk_platform
initialized p 0x1
fmon_enable: FMON_HUB: detected fault 0x1
initialized clky: mdev@31 adc 0x41 lvl 132 range [113, 160]
vrs12_check_level_oseconds

Time taken from Error Reporting��ncrypt
enable xusb��I> kernel : oem authentication of header done
I> kernel : meto_Test: moduleID: 120
Dio_Test: sw_major_version: 1
Dio_Test: 288 bytes
I> secure-os: PVIT version check passed
I> tos: plai��������r Thread: 0x0
NP Debug Server Thread: 0x2
NP Debug Server Thre
vsc_dev_mgr_get_storage_device_by_id: set up device ufs_lun0
v� ��I��0��]��x��:��4�� ��00��m��0��e��0��t�� ��as��:��s�� �� ��d��0��e��x��v��8��_��3��i��0��d��point is not defined in PCT: pkcs11_keystore_ta_2, 130
nvsciipCurrent boot mode is: GPIO
Active bootchain is: A
���nvhost guest connect: module_id:1
pc_type:[1]
Registered event_type:[1] for dce_core_ipc_type:[3] module_id:7
nvhost guest connect: module_id:16
ing target_board from device-tree …
0m…

t Storage.

��[ 4.102589] Safety I2S: Clearing reset for i2s7…
[ 4��ED25519 PreHash SIGN GENERATE/VERIFY test success!
les and Directories.
terface_configure.slice.
[ OK ] Listening on eropy to /de…random 's pool a hardware RNG.
[ OK [ OK ] Started Load/Save RF Kill Switch Ste7GCM ENCRYPT/DECRYPT test success!
SHA1 test success!
SHA224 test success!
SHA384 test success!
SHA512_224 test success!
SHA512_256 test success!
SHA3_224 tesSHA Async test success!
OK ] Finished Set console font and keymapnished Load Kernel Module pstore_zone.
[ Oontainer runtime.

Here is the output from the orin console (via picocom /dev/ttyACM0 --baud 115200) while issuing the tegrareset x1 to the Aurix NvShell:

[0000.136] I> strap vaEnd:0x0
[0000.443] I> Non-ECC region[4]: Start:0x0, End:0x0
[0c00000 size:0x100000 align: 0x100000
[0000.613] I> allocated(COI> allocated(CO:05) base:0x847800000 size:0x100000 align: 0x100000.767] I> Task: Common rail init (0x500148ed)
[0000.782] I> DO89] W> PMIC_CONFIG: Rail: MEMIO rail config not found in MB1 BCTming for MemoryType: 4 and MemBctRevision: 9
[0000.842] I> MSS > Encryption: MTS: en, TX: en, VPR: en, GSC: en
[0000.861] I>: MB1 fixed firewalls (0x5001fc05)
: Binary name: BPMP_FW
[0001.136] I> Size of crypto header is 8ead from storage
[0001.156] I> BCH address is : 0x807fe000
[0006] I> Binary BPMP_FW loaded successfully at 0x80000000 (0x1027c9] I> Slot: 0
[0001.311] I> Binary[17] block-0 (partition size:t: 0
[0001.606] I> Binary[27] block-0 (partition size: 0x100000001.844] I> Task: Load MB2rf binary to SC7 ctx (0x500214b5)
[00k is success
[0002.138] I> Binary MB2 loaded successfully at 0xut (0x5000d3e1)
[0002.153] I> Task: Prepare MB2 params (0x5000d251)
[0002.215] I> Program IPC carveouts
[0002.222] I> ProgramI> MB2 (version: 0.0.0.0-t234-54845784-3bc7e73a)
I> t234-A01-0-stance: 3
stance: 0
I> UFS Hardware init successful
I> Shiftins (0x50011190)
I> Partition name: A_mb1-bootloader
I> Size ox74 I> 0xff I> 0x1d I> 0xce I> 0x69 I> 0x0c I> 0xde I> 0xte
I> Task: Memctrl reconfig pending clients (0x50002060)
I> T23b90)
I> Unhalting SPE…
I> Enabling combined UART
spex53535452 to psc
initialized avfs_clk_platform
initialized p 0x1
fmon_enable: FMON_HUB: detected fault 0x1
initialized clky: mdev@31 adc 0x41 lvl 132 range [113, 160]
vrs12_check_level_oseconds

Time taken from Error Reportingncrypt
enable xusbI> kernel : oem authentication of header done
I> kernel : meto_Test: moduleID: 120
Dio_Test: sw_major_version: 1
Dio_Test: 288 bytes
I> secure-os: PVIT version check passed
I> tos: plair Thread: 0x0
NP Debug Server Thread: 0x2
NP Debug Server Thre
vsc_dev_mgr_get_storage_device_by_id: set up device ufs_lun0
v I0]x:4 00m0e0t as:s d0exv8_3i0dpoint is not defined in PCT: pkcs11_keystore_ta_2, 130
nvsciipCurrent boot mode is: GPIO
Active bootchain is: A
nvhost guest connect: module_id:1
pc_type:[1]
Registered event_type:[1] for dce_core_ipc_type:[3] module_id:7
nvhost guest connect: module_id:16
ing target_board from device-tree …
0m…

t Storage.

[ 4.102589] Safety I2S: Clearing reset for i2s7…
[ 4ED25519 PreHash SIGN GENERATE/VERIFY test success!
les and Directories.
terface_configure.slice.
[ OK ] Listening on ropy to /derandom 's pool a hardware RNG.
[ OK [ OK ] Started Load/Save RF Kill Switch St7GCM ENCRYPT/DECRYPT test success!
SHA1 test success!
SHA224 test success!
SHA384 test success!
SHA512_224 test success!
SHA512_256 test success!
SHA3_224 tesSHA Async test success!
OK ] Finished Set console font and keymapnished Load Kernel Module pstore_zone.
[ Oontainer runtime.
000b

Dear @dwuertele,
After you set the board in recovery mode, I would expect to see an additional NVIDIA device when you run lsusb on host.
Could you share the host and target connection pictures ?
Please check the discussion in Sdkmanager Drive Orin Flash OS 6.0.6 fails - #22 by VickNV if it helps.

The link to the discussion helped - I was unaware of the need for the second USB cable. I have made progress and I can see the device in recovery mode, but I am getting a new python failure:

Bind partitions does not look to have been run for board p3710-10-a04
please make bind partitions before running bootburn

What does this refer to? I can not find the text “Bind partitions” in the documentation.

Dear @dwuertele,
Please check if P/N matches to board variant in the table at DRIVE Platform Supported Boards | NVIDIA Docs

Please see Bind Options | NVIDIA Docs for bind commands.

Note once flashing is successful, you have to put the board in normal mode and reset the tegra.

The Orin system does not have any physical indication of part number on its chassis, but I did find a sticker on the Dev Kit box: 940-63710-0010-200

According to DRIVE Platform Supported Boards | NVIDIA Docs the part number 940-63710-0010-200 is associated with board variant p3710-10-s05.

I re-ran bootburn using this exact board variant, but I am still seeing an error mentioning “Bind partitions”. The document you linked with the bind commands says “A bind process creates a hypervisor image that combines DTB/IFS/KERNEL of server VMs, Hypervisor kernel, and PCT.” I am not attempting to deploy a VM or Hypervisor, and I do not know what PCT refers to. What is the actual purpose of executing the bind_partitions program?

Here is the actual bootburn output:

/docker:d0421ebcf1f9:/drive/ #$ ./bootburn.py -b p3710-10-s05
****** Starting bootburn/bootburn.py ********
********* Starting t23x bootburn py ********
Bootburn Starting with arguments [‘./bootburn.py’, ‘-b’, ‘p3710-10-s05’]
logfile :: /drive/drive-foundation/tools/flashtools/bootburn_t23x_py/bootburn.txt
cwd in setBoardConfigPath :: /drive/drive-foundation/tools/flashtools/bootburn_t23x_py
trying hardware folder:
/drive/drive-foundation/platform-config/hardware/nvidia/platform/t23x/automotive/flashing/board_configs

cwd in loadBoardGoldenRegsFile :: /drive/drive-foundation/tools/flashtools/bootburn_t23x_py
Default Schema:/drive/drive-foundation/tools/flashtools/bootburn_t23x_py/nv-customer-data-schema.json

Check finished successfully
Done parsing command line

[bootburn]: [getListTargetsInRecovery(3975)] : Bus 001 Device 010: ID 0955:7023 NVIDIA Corp. APX
[bootburn]: [getListTargetsInRecovery(3975)] : Bus 001 Device 009: ID 0955:7045 NVIDIA Corp. USB Virtual Hub
p3710-10-s05
logfile :: /drive/drive-foundation/tools/flashtools/bootburn_t23x_py/bootburnTegra-A.txt
cwd in setBoardConfigPath :: /drive/drive-foundation/tools/flashtools/bootburn_t23x_py
trying hardware folder:
/drive/drive-foundation/platform-config/hardware/nvidia/platform/t23x/automotive/flashing/board_configs

cwd in loadBoardGoldenRegsFile :: /drive/drive-foundation/tools/flashtools/bootburn_t23x_py
Default Schema:/drive/drive-foundation/tools/flashtools/bootburn_t23x_py/nv-customer-data-schema.json

Platform config path - /drive/drive-foundation/out/p3710-10-s05/platform_config.json - does not exist

Platform config file not found – not overiding values
Check finished successfully
Done parsing command line

Platform config path - /drive/drive-foundation/out/p3710-10-s05/platform_config.json - does not exist

Platform config file not found – not overiding values
[bootburnTegra-A]: [GetTargetECID(792)] : Target BR_CID: 0x80012344705DD45E20000000080080C0

[bootburnTegra-A]: [GetTargetECID(793)] : Target ECID: 0x4705DD45E20000000080080C0

[bootburnTegra-A]: [CheckFuseForAuthentication(810)] : Target Authentication State : SHA-2
[bootburnTegra-A]: [GenAdbSerialNum(558)] : ADB serial number is 8S2TQHF2000000401060
[bootburnTegra-A]: [CheckForDeviceType(908)] : Detected ES production device type
*** in targetConfig, s_BrickOnTCFFlashingFail not found in board_config ***
*** in targetConfig, s_BrickOnFirmwareFlashingFail not found in board_config ***
command line used was:
[‘./bootburn.py’, ‘-b’, ‘p3710-10-s05’]

Bind partitions does not look to have been run for board p3710-10-s05
please make bind partitions before running bootburn

Exception 4 raised in bootburn_active
Traceback (most recent call last):
File “/drive/drive-foundation/tools/flashtools/bootburn/…/bootburn_t23x_py/bootburn.py”, line 134, in bootburn_active
targetConfig.BoardSetFilePathsAndDefaultValues()
File “/drive/drive-foundation/tools/flashtools/bootburn/…/bootburn_t23x_py/target_config.py”, line 1261, in BoardSetFilePathsAndDefaultValues
AbnormalTermination(msg, nverror.NvError_BadParameter)
File “/drive/drive-foundation/tools/flashtools/bootburn/…/bootburn_t23x_py/flashtools_nverror.py”, line 251, in AbnormalTermination
raise OSError(errorCode)
OSError: 4

I am still ignorant of the purpose of the bind_partitions step, but I did find the bind_partitions program, and executed it like this:

./drive-foundation/make/bind_partitions --board p3710-10-s05 linux

This resulted in some files getting removed and rebuilt, and it terminated with a zero exit status. So I re-tried running bootburn, and got the same error:

Bind partitions does not look to have been run for board p3710-10-a04
please make bind partitions before running bootburn

Dear @dwuertele,

So you need to use board variant p3710-10-s05 in your all commands(bind/bootburn) instead of p3710-10-a04.

Did you use p3710-10-a04 in bootburn command?

After making sure to use p3710-10-s05 in all the commands, bootburn worked.

What exactly is bind_partitions doing?

There is no update from you for a period, assuming this is not an issue anymore.
Hence, we are closing this topic. If need further support, please open a new one.
Thanks

So is the issue resolved now?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.