Hey, My boss bought a ES-JNX42 Orin Nano™ or Orin NX™ embedded system from auvidea with JNX42-LM carrier board with Jetson Orin NX 16 GB compute module and it has a M.2 NVME 128 GB SSD built into it. We followed Auvidea guide on flashing the product here’s the link:
We did everything the guide said we adjusted eprom size and then tried to flash it with this command:
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c
tools/kernel_flash/flash_l4t_external.xml -p “-c bootloader/t186ref/cfg/flash_t234_qspi.xml” --showlogs --network usb0 p3509-a02+p3767-0000 internal
The console log we got is this:
Please install the Secureboot package to use initrd flash for fused board
Entry added by NVIDIA initrd flash tool
/home/epadmin/nvidia/nvidia_sdk/JetPack_6.1_Linux_JETSON_ORIN_NX_TARGETS/Linux_for_Tegra/tools/kernel_flash/tmp 127.0.0.1(rw,nohide,insecure,no_subtree_check,async,no_root_squash)
rpcbind: another rpcbind is already running. Aborting
Export list for localhost:
/home/epadmin/nvidia/nvidia_sdk/JetPack_6.1_Linux_JETSON_ORIN_NX_TARGETS/Linux_for_Tegra/tools/kernel_flash/tmp 127.0.0.1
/home/epadmin/nvidia/nvidia_sdk/JetPack_6.1_Linux_JETSON_ORIN_NX_TARGETS/Linux_for_Tegra/tools/kernel_flash/l4t_initrd_flash_internal.sh --no-flash --external-device nvme0n1p1 -c tools/kernel_flash/flash_l4t_external.xml -p -c bootloader/t186ref/cfg/flash_t234_qspi.xml --showlogs --network usb0 p3509-a02+p3767-0000 internal
/home/epadmin/nvidia/nvidia_sdk/JetPack_6.1_Linux_JETSON_ORIN_NX_TARGETS/Linux_for_Tegra/tools/kernel_flash/l4t_initrd_flash_internal.sh: line 49: /home/epadmin/nvidia/nvidia_sdk/JetPack_6.1_Linux_JETSON_ORIN_NX_TARGETS/Linux_for_Tegra/p3509-a02+p3767-0000.conf: No such file or directory
/home/epadmin/nvidia/nvidia_sdk/JetPack_6.1_Linux_JETSON_ORIN_NX_TARGETS/Linux_for_Tegra/tools/kernel_flash/l4t_initrd_flash.func: line 248: /home/epadmin/nvidia/nvidia_sdk/JetPack_6.1_Linux_JETSON_ORIN_NX_TARGETS/Linux_for_Tegra/p3509-a02+p3767-0000.conf: No such file or directory
-
*
- Step 1: Generate flash packages *
-
*
/home/epadmin/nvidia/nvidia_sdk/JetPack_6.1_Linux_JETSON_ORIN_NX_TARGETS/Linux_for_Tegra/tools/kernel_flash/l4t_create_images_for_kernel_flash.sh: line 427: /home/epadmin/nvidia/nvidia_sdk/JetPack_6.1_Linux_JETSON_ORIN_NX_TARGETS/Linux_for_Tegra/p3509-a02+p3767-0000.conf: No such file or directory
/home/epadmin/nvidia/nvidia_sdk/JetPack_6.1_Linux_JETSON_ORIN_NX_TARGETS/Linux_for_Tegra/tools/kernel_flash/l4t_create_images_for_kernel_flash.sh: line 640: /home/epadmin/nvidia/nvidia_sdk/JetPack_6.1_Linux_JETSON_ORIN_NX_TARGETS/Linux_for_Tegra/p3509-a02+p3767-0000.conf: No such file or directory
Create folder to store images to flash
Generate image for internal storage devices
Generate images to be flashed
ADDITIONAL_DTB_OVERLAY=“” /home/epadmin/nvidia/nvidia_sdk/JetPack_6.1_Linux_JETSON_ORIN_NX_TARGETS/Linux_for_Tegra/flash.sh --no-flash --sign -c bootloader/t186ref/cfg/flash_t234_qspi.xml p3509-a02+p3767-0000 internal
Error: Invalid target board - p3509-a02+p3767-0000.
Usage: sudo ./flash.sh [options] <target_board>
Where,
target board: Valid target board name or ‘autodetect’
rootdev: Proper root device.
options:
-c ---------- Flash partition table config file.
-d ---------- device tree file.
-f --------- Path to flash application (tegraflash.py)
-h -------------------- print this message.
-i – key for disk encryption support.
-k ----- partition name or number specified in flash.cfg.
-m ------ MTS preboot such as mts_preboot_si.
-n --------- Static nfs network assignments
:::
-o ---------- ODM data.
-r -------------------- skip building and reuse existing system.img.
-t -------- tegraboot binary such as nvtboot.bin
-u ------ PKC key used for odm fused board.
-v ------ Secure Boot Key (SBK) key used for ODM fused board.
-w ---------- warm boot binary such as nvtbootwb0.bin
-x ---------- Tegra CHIPID.
-B ---------- BoardId.
-C ---------- Kernel commandline arguments.
WARNING:
Each option in this kernel commandline gets
higher preference over the values set by
flash.sh. In case of NFS booting, this script
adds NFS booting related arguments, if -i option
is omitted.
-F ---------- Flash server such as cboot.bin.
-G -------- Read partition and save image to file.
-I ----------- initrd file. Null initrd is default.
-K ----------- Kernel image file such as zImage or Image.
-L ------- Bootloader such as cboot.bin or u-boot-dtb.bin.
-M --------- MTS boot file such as mts_si.
-N ---------- i.e. :/my/exported/nfs/rootfs.
-R ------- Sample rootfs directory.
-S ------------- Rootfs size in bytes. Valid only for internal
rootdev. KiB, MiB, GiB short hands are allowed,
for example, 1GiB means 1024 * 1024 * 1024 bytes.
-T —The number of the sectors of the external storage device.
The default value is 119537664 if this option is not set.
-U —The number of the sectors of the internal storage device.
The default value is 119537664 if this option is not set.
-Z -------------------- Print configurations and then exit.
–no-flash ------------ perform all steps except physically flashing the board.
This will create a system.img.
If combined with --rcm-boot, the command will generate rcmboot_blob.
–external-device------ Generate flash images for external devices
–sparseupdate--------- only flash partitions that have changed. Currently only support SPI flash memory
–no-systemimg -------- Do not create or re-create system.img.
–bup ----------------- Generate bootloader update payload(BUP).
–single-image-bup Generate specified single image BUP, this must work with --bup.
–bup-type ----- Generate specific type bootloader update payload(BUP), such as bl or kernel.
–multi-spec----------- Enable support for building multi-spec BUP.
–clean-up------------- Clean up BUP buffer when multi-spec is enabled.
–usb-instance — Specify the USB instance to connect to;
= USB port path (e.g. 3-14).
–no-root-check ------- Typical usage of this script require root permissions.
Pass this option to allow running the script as a
regular user, in which case only specific combinations
of command-line options will be functional.
–uefi-keys <keys_conf> Specify UEFI keys configuration file.
–rcm-boot ------------ Do RCM boot instead of physically flashing the board.
–sign ---------------- Sign images and store them under “bootloader/signed”
directory. The board will not be physically flashed.
–image --------------- Specify the image to be written into board.
–boot-chain-flash Flash only a specific boot chain (ex. "A, “B”, “all”).
Defaults to “all”, inputs are case insensitive.
Not suitable for production.
–boot-chain-select Specify booting chain (ex. “A” or “B”) after the board is flashed.
Defaults to “A”, inputs are case insensitive.
–pv-crt -------------- The certificate for the key that is used to sign cpu_bootloader
–with-systemimg ------ Generate system images also when using -k option
–pv-enc <enc_key>----- The encryption key that is used to encrypt cpu_bootloader.
–uefi-enc <uefi_enc_key> Key file (0x19: 16-byte; 0x23: 32-byte) to encrypt UEFI payloads
–uda-dir-------------- Directory to store user data that will be encrypted in UDA partition.
–generic-passphrase – Use generic passphrase for disk encryption.
–disable-random-iv — Disable generation of random IV, SALT1, SALT2 and DERSTR.
–read-info ----------- Read and display board related info, fuse info (based on fuse_t234.xml),
and EEPROM content.
–reuse-uuid --------- Reuse uuid which is already generated first time.
–qspi-only --------- Flash QSPI device only.
–gen-rcmdump -------- Generate rcmdump_blob
Error: failed to generate images
Cleaning up…
It can’t the board. We tried using sdk manager but then we got the error: “this device is not ready for flashing” the issue is likely releted to non optimal usb connection. We tried using different usb cable, different port but the issue is still persist. The system has Ubuntu 20.4.6 LTS installed.
Tried using every flash command tried using this:
sudo ./flash.sh jetson-orin-nano-devkit external
We got this:
###############################################################################
L4T BSP Information:
R36 , REVISION: 4.0
User release: 0.0
###############################################################################
ECID is 0x80012344705DD80B1400000007028080
Target Board Information:
Name: jetson-orin-nano-devkit, Board Family: generic, SoC: Tegra 234,
OpMode: production, Boot Authentication: NS,
Disk encryption: disabled ,
###############################################################################
copying device_config(/home/epadmin/nvidia/nvidia_sdk/JetPack_6.1_Linux_JETSON_ORIN_NX_TARGETS/Linux_for_Tegra/bootloader/generic/BCT/tegra234-mb1-bct-device-p3767-0000.dts)… done.
copying misc_config(/home/epadmin/nvidia/nvidia_sdk/JetPack_6.1_Linux_JETSON_ORIN_NX_TARGETS/Linux_for_Tegra/bootloader/generic/BCT/tegra234-mb1-bct-misc-p3767-0000.dts)… done.
copying emc_fuse_dev_params(/home/epadmin/nvidia/nvidia_sdk/JetPack_6.1_Linux_JETSON_ORIN_NX_TARGETS/Linux_for_Tegra/bootloader/generic/BCT/tegra234-br-bct-diag-boot.dts)… done.
Existing emcfuse(/home/epadmin/nvidia/nvidia_sdk/JetPack_6.1_Linux_JETSON_ORIN_NX_TARGETS/Linux_for_Tegra/bootloader/fuse_t234.xml) reused.
./tegraflash.py --chip “0x23” --applet “/home/epadmin/nvidia/nvidia_sdk/JetPack_6.1_Linux_JETSON_ORIN_NX_TARGETS/Linux_for_Tegra/bootloader/mb1_t234_prod.bin” --skipuid --cfg readinfo_t234_min_prod.xml --dev_params tegra234-br-bct-diag-boot.dts --device_config tegra234-mb1-bct-device-p3767-0000.dts --misc_config tegra234-mb1-bct-misc-p3767-0000.dts --bins “mb2_applet applet_t234.bin” --cmd “readfuses fuse_t234.bin fuse_t234.xml; dump eeprom cvm cvm.bin; dump try_custinfo custinfo_out.bin; reboot recovery”
Welcome to Tegra Flash
version 1.0.0
Type ? or help for help and q or quit to exit
Use ! to execute system commands
[ 0.0298 ] Reading fuses
[ 0.0312 ] tegrarcm_v2 --chip 0x23 0 --ismb2applet
[ 0.0325 ] File rcm_state open failed
[ 0.0329 ] ERROR: failed to read rcm_state
[ 0.0329 ]
[ 0.0341 ] tegrasign_v3.py --key None --getmode mode.txt
[ 0.0344 ] Assuming zero filled SBK key
[ 0.0335 ] Pre-processing config: tegra234-mb1-bct-device-p3767-0000.dts
[ 0.1297 ] Pre-processing config: tegra234-mb1-bct-misc-p3767-0000.dts
[ 0.1660 ] Parsing partition layout
[ 0.1881 ] tegraparser_v2 --pt readinfo_t234_min_prod.xml.tmp
[ 0.1912 ] Kernel DTB used: None
[ 0.1912 ] WARNING: dce base dtb is not provided
[ 0.1912 ] Parsing partition layout
[ 0.1926 ] tegraparser_v2 --pt readinfo_t234_min_prod.xml.tmp
[ 0.1946 ] Creating list of images to be signed
[ 0.1998 ] tegrahost_v2 --chip 0x23 0 --partitionlayout readinfo_t234_min_prod.xml.bin --list images_list.xml zerosbk
[ 0.2012 ] MB1: Nvheader already present is mb1_t234_prod_aligned.bin
[ 0.2066 ] Header already present for mb1_t234_prod_aligned_sigheader.bin
[ 0.2072 ] MB1: Nvheader already present is mb1_t234_prod_aligned.bin
[ 0.2142 ] Header already present for mb1_t234_prod_aligned_sigheader.bin
[ 0.2172 ] MB1: Nvheader already present is psc_bl1_t234_prod_aligned.bin
[ 0.2346 ] Header already present for psc_bl1_t234_prod_aligned_sigheader.bin
[ 0.2354 ] adding BCH for mb2_t234_aligned.bin
[ 0.2499 ] MB1: Nvheader already present is psc_bl1_t234_prod_aligned.bin
[ 0.2661 ] Header already present for psc_bl1_t234_prod_aligned_sigheader.bin
[ 0.2667 ] adding BCH for mb2_t234_aligned.bin
[ 0.2887 ] Filling MB1 storage info
[ 0.2888 ] Parsing dev params for multi chains
[ 0.3003 ] Generating br-bct
[ 0.3318 ] Updating dev and MSS params in BR BCT
[ 0.3319 ] tegrabct_v2 --dev_param tegra234-br-bct-diag-boot_cpp.dtb --brbct br_bct.cfg --chip 0x23 0
[ 0.3342 ] Updating bl info
[ 0.3360 ] tegrabct_v2 --brbct br_bct_BR.bct --chip 0x23 0 --updateblinfo readinfo_t234_min_prod.xml.bin
[ 0.3376 ] WARNING: boot chain is not completed. set to 0
[ 0.3390 ] Generating signatures
[ 0.3402 ] tegrasign_v3.py --key None --list images_list.xml --pubkeyhash pub_key.key --sha sha512
[ 0.3406 ] Assuming zero filled SBK key
[ 0.3782 ] Warning: pub_key.key is not found
[ 0.3774 ] Parsing dev params for multi chains
[ 0.3774 ] Generating br-bct
[ 0.3789 ] Updating dev and MSS params in BR BCT
[ 0.3790 ] tegrabct_v2 --dev_param tegra234-br-bct-diag-boot_cpp.dtb --brbct br_bct.cfg --chip 0x23 0
[ 0.3807 ] Updating bl info
[ 0.3822 ] tegrabct_v2 --brbct br_bct_BR.bct --chip 0x23 0 --updateblinfo readinfo_t234_min_prod.xml.bin --updatesig images_list_signed.xml
[ 0.3835 ] WARNING: boot chain is not completed. set to 0
[ 0.3854 ] Generating SHA2 Hash
[ 0.3894 ] Sha saved in br_bct_BR.sha
[ 0.3885 ] Get Signed section of bct
[ 0.3902 ] tegrabct_v2 --brbct br_bct_BR.bct --chip 0x23 0 --listbct bct_list.xml
[ 0.3926 ] Signing BCT
[ 0.3938 ] tegrasign_v3.py --key None --list bct_list.xml --pubkeyhash pub_key.key --sha sha512
[ 0.3944 ] Assuming zero filled SBK key
[ 0.3997 ] Sha saved in br_bct_BR.sha
[ 0.4002 ] Warning: pub_key.key is not found
[ 0.3991 ] Updating BCT with signature
[ 0.4003 ] tegrabct_v2 --brbct br_bct_BR.bct --chip 0x23 0 --updatesig bct_list_signed.xml
[ 0.4015 ] Offset :4608 Len :3584
[ 0.4023 ] Generating SHA2 Hash
[ 0.4035 ] tegrasign_v3.py --key None --list bct_list.xml --sha sha512
[ 0.4038 ] Assuming zero filled SBK key
[ 0.4038 ] Assuming zero filled SBK key
[ 0.4088 ] Sha saved in br_bct_BR.sha
[ 0.4082 ] Updating BCT with SHA2 Hash
[ 0.4095 ] tegrabct_v2 --brbct br_bct_BR.bct --chip 0x23 0 --updatesha bct_list_signed.xml
[ 0.4108 ] Offset :4608 Len :3584
[ 0.4113 ] Offset :68 Len :8124
[ 0.4121 ] Generating coldboot mb1-bct
[ 0.4134 ] tegrabct_v2 --chip 0x23 0 --mb1bct mb1_cold_boot_bct.cfg --misc tegra234-mb1-bct-misc-p3767-0000_cpp.dtb --device tegra234-mb1-bct-device-p3767-0000_cpp.dtb
[ 0.4146 ] MB1-BCT version: 0.13
[ 0.4170 ] Parsing config file :tegra234-mb1-bct-device-p3767-0000_cpp.dtb
[ 0.4174 ] Added Platform Config 9 data with size :- 100
[ 0.4174 ]
[ 0.4175 ] Updating mb1-bct with firmware information
[ 0.4187 ] tegrabct_v2 --chip 0x23 0 --mb1bct mb1_cold_boot_bct_MB1.bct --updatefwinfo readinfo_t234_min_prod.xml.bin
[ 0.4233 ] tegrahost_v2 --chip 0x23 0 --align mb1_cold_boot_bct_MB1_aligned.bct
[ 0.4250 ] Generating SHA2 Hash for mb1bct
[ 0.4289 ] Sha saved in mb1_cold_boot_bct_MB1_aligned.sha
[ 0.4311 ] Sha saved in mb1_cold_boot_bct_MB1.sha
[ 0.4313 ] tegrahost_v2 --chip 0x23 0 --magicid MBCT --appendsigheader mb1_cold_boot_bct_MB1_aligned.bct zerosbk
[ 0.4324 ] adding BCH for mb1_cold_boot_bct_MB1_aligned.bct
[ 0.4349 ] tegrasign_v3.py --key None --list mb1_cold_boot_bct_MB1_aligned_sigheader.bct_list.xml --pubkeyhash pub_key.key --sha sha512
[ 0.4352 ] Assuming zero filled SBK key
[ 0.4380 ] Warning: pub_key.key is not found
[ 0.4390 ] tegrahost_v2 --chip 0x23 0 --updatesigheader mb1_cold_boot_bct_MB1_aligned_sigheader.bct.encrypt mb1_cold_boot_bct_MB1_aligned_sigheader.bct.hash zerosbk
[ 0.4421 ] Generating recovery mb1-bct
[ 0.4437 ] tegrabct_v2 --chip 0x23 0 --mb1bct mb1_bct.cfg --misc tegra234-mb1-bct-misc-p3767-0000_cpp.dtb --device tegra234-mb1-bct-device-p3767-0000_cpp.dtb
[ 0.4452 ] MB1-BCT version: 0.13
[ 0.4475 ] Parsing config file :tegra234-mb1-bct-device-p3767-0000_cpp.dtb
[ 0.4478 ] Added Platform Config 9 data with size :- 100
[ 0.4478 ]
[ 0.4479 ] Updating mb1-bct with firmware information
[ 0.4492 ] tegrabct_v2 --chip 0x23 0 --mb1bct mb1_bct_MB1.bct --recov --updatefwinfo readinfo_t234_min_prod.xml.bin
[ 0.4528 ] tegrahost_v2 --chip 0x23 0 --align mb1_bct_MB1_aligned.bct
[ 0.4545 ] Generating SHA2 Hash for mb1bct
[ 0.4585 ] Sha saved in mb1_bct_MB1_aligned.sha
[ 0.4611 ] Sha saved in mb1_bct_MB1.sha
[ 0.4615 ] tegrahost_v2 --chip 0x23 0 --magicid MBCT --appendsigheader mb1_bct_MB1_aligned.bct zerosbk
[ 0.4627 ] adding BCH for mb1_bct_MB1_aligned.bct
[ 0.4651 ] tegrasign_v3.py --key None --list mb1_bct_MB1_aligned_sigheader.bct_list.xml --pubkeyhash pub_key.key --sha sha512
[ 0.4654 ] Assuming zero filled SBK key
[ 0.4683 ] Warning: pub_key.key is not found
[ 0.4687 ] tegrahost_v2 --chip 0x23 0 --updatesigheader mb1_bct_MB1_aligned_sigheader.bct.encrypt mb1_bct_MB1_aligned_sigheader.bct.hash zerosbk
[ 0.4709 ] Info: Skip generating mem_bct because sdram_config is not defined
[ 0.4710 ] Info: Skip generating mem_bct because sdram_config is not defined
[ 0.4710 ] Copying signatures
[ 0.4723 ] tegrahost_v2 --chip 0x23 0 --partitionlayout readinfo_t234_min_prod.xml.bin --updatesig images_list_signed.xml
[ 0.4830 ] mb1_t234_prod_aligned_sigheader.bin.encrypt filename is from images_list
[ 0.4833 ] psc_bl1_t234_prod_aligned_sigheader.bin.encrypt filename is from images_list
[ 0.4833 ] Boot Rom communication
[ 0.4848 ] tegrarcm_v2 --new_session --chip 0x23 0 --uid --download bct_br br_bct_BR.bct --download mb1 mb1_t234_prod_aligned_sigheader.bin.encrypt --download psc_bl1 psc_bl1_t234_prod_aligned_sigheader.bin.encrypt --download bct_mb1 mb1_bct_MB1_sigheader.bct.encrypt
[ 0.4866 ] BR_CID: 0x80012344705DD80B1400000007028080
[ 0.4880 ] Sending bct_br
[ 0.4881 ] ERROR: might be timeout in USB write.
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.bin.encrypt --download psc_bl1 psc_bl1_t234_prod_aligned_sigheader.bin.encrypt --download bct_mb1 mb1_bct_MB1_sigheader.bct.encrypt
[ 0.7558 ] tegrarcm_v2 --chip 0x23 0 --ismb2applet
[ 0.7599 ] tegrarcm_v2 --chip 0x23 0 --ismb2applet
[ 0.7631 ] Retrieving board information
[ 0.7643 ] tegrarcm_v2 --chip 0x23 0 --oem platformdetails chip chip_info.bin
[ 0.7661 ] Retrieving EEPROM data
[ 0.7663 ] tegrarcm_v2 --oem platformdetails eeprom cvm /home/epadmin/nvidia/nvidia_sdk/JetPack_6.1_Linux_JETSON_ORIN_NX_TARGETS/Linux_for_Tegra/bootloader/cvm.bin --chip 0x23 0
[ 0.7699 ] tegrarcm_v2 --chip 0x23 0 --ismb2applet
[ 0.7723 ] tegrarcm_v2 --chip 0x23 0 --ismb2applet
[ 0.7736 ] Dumping customer Info
[ 0.7750 ] tegrarcm_v2 --chip 0x23 0 --oem dump bct tmp.bct
[ 0.7776 ] tegrabct_v2 --brbct tmp.bct --chip 0x23 0 --custinfo /home/epadmin/nvidia/nvidia_sdk/JetPack_6.1_Linux_JETSON_ORIN_NX_TARGETS/Linux_for_Tegra/bootloader/custinfo_out.bin
[ 0.7789 ] File tmp.bct open failed
[ 0.7791 ] Error: try getting custinfo fail. Moving on
[ 0.7792 ] Rebooting to recovery mode
[ 0.7804 ] tegrarcm_v2 --chip 0x23 0 --ismb2
[ 0.7821 ] Rebooting to recovery mode
[ 0.7841 ] tegrarcm_v2 --chip 0x23 0 --reboot recovery
Parsing board information failed.
We tried everything now. Its either usb read error, time out, failed to read rcm, install bootloader, Parsing board information failed or Error: Invalid target board - p3509-a02+p3767-0000. We get all this error message and we are cluless what to do.
We tried using auvidea firmware for flashing it worked fine but some usb error have appeared. I can send you every info when i go back to work on monday.