No APP_b partition found! in Jetson Xavier NX 5.1.4 version

HI @JerryChang
I am facing the below issue on jetson xavier devkit could you please help us on understanding the issue better

sudo /opt/nvidia/jetson-io/config-by-hardware.py -l
Traceback (most recent call last):
  File "/opt/nvidia/jetson-io/config-by-hardware.py", line 125, in <module>
    main()
  File "/opt/nvidia/jetson-io/config-by-hardware.py", line 94, in main
    jetson = board.Board()
  File "/opt/nvidia/jetson-io/Jetson/board.py", line 229, in __init__
    self.appdir = _board_partition_mount(mountpart)
  File "/opt/nvidia/jetson-io/Jetson/board.py", line 156, in _board_partition_mount
    raise RuntimeError("No %s partition found!" % partlabel)
RuntimeError: No APP_b partition found!

I have flashed using the following command

 sudo ./flash.sh jetson-xavier-nx-devkit-emmc mmcblk0p1

The below are the details

phoenix@phoenix-desktop:~$ sudo nvbootctrl -t rootfs dump-slots-info
RootFS A/B is not enabled.
phoenix@phoenix-desktop:~$ cat /etc/nv_boot_control.conf
TNSPEC 3668-301-0001-L.0-1-2-jetson-xavier-nx-devkit-emmc-
COMPATIBLE_SPEC 3668-301---1--jetson-xavier-nx-devkit-emmc-
TEGRA_LEGACY_UPDATE false
TEGRA_BOOT_STORAGE mmcblk0
TEGRA_EMMC_ONLY false
TEGRA_CHIPID 0x19
TEGRA_OTA_BOOT_DEVICE /dev/mtdblock0
TEGRA_OTA_GPT_DEVICE /dev/mtdblock0
phoenix@phoenix-desktop:~$ sudo nvbootctrl dump-slots-info
Current version: 0.0.1
Capsule update status: 0
Current bootloader slot: B
Active bootloader slot: B
num_slots: 2
slot: 0,             status: unbootable
slot: 1,             status: normal

I found from the flash logs that the configuration file is taken from the below path
/Linux_for_Tegra/bootloader/t186ref/cfg/flash_l4t_t194_spi_emmc_p3668.xml
which does not include the APP_b partition , and the file flash_l4t_t194_spi_emmc_p3668_rootfs_ab.xml includes the details of APP_b partition , can i use this file while flashing , if so what is the process so that APP_b partition is created in order to solve the above error.

Hi @spavan

APP_b partition makes reference to AB partitioning support. Which means that you will have your normal A rootfs and a second rootfs called B. Not quite sure if this is what you want but to solve your issue you have to use the flash_l4t_t194_spi_emmc_p3668_rootfs_ab.xml partition file and flash the device. The issue should be solved.

The process to do this would be to change the EMMC_CFG propety on the jetson-xavier-nx-devkit-emmc.conf file as shown below:

- EMMC_CFG=flash_l4t_t194_spi_emmc_p3668.xml;
+ EMMC_CFG=flash_l4t_t194_spi_emmc_p3668_rootfs_ab.xml;

Then reflash your board.

Please update me if this solved your issue.

Regards,

Ricardo González Víquez
Embedded SW Engineer at RidgeRun
Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.com
Website: www.ridgerun.com

Thanks for the response

[   2.2556 ] MB1-BCT version: 0x1

[   2.2561 ] Parsing config file :tegra19x-mb1-pinmux-p3668-a01.cfg 
[   2.2562 ] Added Platform Config 0 data with size :- 2496

[   2.2576 ] Parsing config file :tegra194-mb1-bct-scr-cbb-mini-p3668.cfg 
[   2.2577 ] Added Platform Config 1 data with size :- 19640

[   2.2695 ] Parsing config file :tegra19x-mb1-padvoltage-p3668-a01.cfg 
[   2.2696 ] Added Platform Config 2 data with size :- 24

[   2.2697 ] Parsing config file :tegra194-mb1-bct-pmic-p3668-0001-a00.cfg 
[   2.2698 ] Added Platform Config 4 data with size :- 348

[   2.2700 ] Parsing config file :tegra194-mb1-bct-reset-p3668-0001-a00.cfg 
[   2.2702 ] Added Platform Config 3 data with size :- 92

[   2.2703 ] Parsing config file :tegra19x-mb1-prod-p3668-0001-a00.cfg 
[   2.2705 ] Added Platform Config 5 data with size :- 140

[   2.2705 ] Parsing config file :tegra194-mb1-bct-gpioint-p3668-0001-a00.cfg 
[   2.2707 ] Added Platform Config 7 data with size :- 392

[   2.2716 ] Parsing config file :tegra19x-mb1-bct-device-qspi-p3668.cfg 
[   2.2717 ] Added Platform Config 9 data with size :- 40
[   2.2718 ] Updating mb1-bct with firmware information
[   2.2739 ] tegrabct_v2 --chip 0x19 --mb1bct mb1_cold_boot_bct_MB1.bct --updatefwinfo flash.xml.bin
[   2.2746 ] Start sector for secure-os_b, expected >= 58918912, actual 0
Error: Return value 4
Command tegrabct_v2 --chip 0x19 --mb1bct mb1_cold_boot_bct_MB1.bct --updatefwinfo flash.xml.bin
Failed flashing t186ref.

i am getting this error when i changed EMMC_CFG , i think it is related to size .

Currently i am using this flash command , should i change the block(mmcblk0p1) i am using at the end ?

sudo ./flash.sh jetson-xavier-nx-devkit-emmc mmcblk0p1

@JerryChang any help on this issue?

hello spavan,

RootfsA/B is disabled by default, please re-flash the target with ROOTFS_AB=1 flash option.
please refer to developer guide, Using initrd flash with Orin NX and Nano.

yes i tried with this command

sudo ROOTFS_AB=1 ./flash.sh jetson-xavier-nx-devkit-emmc mmcblk0p1

I faced this error while flashing

tar: etc/ssl/certs/SSL.com_EV_Root_Certification_Authority_RSA_R2.pem: Cannot create symlink to ‘/usr/share/ca-certificates/mozilla/SSL.com_EV_Root_Certification_Authority_RSA_R2.crt’: No space left on device
tar: etc/ssl/certs/HARICA_TLS_ECC_Root_CA_2021.pem: Cannot create symlink to ‘/usr/share/ca-certificates/mozilla/HARICA_TLS_ECC_Root_CA_2021.crt’: No space left on device
tar: etc/ssl/certs/Entrust.net_Premium_2048_Secure_Server_CA.pem: Cannot create symlink to ‘/usr/share/ca-certificates/mozilla/Entrust.net_Premium_2048_Secure_Server_CA.crt’: No space left on device
tar: etc/ssl/certs/DigiCert_Assured_ID_Root_G2.pem: Cannot create symlink to ‘/usr/share/ca-certificates/mozilla/DigiCert_Assured_ID_Root_G2.crt’: No space left on device
tar: etc/ssl/certs/emSign_ECC_Root_CA_-_G3.pem: Cannot create symlink to ‘/usr/share/ca-certificates/mozilla/emSign_ECC_Root_CA_-_G3.crt’: No space left on device
tar: etc/ssl/certs/OISTE_WISeKey_Global_Root_GB_CA.pem: Cannot create symlink to ‘/usr/share/ca-certificates/mozilla/OISTE_WISeKey_Global_Root_GB_CA.crt’: No space left on device
tar: etc/ssl/certs/DigiCert_Global_Root_G2.pem: Cannot create symlink to ‘/usr/share/ca-certificates/mozilla/DigiCert_Global_Root_G2.crt’: No space left on device
tar: etc/ssl/certs/Certum_Trusted_Network_CA.pem: Cannot create symlink to ‘/usr/share/ca-certificates/mozilla/Certum_Trusted_Network_CA.crt’: No space left on device
tar: etc/ssl/certs/Entrust_Root_Certification_Authority_-_G4.pem: Cannot create symlink to ‘/usr/share/ca-certificates/mozilla/Entrust_Root_Certification_Authority_-_G4.crt’: No space left on device
tar: etc/ssl/certs/T-TeleSec_GlobalRoot_Class_3.pem: Cannot create symlink to ‘/usr/share/ca-certificates/mozilla/T-TeleSec_GlobalRoot_Class_3.crt’: No space left on device
tar: etc/ssl/certs/Go_Daddy_Root_Certificate_Authority_-_G2.pem: Cannot create symlink to ‘/usr/share/ca-certificates/mozilla/Go_Daddy_Root_Certificate_Authority_-_G2.crt’: No space left on device
tar: etc/fonts/conf.d/89-tlwg-umpush-synthetic.conf: Cannot create symlink to ‘/usr/share/fontconfig/conf.avail/89-tlwg-umpush-synthetic.conf’: No space left on device
tar: etc/fonts/conf.d/61-urw-fallback-backwards.conf: Cannot create symlink to ‘/usr/share/fontconfig/conf.avail/urw-fallback-backwards.conf’: No space left on device
tar: etc/fonts/conf.d/61-urw-standard-symbols-ps.conf: Cannot create symlink to ‘/usr/share/fontconfig/conf.avail/urw-standard-symbols-ps.conf’: No space left on device
tar: etc/fonts/conf.d/89-tlwg-kinnari-synthetic.conf: Cannot create symlink to ‘/usr/share/fontconfig/conf.avail/89-tlwg-kinnari-synthetic.conf’: No space left on device
tar: etc/fonts/conf.d/89-tlwg-laksaman-synthetic.conf: Cannot create symlink to ‘/usr/share/fontconfig/conf.avail/89-tlwg-laksaman-synthetic.conf’: No space left on device
tar: etc/fonts/conf.d/89-tlwg-garuda-synthetic.conf: Cannot create symlink to ‘/usr/share/fontconfig/conf.avail/89-tlwg-garuda-synthetic.conf’: No space left on device
tar: etc/alternatives/gdm3-theme.gresource: Cannot create symlink to ‘/usr/share/gnome-shell/theme/Yaru/gnome-shell-theme.gresource’: No space left on device
tar: Exiting with failure status due to previous errors
Failed. Your APPSIZE might be too small.

can you confirm on my flashing command ?
And I am using XAVIER NX

hello spavan,

according to the error reported.
did you revise the flash configuration file to update APP size?

NO i havenot changed anything to update the APP size
this is present in the file flash_l4t_t194_spi_emmc_p3668_rootfs_ab.xml

<partition name="APP" 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>
            <align_boundary> 4096 </align_boundary>
            <percent_reserved> 0 </percent_reserved>
            <filename> APPFILE </filename>
            <unique_guid> APPUUID </unique_guid>
            <description> **Required.** Contains the rootfs. This partition must be defined
              after `primary_GPT` so that it can be accessed as the fixed known special device
              `/dev/mmcblk0p1`. </description>
        </partition>
        <partition name="APP_b" 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>
            <align_boundary> 4096 </align_boundary>
            <percent_reserved> 0 </percent_reserved>
            <filename> APPFILE_b </filename>
            <unique_guid> APPUUID_b </unique_guid>
            <description> **Required.** Contains the rootfs. This partition must be defined
              after `primary_GPT` so that it can be accessed as the fixed known special device
              `/dev/mmcblk0p2`. </description>
        </partition>

should i use anything else instead of
mmcblk0p1 while flashing?

hello spavan,

please referring to Topic 273147 to adjust the size of UDA for testing.

yes , i have gone through this ticket , i have the following partition in flash_l4t_t194_spi_emmc_p3668_rootfs_ab.xml , what size should use instead of 18432 ?

<partition name="UDA" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 18432 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 0x808 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <description> **Required.** Automatically takes all remaining space on the device except that
              occupied by the `secondary_gpt` partition. Allocation attribute must be set to 0x808.
              May be mounted and used to store user data. </description>
        </partition>

i have below details in jetson-xavier-nx-devkit-emmc.conf

source "${LDK_DIR}/p3668.conf.common";
EMMC_CFG=flash_l4t_t194_spi_emmc_p3668.xml;
DTB_FILE=tegra194-p3668-0001-p3509-0000.dtb;
EMMCSIZE=17179869184;
RECROOTFSSIZE=100MiB;

hello spavan,

I’m curious what’s the modification you’ve done, and, which image you’ve working with?
for instance,
is it a Xavier NX developer kit? did you flashing with the native Jetpack-5.1.4 public release?

  1. I have not done any modifications in the files we are discussing .
  2. yes i have flashed jetpack -5.1.4 public release on devkit

any updates @JerryChang ?

Hi @spavan

After running the sudo ROOTFS_AB=1 ./flash.sh jetson-xavier-nx-devkit-emmc mmcblk0p1 command, I was able to flash the board correctly. Could you give us a bit of context of the modifications that were done on the rootfs? Your error might indicate that your rootfs size is bigger than expected by the partition layout file.

After flashing the device, the rootfs partitions seem to have 7GB available as shown below:

NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0          7:0    0    16M  1 loop 
mmcblk0      179:0    0  14.7G  0 disk 
├─mmcblk0p1  179:1    0     7G  0 part /
├─mmcblk0p2  179:2    0     7G  0 part 
├─mmcblk0p3  179:3    0    64M  0 part 
├─mmcblk0p4  179:4    0   448K  0 part 
├─mmcblk0p5  179:5    0  32.6M  0 part 
├─mmcblk0p6  179:6    0   2.5M  0 part 
├─mmcblk0p7  179:7    0    64K  0 part 
├─mmcblk0p8  179:8    0     1M  0 part 
├─mmcblk0p9  179:9    0     1M  0 part 
├─mmcblk0p10 179:10   0     1M  0 part 
├─mmcblk0p11 179:11   0   1.5M  0 part 
├─mmcblk0p12 179:12   0     1M  0 part 
├─mmcblk0p13 179:13   0    64M  0 part 
├─mmcblk0p14 179:14   0   448K  0 part 
├─mmcblk0p15 179:15   0  32.5M  0 part 
├─mmcblk0p16 179:16   0    80M  0 part 
├─mmcblk0p17 179:17   0   512K  0 part 
├─mmcblk0p18 179:18   0   100M  0 part 
├─mmcblk0p19 179:19   0    64M  0 part 
├─mmcblk0p20 179:20   0    80M  0 part 
├─mmcblk0p21 179:21   0   512K  0 part 
├─mmcblk0p22 179:22   0    64M  0 part 
└─mmcblk0p23 179:23   0   101M  0 part 

Is it possible to share any context of your customizations made prior to flashing the device?

Thank you,

Ricardo González Víquez
Embedded SW Engineer at RidgeRun
Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.com
Website: www.ridgerun.com

hi @ricardo.gonzalez1 here are the details from my laptop

Filesystem      Size  Used Avail Use% Mounted on
udev            7.6G     0  7.6G   0% /dev
tmpfs           1.6G  2.5M  1.6G   1% /run
/dev/nvme0n1p2  468G  245G  200G  56% /
tmpfs           7.7G  279M  7.4G   4% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           7.7G     0  7.7G   0% /sys/fs/cgroup
/dev/loop0      128K  128K     0 100% /snap/bare/5
/dev/loop1      318M  318M     0 100% /snap/code/181
/dev/loop2       45M   45M     0 100% /snap/snapd/23545
/dev/loop7      461M  461M     0 100% /snap/wine-platform-9-devel-core22/33
/dev/loop3       74M   74M     0 100% /snap/core22/1722
/dev/loop4      165M  165M     0 100% /snap/gnome-3-28-1804/198
/dev/loop10     6.9M  6.9M     0 100% /snap/notepad-plus-plus/411
/dev/loop11     102M  102M     0 100% /snap/teams-for-linux/741
/dev/loop6       45M   45M     0 100% /snap/snapd/23258
/dev/loop5       64M   64M     0 100% /snap/core20/2434
/dev/loop25      13M   13M     0 100% /snap/snap-store/1113
/dev/loop19     350M  350M     0 100% /snap/gnome-3-38-2004/143
/dev/loop18     102M  102M     0 100% /snap/teams-for-linux/730
/dev/loop15      74M   74M     0 100% /snap/core22/1748
/dev/loop28     347M  347M     0 100% /snap/gnome-3-38-2004/119
/dev/loop13     7.0M  7.0M     0 100% /snap/notepad-plus-plus/412
/dev/loop12     504M  504M     0 100% /snap/wine-platform-runtime-core20/149
/dev/loop9       56M   56M     0 100% /snap/core18/2846
/dev/loop22     463M  463M     0 100% /snap/wine-platform-9-devel-core22/32
/dev/loop21     318M  318M     0 100% /snap/code/179
/dev/loop24     506M  506M     0 100% /snap/wine-platform-runtime-core20/148
/dev/loop17      13M   13M     0 100% /snap/snap-store/1216
/dev/loop16      56M   56M     0 100% /snap/core18/2829
/dev/loop20     517M  517M     0 100% /snap/gnome-42-2204/202
/dev/loop14      92M   92M     0 100% /snap/gtk-common-themes/1535
/dev/loop26     454M  454M     0 100% /snap/wine-platform-7-devel-core20/24
/dev/loop27     506M  506M     0 100% /snap/gnome-42-2204/176
/dev/loop23      64M   64M     0 100% /snap/core20/2379
/dev/loop8      544M  544M     0 100% /snap/wine-platform-runtime-core22/100
/dev/loop29     544M  544M     0 100% /snap/wine-platform-runtime-core22/99
/dev/nvme0n1p1  511M  6.1M  505M   2% /boot/efi
tmpfs           1.6G   64K  1.6G   1% /run/user/1001

hello spavan,

it looks you’ve NVME connected, this is external storage.

but i have not connected any external storage , no SD card nothing

phoenix@phoenix-desktop:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/mmcblk0p1   14G  7.6G  5.5G  59% /
none            3.3G     0  3.3G   0% /dev
tmpfs           3.4G     0  3.4G   0% /dev/shm
tmpfs           684M   27M  658M   4% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.4G     0  3.4G   0% /sys/fs/cgroup
tmpfs           684M   16K  684M   1% /run/user/1000

these from the SOM connected to the devkit