# Problems flashing jetson nano sd image

**URL:** <https://forums.developer.nvidia.com/t/problems-flashing-jetson-nano-sd-image/186724>\
**Category:** Jetson Nano\
**Tags:** reflash\
**Created:** [August 16, 2021, 8:48pm UTC](https://forums.developer.nvidia.com/t/problems-flashing-jetson-nano-sd-image/186724 "2021-08-16T20:48:45Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![jcorcoran](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@jcorcoran](https://forums.developer.nvidia.com/u/jcorcoran)\
**Post date:** [August 16, 2021, 8:48pm UTC](https://forums.developer.nvidia.com/t/problems-flashing-jetson-nano-sd-image/186724/1 "2021-08-16T20:48:45Z")

</div>

I’m using the example root filesystem and BSP R32.6.1.  
I have a Jetson Nano Dev Board (Model P3450, B01) with a 32GB SD card inserted

I’ve extracted the rootfs, made some customizations, and then attempted to flash the device, booted with the `FC REC` jumper pin grounded [per the instructions here](https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/quick_start.html#). (see `To flash Jetson Developer Kit operating software` section).  
This results in the build script hanging at the following step (full listing below):

```auto
Sending BCTs
[0.2699] tegrarcm --download bct P3448_A00_lpddr4_204Mhz_P987.bct

```

I’m not really sure what the above step is attempting to do or where to begin looking for troubleshooting steps.  
Any suggestions would be appreciated.

As a separate data point, I am able to produce a SD card .img using the following steps, and the system boots as expected:

```auto
cd ./Linux_for_Tegra/tools
sudo ROOTFS_DIR=/Tegra_Linux_Sample-Root-Filesystem_R32.6.1_aarch64 \
        ./jetson-disk-image-creator.sh -o sd_card_R32.6.1.img -b jetson-nano-devkit -r 300
    
sudo dd if=./sd_card_R32.6.1.img of=/dev/sdc bs=1M oflag=direct

```

Full output from hanging `flash.sh` command:

```auto
user@jvbx:/Linux_for_Tegra$ sudo ./flash.sh -R ../Tegra_Linux_Sample-Root-Filesystem_R32.6.1_aarch64 jetson-nano-qspi-sd mmcblk0p1
###############################################################################
# L4T BSP Information:
# R32 , REVISION: 6.1
###############################################################################
# Target Board Information:
# Name: jetson-nano-qspi-sd, Board Family: t210ref, SoC: Tegra 210, 
# OpMode: production, Boot Authentication: , 
# Disk encryption: disabled ,
###############################################################################
./tegraflash.py --chip 0x21 --applet "/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.0036] Generating RCM messages
[0.0074] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm /Linux_for_Tegra/bootloader/nvtboot_recovery.bin 0 0
[0.0085] RCM 0 is saved as rcm_0.rcm
[0.0090] RCM 1 is saved as rcm_1.rcm
[0.0094] List of rcm files are saved in rcm_list.xml
[0.0094] 
[0.0094] Signing RCM messages
[0.0125] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[0.0136] Assuming zero filled SBK key
[0.0229] 
[0.0230] Copying signature to RCM mesages
[0.0258] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[0.0279] 
[0.0280] Boot Rom communication
[0.0339] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml --skipuid
[0.0350] RCM version 0X210001
[0.0809] Boot Rom communication completed
[1.0928] 
[1.0930] dump EEPROM info
[1.0987] tegrarcm --oem platformdetails eeprom /Linux_for_Tegra/bootloader/cvm.bin
[1.1020] Applet version 00.01.0000
[1.1326] Saved platform info in /Linux_for_Tegra/bootloader/cvm.bin
[1.2141] 
[1.2167] tegrarcm --reboot recovery
[1.2179] Applet version 00.01.0000
[1.2407] 
Board ID(3448) version(400) 
copying bctfile(/Linux_for_Tegra/bootloader/t210ref/BCT/P3448_A00_lpddr4_204Mhz_P987.cfg)... done.
copying bootloader(/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
copying initrd(/Linux_for_Tegra/bootloader/l4t_initrd.img)... done.
Making Boot image... done.
Existing sosfile(/Linux_for_Tegra/bootloader/nvtboot_recovery.bin) reused.
copying tegraboot(/Linux_for_Tegra/bootloader/t210ref/nvtboot.bin)... done.
copying cpu_bootloader(/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
copying bpffile(/Linux_for_Tegra/bootloader/t210ref/sc7entry-firmware.bin)... done.
copying wb0boot(/Linux_for_Tegra/bootloader/t210ref/warmboot.bin)... done.
Existing tosfile(/Linux_for_Tegra/bootloader/tos-mon-only.img) reused.
Existing eksfile(/Linux_for_Tegra/bootloader/eks.img) reused.
copying dtbfile(/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-b00.dtb)... done.
Copying nv_boot_control.conf to rootfs
	populating kernel to rootfs... done.
	populating initrd to rootfs... done.
	populating kernel_tegra210-p3448-0000-p3449-0000-b00.dtb to rootfs... done.
Making system.img... 
	populating rootfs from /Tegra_Linux_Sample-Root-Filesystem_R32.6.1_aarch64 ... populating /boot/extlinux/extlinux.conf ... done.
	Sync'ing system.img ... done.
	Converting RAW image to Sparse image... done.
system.img built successfully. 
Existing tbcfile(/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
copying tbcdtbfile(/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-b00.dtb)... done.
copying cfgfile(/Linux_for_Tegra/bootloader/t210ref/cfg/flash_l4t_t210_max-spi_sd_p3448.xml) to flash.xml... done.
copying flasher(/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
Existing flashapp(/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-0000-p3449-0000-b00.dtb --applet nvtboot_recovery.bin --cmd "flash; reboot" --cfg flash.xml --chip 0x21 --bins "EBT cboot.bin; DTB tegra210-p3448-0000-p3449-0000-b00.dtb" 
saving flash command in /Linux_for_Tegra/bootloader/flashcmd.txt
saving Windows flash command to /Linux_for_Tegra/bootloader/flash_win.bat
assign_value: crc-flash.xml.bin 1 65520 1
printf '\x1' | dd of=crc-flash.xml.bin bs=1 seek=65520 count=1 conv=notrunc
1+0 records in
1+0 records out
1 byte copied, 9.2713e-05 s, 10.8 kB/s
assign_value: crc-flash.xml.bin 0 65521 1
printf '\x0' | dd of=crc-flash.xml.bin bs=1 seek=65521 count=1 conv=notrunc
1+0 records in
1+0 records out
1 byte copied, 4.0092e-05 s, 24.9 kB/s
assign_string: crc-flash.xml.bin PTHD 65528 4
echo PTHD | dd of=crc-flash.xml.bin bs=1 seek=65528 count=4 conv=notrunc
4+0 records in
4+0 records out
4 bytes copied, 4.7761e-05 s, 83.8 kB/s
***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.0076] tegrasign --getmode mode.txt --key None
[0.0084] Assuming zero filled SBK key
[0.0113] 
[0.0115] Generating RCM messages
[0.0139] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm nvtboot_recovery.bin 0 0
[0.0157] RCM 0 is saved as rcm_0.rcm
[0.0199] RCM 1 is saved as rcm_1.rcm
[0.0205] List of rcm files are saved in rcm_list.xml
[0.0209] 
[0.0209] Signing RCM messages
[0.0231] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[0.0240] Assuming zero filled SBK key
[0.0383] 
[0.0384] Copying signature to RCM mesages
[0.0411] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[0.0432] 
[0.0432] Parsing partition layout
[0.0482] tegraparser --pt flash.xml.tmp
[0.0532] 
[0.0535] Using default ramcode: 0
[0.0535] Disable BPMP dtb trim, using default dtb
[0.0535] 
[0.0535] Creating list of images to be signed
[0.0559] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --list images_list.xml
[0.0638] 
[0.0645] Generating signatures
[0.0719] tegrasign --key None --list images_list.xml --pubkeyhash pub_key.key
[0.0731] Assuming zero filled SBK key
[0.1333] 
[0.1334] Generating br-bct
[0.1398] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.cfg --chip 0x21 0
[0.1513] 
[0.1513] Updating boot device parameters
[0.1538] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatedevparam flash.xml.bin
[0.1550] Warning: No sdram params
[0.1554] 
[0.1555] Updating bl info
[0.1580] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updateblinfo flash.xml.bin --updatesig images_list_signed.xml
[0.1621] 
[0.1622] Updating secondary storage information into bct
[0.1646] tegraparser --pt flash.xml.bin --chip 0x21 0 --updatecustinfo P3448_A00_lpddr4_204Mhz_P987.bct
[0.1668] 
[0.1669] Updating Odmdata
[0.1734] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatefields Odmdata =0xa4000
[0.1746] Warning: No sdram params
[0.1750] 
[0.1750] Get Signed section of bct
[0.1798] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --listbct bct_list.xml
[0.1816] 
[0.1817] Signing BCT
[0.1872] tegrasign --key None --list bct_list.xml --pubkeyhash pub_key.key
[0.1886] Assuming zero filled SBK key
[0.1893] 
[0.1894] Updating BCT with signature
[0.1932] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatesig bct_list_signed.xml
[0.1965] 
[0.1966] Copying signatures
[0.1995] tegrahost --chip 0x21 0 --partitionlayout flash.xml.bin --updatesig images_list_signed.xml
[0.2161] 
[0.2162] Updating BFS information on BCT
[0.2195] tegrabct --bct P3448_A00_lpddr4_204Mhz_P987.bct --chip 0x21 0 --updatebfsinfo flash.xml.bin
[0.2210] 
[0.2211] Boot Rom communication
[0.2235] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml
[0.2248] BootRom is not running
[0.2679] 
[0.2680] Sending BCTs
[0.2699] tegrarcm --download bct P3448_A00_lpddr4_204Mhz_P987.bct

```

---

<div class="post-metadata">

**Author:** ![JerryChang](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/jerrychang/32/14043_2.png) [@JerryChang](https://forums.developer.nvidia.com/u/JerryChang)\
**Post date:** [August 17, 2021, 3:03am UTC](https://forums.developer.nvidia.com/t/problems-flashing-jetson-nano-sd-image/186724/3 "2021-08-17T03:03:45Z")

</div>

> [@jcorcoran](#):
>
> ```auto
> [0.2211] Boot Rom communication
> [0.2235] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml
> [0.2248] BootRom is not running
> 
> ```

hello jcorcoran,

please put your Nano platform into forced-recovery and [To determine whether the developer kit is in Force Recovery mode](https://docs.nvidia.com/jetson/archives/l4t-archived/l4t-3261/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/quick_start.html#wwpID0EMHA) by checking `lsusb`.  
thanks

---

<div class="post-metadata">

**Author:** ![jcorcoran](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@jcorcoran](https://forums.developer.nvidia.com/u/jcorcoran)\
**Post date:** [August 17, 2021, 3:19am UTC](https://forums.developer.nvidia.com/t/problems-flashing-jetson-nano-sd-image/186724/4 "2021-08-17T03:19:42Z")

</div>

Thanks, I will try again while leaving the `FC REC` jumper in place through the duration of the install.

I think my problem originates from the following section of the quickstart page [I linked above](https://docs.nvidia.com/jetson/archives/l4t-archived/l4t-3261/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/quick_start.html#wwpID0EMHA):

> For Jetson Nano 2GB Developer Kit and Jetson Nano 2GB Developer Kit:  
> 1)Ensure that your Jetson Nano developer kit is powered off, and that a 16 GB or larger microSD card is inserted into the module’s microSD card slot.  
> 2)To ensure that the developer kit starts in Force Recovery Mode, place a jumper across the FRC pins of the button header on the carrier board.  
> •For carrier board revision A02, these are pins 3 and 4 of J40, which is located near the camera header.  
> •For carrier board revision B01, these are pins 9 and 10 of J50, which is located on the edge of the carrier board under the Jetson module.  
> 3)Place a jumper across J48 to enable use of a DC power adapter.  
> 4)Connect a DC power adapter to J25. The developer kit powers on automatically and enters Force Recovery Mode.  
> 5)Remove the jumper from the FRC pins of the button header.  
> 6)Continue the software installation.

The steps state to remove `FRC` jumper before performing software installation.

It looks like the beginning of the `flash.sh` script causes the board to reboot, presumable upon reboot it comes up in a non recovery mode (since I removed the `FC REC` jumper before running `flash.sh`)

```auto
[1.2167] tegrarcm --reboot recovery
[1.2179] Applet version 00.01.0000

```

Might be worth revising the instructions for clarity?

---

<div class="post-metadata">

**Author:** ![JerryChang](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/jerrychang/32/14043_2.png) [@JerryChang](https://forums.developer.nvidia.com/u/JerryChang)\
**Post date:** [August 17, 2021, 5:55am UTC](https://forums.developer.nvidia.com/t/problems-flashing-jetson-nano-sd-image/186724/5 "2021-08-17T05:55:42Z")

</div>

hello jcorcoran,

it’s `tegraflash.py` to reboot the board into recovery.  
did you see `7f21` by checking `lsusb` for the four-digit number that represents the type of Jetson modules.

---

<div class="post-metadata">

**Author:** ![nadeemm](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/nadeemm/32/367020_2.png) [@nadeemm](https://forums.developer.nvidia.com/u/nadeemm)\
**Post date:** [October 15, 2021, 3:20am UTC](https://forums.developer.nvidia.com/t/problems-flashing-jetson-nano-sd-image/186724/7 "2021-10-15T03:20:14Z")

</div>

Closed on October 15, 2021, 3:20am UTC


