A few days ago one of my Jetson Nanos presented an issue while booting. The issue is that it is not booting at all. This happened after I modified the /boot/extlinux/extlinux.conf
and change the primary boot. I think I left a typo in the file and that is why it is not working. I have the Jetson Nano Developer Kit P3450-0000, it comes with an SD slot but doesn’t work. I was trying to boot from a USB and in the process, I ended up damaging something.
Since I was unable to boot I decided to use the serial console using minicom to interact with the terminal. I can see the boot printing in real-time, but it gets stuck here:
U-Boot 2020.04-g4335beb (Apr 20 2022 - 14:22:25 -0700)
SoC: tegra210
Model: NVIDIA Jetson Nano Developer Kit
Board: NVIDIA P3450-0000
DRAM: 4 GiB
MMC: sdhci@700b0000: 1, sdhci@700b0600: 0
Loading Environment from MMC... *** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Net: No ethernet found.
Hit any key to stop autoboot: 0
MMC: no card present
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
1175 bytes read in 23 ms (49.8 KiB/s)
L4T boot options
1: primary kernel
2: primary kernel
Enter choice: 1: primary kernel
Retrieving file: /boot/initrd
7160179 bytes read in 179 ms (38.1 MiB/s)
Retrieving file: /boot/Image
34484232 bytes read in 781 ms (42.1 MiB/s)
append: tegraid=21.1.2.0.0 ddr_die=4096M@2048M section=512M memtype=0 vpr_resize usb_port_owner_info
## Flattened Device Tree blob at 83100000
Booting using the fdt blob at 0x83100000
ERROR: reserving fdt memory region failed (addr=0 size=0)
ERROR: reserving fdt memory region failed (addr=0 size=0)
Using Device Tree in place at 0000000083100000, end 000000008317ce8d
copying carveout for /host1x@50000000/dc@54200000...
copying carveout for /host1x@50000000/dc@54240000...
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.9.253-tegra (buildbrain@mobile-u64-5494-d8000) (gcc version 7.3.1 2012
[ 0.000000] Boot CPU: AArch64 Processor [411fd071]
[ 0.000000] OF: fdt:memory scan node memory@80000000, reg size 32,
[ 0.000000] OF: fdt: - 80000000 , 7ee00000
[ 0.000000] OF: fdt: - 100000000 , 7f200000
[ 0.000000] earlycon: uart8250 at MMIO32 0x0000000070006000 (options '')
[ 0.000000] bootconsole [uart8250] enabled
[ 1.081692] tegradc tegradc.1: dpd enable lookup fail:-19
[ 1.587405] Host read timeout at address 545c00c4
[ 1.838707] imx219 7-0010: imx219_board_setup: error during i2c read probe (-121)
[ 1.846361] imx219 7-0010: board setup failed
[ 1.874800] imx219 8-0010: imx219_board_setup: error during i2c read probe (-121)
[ 1.882714] imx219 8-0010: board setup failed
I turn the nano off and shorted the FC REC + GMD, and using the SDK Manager I attempted to flash the image again, but the result was the following:
14:46:04 INFO: Flash Jetson Nano (Devkit) - flash: ###############################################################################
14:46:04 INFO: Flash Jetson Nano (Devkit) - flash: # L4T BSP Information:
14:46:04 INFO: Flash Jetson Nano (Devkit) - flash: # R32 , REVISION: 5.1
14:46:04 INFO: Flash Jetson Nano (Devkit) - flash: ###############################################################################
14:46:04 ERROR: Flash Jetson Nano (Devkit) - flash: Error: probing the target board failed.
14:46:04 INFO: Flash Jetson Nano (Devkit) - flash: Make sure the target board is connected through
14:46:04 INFO: Flash Jetson Nano (Devkit) - flash: USB port and is in recovery mode.
14:46:04 ERROR: Flash Jetson Nano (Devkit) - flash: *** ERROR: flashing failed.
14:46:04 INFO: Flash Jetson Nano (Devkit) - flash: [ Component Install Finished with Error ]
14:46:04 INFO: Flash Jetson Nano (Devkit) - flash: [host] [ 44.00 KB used. Disk Avail: 38.15 GB ]
14:46:04 INFO: Flash Jetson Nano (Devkit) - flash: [ NV_L4T_FLASH_NANO_DEVKIT_WITH_OS_IMAGE_COMP Install took 6s ]
14:46:04 ERROR: Flash Jetson Nano (Devkit) - flash: command terminated with error
14:46:04 SUMMARY: Flash Jetson Nano (Devkit) - flash: First Error: Jetson board is in a bad state and cannot be recovered. Please manually put board to recovery mode again and retry.. The Jetson target is in a bad state and cannot be flashed. Please manually put the target into recovery mode and then retry flashing.
During this installation, I heard the board automatically disconnecting and re-connecting to my host PC, which immediately led to the error printed above. I repeated the process but from the command line sudo ./flash.sh jetson-nano-devkit mmcblk1p1
outputting the following:
yahboom@YAB:~/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra$ sudo ./flash.sh jetson-nano-devkit mmcblk1p1
###############################################################################
# L4T BSP Information:
# R32 , REVISION: 5.1
###############################################################################
# Target Board Information:
# Name: jetson-nano-devkit, Board Family: t210ref, SoC: Tegra 210,
# OpMode: production, Boot Authentication: ,
# Disk encryption: disabled ,
###############################################################################
./tegraflash.py --chip 0x21 --applet "/home/yahboom/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra/bootloader/nvtboot_recovery.bin" --skipuid --cmd "dump eeprom boardinfo cvm.bin"
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.0031 ] Generating RCM messages
[ 0.0061 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm /home/yahboom/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra/bootloader/nvtboot_recovery.bin 0 0
[ 0.0078 ] RCM 0 is saved as rcm_0.rcm
[ 0.0086 ] RCM 1 is saved as rcm_1.rcm
[ 0.0088 ] List of rcm files are saved in rcm_list.xml
[ 0.0093 ]
[ 0.0093 ] Signing RCM messages
[ 0.0107 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[ 0.0122 ] Assuming zero filled SBK key
[ 0.0193 ]
[ 0.0197 ] Copying signature to RCM mesages
[ 0.0215 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[ 0.0244 ]
[ 0.0245 ] Boot Rom communication
[ 0.0262 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml --skipuid
[ 0.0276 ] RCM version 0X210001
[ 0.0798 ] Boot Rom communication completed
[ 1.1007 ]
[ 1.1008 ] dump EEPROM info
[ 1.1031 ] tegrarcm --oem platformdetails eeprom /home/yahboom/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra/bootloader/cvm.bin
[ 1.1049 ] Applet version 00.01.0000
[ 1.1522 ] Saved platform info in /home/yahboom/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra/bootloader/cvm.bin
[ 1.2719 ]
[ 1.2737 ] tegrarcm --reboot recovery
[ 1.2750 ] Applet version 00.01.0000
[ 1.3422 ]
Board ID(3448) version(400)
copying bctfile(/home/yahboom/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra/bootloader/t210ref/BCT/P3448_A00_lpddr4_204Mhz_P987.cfg)... done.
copying bootloader(/home/yahboom/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
copying initrd(/home/yahboom/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra/bootloader/l4t_initrd.img)... done.
populating kernel to rootfs... done.
populating initrd to rootfs... done.
populating /home/yahboom/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0002-p3449-0000-b00.dtb to rootfs... done.
Making Boot image... done.
Existing sosfile(/home/yahboom/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra/bootloader/nvtboot_recovery.bin) reused.
copying tegraboot(/home/yahboom/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra/bootloader/t210ref/nvtboot.bin)... done.
copying cpu_bootloader(/home/yahboom/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
copying bpffile(/home/yahboom/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra/bootloader/t210ref/sc7entry-firmware.bin)... done.
Existing badpagefile(/home/yahboom/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra/bootloader/badpage.bin) reused.
copying wb0boot(/home/yahboom/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra/bootloader/t210ref/warmboot.bin)... done.
Existing tosfile(/home/yahboom/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra/bootloader/tos-mon-only.img) reused.
Existing eksfile(/home/yahboom/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra/bootloader/eks.img) reused.
copying dtbfile(/home/yahboom/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0002-p3449-0000-b00.dtb)... done.
Copying nv_boot_control.conf to rootfs
generating system.img for booting...
Making system.img...
populating rootfs from /tmp/tmp.xSQMkVCH5a ... done.
populating /boot/extlinux/extlinux.conf ... done.
Sync'ing system.img ... done.
Converting RAW image to Sparse image... done.
system.img built successfully.
Existing tbcfile(/home/yahboom/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
copying tbcdtbfile(/home/yahboom/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0002-p3449-0000-b00.dtb)... done.
copying cfgfile(/home/yahboom/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra/bootloader/t210ref/cfg/flash_l4t_t210_max-spi_sd_p3448.xml) to flash.xml... done.
copying flasher(/home/yahboom/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
Existing flashapp(/home/yahboom/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra/bootloader/tegraflash.py) reused.
./tegraflash.py --bl cboot.bin --bct P3448_A00_lpddr4_204Mhz_P987.cfg --odmdata 0xa4000 --bldtb kernel_tegra210-p3448-0002-p3449-0000-b00.dtb --applet nvtboot_recovery.bin --cmd "flash; reboot" --cfg flash.xml --chip 0x21 --bins "EBT cboot.bin; DTB tegra210-p3448-0002-p3449-0000-b00.dtb"
saving flash command in /home/yahboom/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra/bootloader/flashcmd.txt
saving Windows flash command to /home/yahboom/nvidia/nvidia_sdk/JetPack_4.5.1_Linux_JETSON_NANO_DEVKIT/Linux_for_Tegra/bootloader/flash_win.bat
*** Flashing target device started. ***
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.0029 ] tegrasign --key None --getmode mode.txt
[ 0.0045 ] Assuming zero filled SBK key
[ 0.0046 ]
[ 0.0047 ] Generating RCM messages
[ 0.0063 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm nvtboot_recovery.bin 0 0
[ 0.0108 ] RCM 0 is saved as rcm_0.rcm
[ 0.0124 ] RCM 1 is saved as rcm_1.rcm
[ 0.0129 ] List of rcm files are saved in rcm_list.xml
[ 0.0165 ]
[ 0.0167 ] Signing RCM messages
[ 0.0184 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[ 0.0202 ] Assuming zero filled SBK key
[ 0.0260 ]
[ 0.0262 ] Copying signature to RCM mesages
[ 0.0293 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[ 0.0405 ]
[ 0.0407 ] Parsing partition layout
[ 0.0461 ] tegraparser --pt flash.xml.tmp
[ 0.0504 ]
[ 0.0506 ] Creating list of images to be signed
[ 0.0538 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --list images_list.xml
[ 0.0722 ]
[ 0.0724 ] Generating signatures
[ 0.0744 ] tegrasign --key None --list images_list.xml --pubkeyhash pub_key.key
[ 0.0761 ] Assuming zero filled SBK key
[ 0.1401 ]
[ 0.1402 ] Generating br-bct
[ 0.1442 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.cfg --chip 0x21 0
[ 0.1461 ] Copying Sdram info from 2 to 3 set
[ 0.1507 ]
[ 0.1507 ] Updating boot device parameters
[ 0.1523 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatedevparam flash.xml.bin
[ 0.1539 ] Warning: No sdram params
[ 0.1545 ]
[ 0.1546 ] Updating bl info
[ 0.1561 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updateblinfo flash.xml.bin --updatesig images_list_signed.xml
[ 0.1593 ]
[ 0.1594 ] Updating secondary storage information into bct
[ 0.1606 ] tegraparser --pt flash.xml.bin --chip 0x21 0 --updatecustinfo P3448_A00_lpddr4_204Mhz_P987.bct
[ 0.1632 ]
[ 0.1633 ] Updating Odmdata
[ 0.1655 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatefields Odmdata =0xa4000
[ 0.1678 ] Warning: No sdram params
[ 0.1694 ]
[ 0.1695 ] Get Signed section of bct
[ 0.1709 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --listbct bct_list.xml
[ 0.1735 ]
[ 0.1736 ] Signing BCT
[ 0.1792 ] tegrasign --key None --list bct_list.xml --pubkeyhash pub_key.key
[ 0.1823 ] Assuming zero filled SBK key
[ 0.1832 ]
[ 0.1832 ] Updating BCT with signature
[ 0.1847 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatesig bct_list_signed.xml
[ 0.1863 ]
[ 0.1864 ] Copying signatures
[ 0.1878 ] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --updatesig images_list_signed.xml
[ 0.1957 ]
[ 0.1958 ] Updating BFS information on BCT
[ 0.1971 ] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatebfsinfo flash.xml.bin
[ 0.2008 ]
[ 0.2009 ] Boot Rom communication
[ 0.2025 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml
[ 0.2044 ] BootRom is not running
[ 0.2200 ]
[ 0.2200 ] Sending BCTs
[ 0.2217 ] tegrarcm --download bct P3448_A00_lpddr4_204Mhz_P987.bct
[ 0.2231 ] Cannot open usb device.Check if device is in recovery
[ 0.2528 ]
Error: Return value 8
Command tegrarcm --download bct P3448_A00_lpddr4_204Mhz_P987.bct
Failed flashing t210ref.
I do not know what else to do. I don’t care on saving what is in the memory I only want it to boot. Any suggestions will be appreciated.
Thanks