Flash.sh ALWAYS results in Error: SMDFILE is not set for SMD/SMD_b partition

Jetson Nano Devkit 4GB Board A02

Regardless of whatever I am flashing, flash.sh always errors out with:
“Error: SMDFILE is not set for SMD/SMD_b partition”

Im not too sure what the origin of this is, and the 3 other issues relating to this on the internet are no help

This one didnt even provide a solution
I honestly dont understand whats going on in this post
This one has something to do with UEFI and standard Linux kernel, idk

Originally I had extracted BSP and added in ArchLinuxARM rootfs (been playing around for past few months), been messing with custom kernels and whatnot, but I have been able to flash successfully many many times without issue.

Today I had ^C flash.sh near start of it to change something, and I dont know if that could have contributed to SMD_b partition corruption. At first I thought it was something to do with tegra-headers as I was modifying the 8812au realtek driver install script, to point to correct kernel within chroot.
But I kept getting the error on fresh BSP with ArchLinuxARM rootfs, and so instead tried a fresh extraction of Linux_for_Tegra along with adding the SampleRootFS (Ubuntu18.04) which still results with:
“Error: SMDFILE is not set for SMD/SMD_b partition”

Searching the docs I see its something related to bootloader redundancy… Idk what that means and I have done nothing to enable such?

Thanks in advance for the help :)

Hi,

can you attach the full log here? (both flashing log and UART log)
Would the situation be the same when flashed with SDK Manager?

Excuse my ignorance, what is UART log? Yes the situation is the same with sdkmanager (nvsdkmanager_flash.sh), sdkmanager uses flash.sh
Here is flash log when flashing with flash.sh (fresh BSP + sampleRootFS):

[skele@imac Linux_for_Tegra]$ sudo ./flash.sh -r -k APP jetson-nano-devkit mmcblk0p1
###############################################################################
# L4T BSP Information:
# R32 , REVISION: 7.3
###############################################################################
# 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/skele/nano-ubuntu/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.0072 ] Generating RCM messages
[   0.0095 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm /home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/nvtboot_recovery.bin 0 0
[   0.0103 ] RCM 0 is saved as rcm_0.rcm
[   0.0205 ] RCM 1 is saved as rcm_1.rcm
[   0.0207 ] List of rcm files are saved in rcm_list.xml
[   0.0207 ]
[   0.0207 ] Signing RCM messages
[   0.0228 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0236 ] Assuming zero filled SBK key
[   0.0318 ]
[   0.0318 ] Copying signature to RCM mesages
[   0.0333 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[   0.0342 ]
[   0.0342 ] Boot Rom communication
[   0.0357 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml --skipuid
[   0.0360 ] RCM version 0X210001
[   1.4106 ] Boot Rom communication completed
[   2.4185 ]
[   2.4185 ] dump EEPROM info
[   2.4210 ] tegrarcm --oem platformdetails eeprom /home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/cvm.bin
[   2.4220 ] Applet version 00.01.0000
[   3.7564 ] Saved platform info in /home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/cvm.bin
[   3.8340 ]
[   3.8363 ] tegrarcm --reboot recovery
[   3.8374 ] Applet version 00.01.0000
[   5.1804 ]
Board ID(3448) version(200)
copying bctfile(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/t210ref/BCT/P3448_A00_lpddr4_204Mhz_P987.cfg)... done.
copying bootloader(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
copying initrd(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/l4t_initrd.img)... done.
Making Boot image... done.
Existing sosfile(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/nvtboot_recovery.bin) reused.
copying tegraboot(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/t210ref/nvtboot.bin)... done.
copying cpu_bootloader(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
copying bpffile(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/t210ref/sc7entry-firmware.bin)... done.
copying wb0boot(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/t210ref/warmboot.bin)... done.
Existing tosfile(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/tos-mon-only.img) reused.
Existing eksfile(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/eks.img) reused.
copying dtbfile(/home/skele/nano-ubuntu/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-a02.dtb)... done.
Copying nv_boot_control.conf to rootfs
Reusing existing system.img...
done.
Existing tbcfile(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
copying tbcdtbfile(/home/skele/nano-ubuntu/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-a02.dtb)... done.
Error: SMDFILE is not set for SMD/SMD_b partition

and sdkmanager output (fresh BSP + sampleRootFS):

[skele@imac Linux_for_Tegra]$ sudo ./nvsdkmanager_flash.sh
Defaulting to autoflash
*** Checking ONLINE mode ... OK.
*** Checking target board connection ... 1 connections found.
*** Reading ECID ... FUSELEVEL=fuselevel_production hwchipid=0x21 bootauth=
*** Reading EEPROM ... "/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/tegraflash.py" --chip 0x21 --applet "/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/nvtboot_recovery.bin" --skipuid --cmd "dump eeprom boardinfo cvm.bin; dump eeprom baseinfo bbd.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.0029 ] Generating RCM messages
[   0.0047 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm /home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/nvtboot_recovery.bin 0 0
[   0.0051 ] RCM 0 is saved as rcm_0.rcm
[   0.0061 ] RCM 1 is saved as rcm_1.rcm
[   0.0061 ] List of rcm files are saved in rcm_list.xml
[   0.0061 ]
[   0.0061 ] Signing RCM messages
[   0.0077 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0082 ] Assuming zero filled SBK key
[   0.0161 ]
[   0.0162 ] Copying signature to RCM mesages
[   0.0179 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[   0.0192 ]
[   0.0193 ] Boot Rom communication
[   0.0210 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml --skipuid
[   0.0215 ] RCM version 0X210001
[   1.3977 ] Boot Rom communication completed
[   2.4058 ]
[   2.4059 ] dump EEPROM info
[   2.4085 ] tegrarcm --oem platformdetails eeprom /home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/cvm.bin
[   2.4094 ] Applet version 00.01.0000
[   3.7502 ] Saved platform info in /home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/cvm.bin
[   3.8277 ]
[   3.8300 ] tegrarcm --reboot recovery
[   3.8311 ] Applet version 00.01.0000
[   5.1686 ]
[   7.1688 ] Generating RCM messages
[   7.1703 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm /home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/nvtboot_recovery.bin 0 0
[   7.1706 ] RCM 0 is saved as rcm_0.rcm
[   7.1711 ] RCM 1 is saved as rcm_1.rcm
[   7.1714 ] List of rcm files are saved in rcm_list.xml
[   7.1714 ]
[   7.1714 ] Signing RCM messages
[   7.1728 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   7.1731 ] Assuming zero filled SBK key
[   7.1781 ]
[   7.1781 ] Copying signature to RCM mesages
[   7.1797 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[   7.2354 ]
[   7.2354 ] Boot Rom communication
[   7.2374 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml
[   7.2382 ] BR_CID: 0x32101001644495821400000006fd84c0
[   7.9080 ] RCM version 0X210001
[   8.5777 ] Boot Rom communication completed
[   9.5860 ]
[   9.5861 ] dump EEPROM info
[   9.5885 ] tegrarcm --oem platformdetails eeprom /home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/bbd.bin
[   9.5896 ] Applet version 00.01.0000
[  10.9303 ] Saved platform info in /home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/bbd.bin
[  11.0080 ]
[  11.0102 ] tegrarcm --reboot recovery
[  11.0112 ] Applet version 00.01.0000
[  12.3537 ]
--- Reading board information succeeded.
Parsing baseboard EEPROM:
--- Parsing board ID (3448) succeeded.
--- Parsing board version (200) succeeded.
--- Parsing board SKU (0000) succeeded.
--- Parsing board REV (F.0) succeeded.
jetson-nano-devkit found.
*** Finding boot device ... Boot device mmcblk0p1 found.
"/home/skele/nano-ubuntu/Linux_for_Tegra/flash.sh"  jetson-nano-devkit mmcblk0p1
###############################################################################
# L4T BSP Information:
# R32 , REVISION: 7.3
###############################################################################
# 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/skele/nano-ubuntu/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.0017 ] Generating RCM messages
[   0.0033 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm /home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/nvtboot_recovery.bin 0 0
[   0.0036 ] RCM 0 is saved as rcm_0.rcm
[   0.0042 ] RCM 1 is saved as rcm_1.rcm
[   0.0043 ] List of rcm files are saved in rcm_list.xml
[   0.0043 ]
[   0.0043 ] Signing RCM messages
[   0.0058 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0061 ] Assuming zero filled SBK key
[   0.0110 ]
[   0.0110 ] Copying signature to RCM mesages
[   0.0125 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[   0.0134 ]
[   0.0134 ] Boot Rom communication
[   0.0149 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml --skipuid
[   0.0152 ] RCM version 0X210001
[   1.3923 ] Boot Rom communication completed
[   2.4001 ]
[   2.4002 ] dump EEPROM info
[   2.4027 ] tegrarcm --oem platformdetails eeprom /home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/cvm.bin
[   2.4036 ] Applet version 00.01.0000
[   3.7449 ] Saved platform info in /home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/cvm.bin
[   3.8225 ]
[   3.8249 ] tegrarcm --reboot recovery
[   3.8258 ] Applet version 00.01.0000
[   5.1661 ]
Board ID(3448) version(200)
copying bctfile(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/t210ref/BCT/P3448_A00_lpddr4_204Mhz_P987.cfg)... done.
copying bootloader(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
copying initrd(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/l4t_initrd.img)... done.
Making Boot image... done.
Existing sosfile(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/nvtboot_recovery.bin) reused.
copying tegraboot(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/t210ref/nvtboot.bin)... done.
copying cpu_bootloader(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
copying bpffile(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/t210ref/sc7entry-firmware.bin)... done.
copying wb0boot(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/t210ref/warmboot.bin)... done.
Existing tosfile(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/tos-mon-only.img) reused.
Existing eksfile(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/eks.img) reused.
copying dtbfile(/home/skele/nano-ubuntu/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-a02.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-a02.dtb to rootfs... done.
Making system.img...
	populating rootfs from /home/skele/nano-ubuntu/Linux_for_Tegra/rootfs ... 	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/skele/nano-ubuntu/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
copying tbcdtbfile(/home/skele/nano-ubuntu/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-a02.dtb)... done.
Error: SMDFILE is not set for SMD/SMD_b partition
*** ERROR: flashing failed.

Hi,

please check this post:

I will need to buy a TTL to USB cable then. I see here that “only UART console can dump the bootloader logs”

Why would SMD/SMD_b partition become corrupt in first place?

Hi,

can you attach your Linux_for_Tegra/bootloader/flash.xml here?
Also contents of Linux_for_Tegra/jetson-nano-devkit.conf.

./bootloader/t210ref/cfg/flash_l4t_t210_spi_sd_p3448.xml

<?xml version="1.0"?>

<!-- Nvidia Tegra Partition Layout Version 1.0.0 -->

<partition_layout version="01.00.0000">
    <device type="spi" instance="0">
        <partition name="BCT" type="boot_config_table">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 262144 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <description> **Required.** Contains Boot Configuration Table (BCT). </description>
        </partition>

        <partition name="NXC" type="NVCTYPE">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 196608 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> NVCFILE </filename>
            <description> **Required.** Contains TegraBoot binary. </description>
        </partition>

        <partition name="PT" type="partition_table">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 65536 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> flash.xml.bin </filename>
            <description> **Required.** Contains Partition Table. </description>
        </partition>

        <partition name="NXC_R" type="NVCTYPE">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 196608 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> NVCFILE </filename>
            <description> **Required.** Contains a redundant copy of the TegraBoot
              binary. </description>
        </partition>

        <partition name="UBENV" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <start_location> 0x3D8000 </start_location>
            <size> 32768 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <description> **Required.** Reserved for U-Boot environment. </description>
        </partition>

        <partition name="VER_b" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <start_location> 0x3E0000 </start_location>
            <size> 32768 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <partition_attribute> 0 </partition_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> VERFILE </filename>
            <description>  **Required.** Contains a redundant copy of BSP version
              information. </description>
        </partition>

        <partition name="VER" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <start_location> 0x3F0000 </start_location>
            <size> 32768 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <partition_attribute> 0 </partition_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> VERFILE </filename>
            <description>  **Required.** Contains BSP version information. </description>
        </partition>

    </device>
    <device type="sdcard" instance="0">
        <partition name="GP1" type="GP1">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 2097152 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <description> **Required.** Contains primary GPT of the `sdcard` device. All
              partitions defined after this entry are configured in the kernel, and are accessible
              by standard partition tools such as gdisk and parted. </description>
        </partition>

        <partition name="TXC" id="2" type="TBCTYPE">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 131072 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> TBCFILE </filename>
            <description> **Required.** Contains TegraBoot CPU-side binary. </description>
        </partition>

        <partition name="RP1" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 458752 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 0x8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> DTBFILE </filename>
            <description> **Required.** Contains Bootloader DTB binary. </description>
        </partition>

        <partition name="EBT" type="bootloader">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 589824 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> EBTFILE </filename>
            <description> **Required.** Contains CBoot, the final boot stage CPU bootloader
              binary that loads the binary in the kernel partition.. </description>
        </partition>

        <partition name="WX0" type="WB0TYPE">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 65536 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> WB0FILE </filename>
            <description> **Required.** Contains warm boot binary. </description>
        </partition>

        <partition name="BXF" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 196608 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <partition_attribute> 0 </partition_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> BPFFILE </filename>
            <description> **Required.** Contains SC7 entry firmware. </description>
        </partition>

        <partition name="BXF-DTB" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 393216 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> BPFDTB-FILE </filename>
            <description> **Optional.** Reserved for future use by BPMP DTB binary; can't remove. </description>
        </partition>

        <partition name="FX" type="FBTYPE">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 65536 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 0x8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> FBFILE </filename>
            <description> **Optional.** Reserved for fuse bypass; removeable. </description>
        </partition>

        <partition name="TXS" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 458752 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <partition_attribute> 0 </partition_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> TOSFILE </filename>
            <description> **Required.** Contains TOS binary. </description>
        </partition>

        <partition name="DXB" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 458752 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 0x8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> DTBFILE </filename>
            <description> **Required.** Contains kernel DTB binary. </description>
        </partition>

        <partition name="LNX" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 786432 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 0x8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> LNXFILE </filename>
            <description> **Required.** Contains U-Boot, which loads and launches the kernel from
              the rootfs at `/boot`. </description>
        </partition>

        <partition name="EXS" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 65536 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <partition_attribute> 0 </partition_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> EKSFILE </filename>
            <description> **Optional.** Contains the encrypted keys. </description>
        </partition>

        <partition name="BMP" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 196608 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 0x8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> bmp.blob </filename>
            <description> **Optional.** Contains BMP images for splash screen display during
              boot. </description>
        </partition>

        <partition name="RP4" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 131072 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 0x8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> rp4.blob </filename>
            <description> **Required.** Contains XUSB firmware file, making XUSB
              a true USB 3.0 compliant host controller. </description>
        </partition>

        <partition name="APP" id="1" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> APPSIZE </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 0x8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <align_boundary> 4096 </align_boundary>
            <unique_guid> APPUUID </unique_guid>
            <filename> APPFILE </filename>
            <description> **Required.** Contains the rootfs. This partition must be assigned
              the "1" for id as it is physically put to the end of the device, so that it
              can be accessed as the fixed known special device `/dev/mmcblk0p1`. </description>
        </partition>

        <partition name="GPT" type="GPT">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> -1 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <description> **Required.** Contains secondary GPT of the `sdcard` device. </description>
        </partition>
    </device>
</partition_layout>

./bootloader/t210ref/cfg/flash_l4t_t210_max-spi_sd_p3448.xml:

<?xml version="1.0"?>

<!-- Nvidia Tegra Partition Layout Version 1.0.0 -->

<partition_layout version="01.00.0000">
    <device type="spi" instance="0">
        <partition name="BCT" type="boot_config_table">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 262144 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <description> **Required.** Contains Boot Configuration Table (BCT). </description>
        </partition>

        <partition name="NXC" type="NVCTYPE">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 196608 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> NVCFILE </filename>
            <description> **Required.** Contains TegraBoot binary. </description>
        </partition>

        <partition name="PT" type="partition_table">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 65536 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> flash.xml.bin </filename>
            <description> **Required.** Contains Partition Table. </description>
        </partition>

        <partition name="NXC_R" type="NVCTYPE">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 196608 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> NVCFILE </filename>
            <description> **Required.** Contains a redundant copy of the TegraBoot
              binary. </description>
        </partition>

        <partition name="TXC" type="TBCTYPE">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 131072 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> TBCFILE </filename>
            <description> **Required.** Contains TegraBoot CPU-side binary. </description>
        </partition>

        <partition name="RP1" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 327680 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 0x8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> DTBFILE </filename>
            <description> **Required.** Contains Bootloader DTB binary. </description>
        </partition>

        <partition name="EBT" type="bootloader">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 589824 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> EBTFILE </filename>
            <description> **Required.** Contains CBoot, the final boot stage CPU bootloader
              binary that loads the binary in the kernel partition.. </description>
        </partition>

        <partition name="WX0" type="WB0TYPE">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 65536 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> WB0FILE </filename>
            <description> **Required.** Contains warm boot binary. </description>
        </partition>

        <partition name="BXF" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 196608 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <partition_attribute> 0 </partition_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> BPFFILE </filename>
            <description> **Required.** Contains SC7 entry firmware. </description>
        </partition>

        <partition name="BXF-DTB" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 65536 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> BPFDTB-FILE </filename>
            <description> **Optional.** Reserved for future use by BPMP DTB binary;
              can't remove. </description>
        </partition>

        <partition name="TXS" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 458752 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <partition_attribute> 0 </partition_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> TOSFILE </filename>
            <description> **Required.** Contains TOS binary. </description>
        </partition>

        <partition name="DXB" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 327680 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 0x8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> DTBFILE </filename>
            <description> **Required.** Contains kernel DTB binary. </description>
        </partition>

        <partition name="LNX" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 753664 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 0x8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> LNXFILE </filename>
            <description> **Required.** Contains U-Boot, which loads and launches the kernel from
              the rootfs at `/boot`. </description>
        </partition>

        <partition name="EXS" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 65536 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <partition_attribute> 0 </partition_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> EKSFILE </filename>
            <description> **Optional.** Contains the encrypted keys. </description>
        </partition>

        <partition name="BMP" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 196608 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 0x8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> bmp.blob </filename>
            <description> **Optional.** Contains BMP images for splash screen display during
              boot. </description>
        </partition>

        <partition name="RP4" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 131072 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 0x8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> rp4.blob </filename>
            <description> **Required.** Contains XUSB firmware file, making XUSB
              a true USB 3.0 compliant host controller. </description>
        </partition>

        <partition name="UBENV" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <start_location> 0x3D8000 </start_location>
            <size> 32768 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <description> **Required.** Reserved for U-Boot environment. </description>
        </partition>

        <partition name="VER_b" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <start_location> 0x3E0000 </start_location>
            <size> 32768 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <partition_attribute> 0 </partition_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> VERFILE </filename>
            <description> **Required.** Contains a redundant copy of BSP version
              information. </description>
        </partition>

        <partition name="VER" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <start_location> 0x3F0000 </start_location>
            <size> 32768 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <partition_attribute> 0 </partition_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> VERFILE </filename>
            <description> **Required.** Contains BSP version information. </description>
        </partition>

    </device>
    <device type="sdcard" instance="0">
        <partition name="GP1" type="GP1">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 2097152 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <description> **Required.** Contains primary GPT of the `sdcard` device. All
              partitions defined after this entry are configured in the kernel, and are accessible
              by standard partition tools such as gdisk and parted. </description>
        </partition>

        <partition name="APP" id="1" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> APPSIZE </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 0x8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <align_boundary> 4096 </align_boundary>
            <unique_guid> APPUUID </unique_guid>
            <filename> APPFILE </filename>
            <description> **Required.** Contains the rootfs. This partition must be assigned
              the "1" for id as it is physically put to the end of the device, so that it
              can be accessed as the fixed known special device `/dev/mmcblk0p1`. </description>
        </partition>

        <partition name="GPT" type="GPT">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> -1 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <description> **Required.** Contains secondary GPT of the `sdcard` device. </description>
        </partition>
    </device>
</partition_layout>

jetson-nano-devkit.conf:

#!/bin/bash

# Copyright (c) 2019-2020, NVIDIA CORPORATION.  All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#  * Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#  * Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
#  * Neither the name of NVIDIA CORPORATION nor the names of its
#    contributors may be used to endorse or promote products derived
#    from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

EMMC_CFG=flash_l4t_t210_max-spi_sd_p3448.xml;
BLBlockSize=1048576;
source "${LDK_DIR}/p3448-0000.conf.common";
T21BINARGS="--bins \"EBT cboot.bin; "
if [ "${BUILD_SD_IMAGE}" == 1 ]; then
	EMMC_CFG=flash_l4t_t210_spi_sd_p3448.xml
fi

Hi,

can you download and extract the BSP again, and debug it with the following change in Linux_for_Tegra/flash.sh?

@@ -1174,7 +1174,7 @@ function partition_exists_in_PT_table() {

        # Check whether node exists
        # shellcheck disable=SC2086
-       ${__XMLLINT_BIN} --xpath "/partition_layout/device/partition[@name='${__pt_name}']" ${__pt_file} >/dev/null 2>&1
+       ${__XMLLINT_BIN} --xpath "/partition_layout/device/partition[@name='${__pt_name}']" ${__pt_file}
        return $?

Hi DaveYYY,
the result of flash.sh, with the modification provided (and fresh extraction of BSP +rootfs) results in:

[skele@imac Linux_for_Tegra]$ sudo ./flash.sh jetson-nano-qspi-sd mmcblk0p1
###############################################################################
# L4T BSP Information:
# R32 , REVISION: 7.3
###############################################################################
# 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 "/home/skele/nano-ubuntu/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.0061 ] Generating RCM messages
[   0.0217 ] tegrarcm --listrcm rcm_list.xml --chip 0x21 0 --download rcm /home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/nvtboot_recovery.bin 0 0
[   0.0221 ] RCM 0 is saved as rcm_0.rcm
[   0.0237 ] RCM 1 is saved as rcm_1.rcm
[   0.0237 ] List of rcm files are saved in rcm_list.xml
[   0.0238 ] 
[   0.0238 ] Signing RCM messages
[   0.0401 ] tegrasign --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0413 ] Assuming zero filled SBK key
[   0.0790 ] 
[   0.0791 ] Copying signature to RCM mesages
[   0.0814 ] tegrarcm --chip 0x21 0 --updatesig rcm_list_signed.xml
[   0.0838 ] 
[   0.0838 ] Boot Rom communication
[   0.0858 ] tegrarcm --chip 0x21 0 --rcm rcm_list_signed.xml --skipuid
[   0.0865 ] RCM version 0X210001
[   1.4611 ] Boot Rom communication completed
[   2.4690 ] 
[   2.4691 ] dump EEPROM info
[   2.4716 ] tegrarcm --oem platformdetails eeprom /home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/cvm.bin
[   2.4729 ] Applet version 00.01.0000
[   3.8113 ] Saved platform info in /home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/cvm.bin
[   3.8914 ] 
[   3.8938 ] tegrarcm --reboot recovery
[   3.8951 ] Applet version 00.01.0000
[   5.2310 ] 
Board ID(3448) version(200) 
copying bctfile(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/t210ref/BCT/P3448_A00_lpddr4_204Mhz_P987.cfg)... done.
copying bootloader(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
copying initrd(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/l4t_initrd.img)... done.
Making Boot image... done.
Existing sosfile(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/nvtboot_recovery.bin) reused.
copying tegraboot(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/t210ref/nvtboot.bin)... done.
copying cpu_bootloader(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/t210ref/cboot.bin)... done.
copying bpffile(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/t210ref/sc7entry-firmware.bin)... done.
copying wb0boot(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/t210ref/warmboot.bin)... done.
Existing tosfile(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/tos-mon-only.img) reused.
Existing eksfile(/home/skele/nano-ubuntu/Linux_for_Tegra/bootloader/eks.img) reused.
copying dtbfile(/home/skele/nano-ubuntu/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-a02.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-a02.dtb to rootfs... done.
Making system.img... 
        populating rootfs from /home/skele/nano-ubuntu/Linux_for_Tegra/rootfs ...       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/skele/nano-ubuntu/Linux_for_Tegra/bootloader/nvtboot_cpu.bin) reused.
copying tbcdtbfile(/home/skele/nano-ubuntu/Linux_for_Tegra/kernel/dtb/tegra210-p3448-0000-p3449-0000-a02.dtb)... done.
XPath set is empty
Error: SMDFILE is not set for SMD/SMD_b partition

Im assuming the modification to the script has added this to the output above:
XPath set is empty

Hi,

that’s weird though…
What if you directly run these commands:

xmllint --xpath “/partition_layout/device/partition[@name=‘SMD’]” flash.xml
echo $?

Normally you should get a 10 with echo.

For both, echo returns 10.

Linux_for_Tegra/bootloader/t210ref/cfg/flash_l4t_t210_spi_sd_p3448.xml
Linux_for_Tegra/bootloader/t210ref/cfg/flash_l4t_t210_max-spi_sd_p3448.xml
[skele@imac Linux_for_Tegra]$ xmllint --xpath “/partition_layout/device/partition[@name=‘SMD’]” bootloader/t210ref/cfg/flash_l4t_t210_spi_sd_p3448.xml
XPath error : Invalid expression
“/partition_layout/device/partition[@name=‘SMD’]”
^
XPath evaluation failure
[skele@imac Linux_for_Tegra]$ echo $?
10
[skele@imac Linux_for_Tegra]$ xmllint --xpath “/partition_layout/device/partition[@name=‘SMD’]” bootloader/t210ref/cfg/flash_l4t_t210_max-spi_sd_p3448.xml
XPath error : Invalid expression
“/partition_layout/device/partition[@name=‘SMD’]”
^
XPath evaluation failure
[skele@imac Linux_for_Tegra]$ echo $?
10

Hi,

the quotation mark in my previous reply was replaced by the system…
Please use the one without curly parts, but I think the answer should be the same either way.

Can you attach your flash.sh here?
Also, just to make sure, are you using bash with Ubuntu? Or other shell programs?

I am using Arch with bash

xmllint cmd output without quotes (echo $? is 0 for both):

[skele@imac Linux_for_Tegra]$ xmllint --xpath /partition_layout/device/partition[@name=SMD] bootloader/t210ref/cfg/flash_l4t_t2
10_spi_sd_p3448.xml
XPath set is empty
[skele@imac Linux_for_Tegra]$ echo $?
0
[skele@imac Linux_for_Tegra]$ xmllint --xpath /partition_layout/device/partition[@name=SMD] bootloader/t210ref/cfg/flash_l4t_t2
10_max-spi_sd_p3448.xml
XPath set is empty
[skele@imac Linux_for_Tegra]$ echo $?
0

flash.sh linked here (gist)

Hi,

I’m not sure if it’s relevant, but can you see if switching to Ubuntu (16.04&18.04) makes any difference?
We don’t use Arch, and it’s also not officially supported.

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