AGX Orin: ROOTFS_AB=1 - support for UDA partition

I flashed Orin with ROOTFS_AB=1. There A and B partitions came asymetric and there is no UDA partition:

root@orin:~# gdisk -l /dev/mmcblk0
GPT fdisk (gdisk) version 1.0.5

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/mmcblk0: 124321792 sectors, 59.3 GiB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 202E73F0-83C8-465F-8400-1A008A8C6502
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 40, last usable sector is 124321752
Partitions will be aligned on 8-sector boundaries
Total free space is 24 sectors (12.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1         3050048        59673151   27.0 GiB    0700  APP
   2        59673152       124321752   30.8 GiB    0700  APP_b
   3              40          262183   128.0 MiB   0700  A_kernel
   4          262184          263719   768.0 KiB   0700  A_kernel-dtb
   5          263720          328487   31.6 MiB    0700  A_reserved_on_user
   6          328488          590631   128.0 MiB   0700  B_kernel
   7          590632          592167   768.0 KiB   0700  B_kernel-dtb
   8          592168          656935   31.6 MiB    0700  B_reserved_on_user
   9          656936          820775   80.0 MiB    0700  recovery
  10          820776          821799   512.0 KiB   0700  recovery-dtb
  11          821800          952871   64.0 MiB    EF00  esp
  12          952872         3050023   1024.0 MiB  0700  reserved

Is there a way to enable/configure the UDA partition (e.g.shrink APP_b to the size of APP and and add UDA)? I would like to have configuration similar to Xavier, which is:

Number  Start (sector)    End (sector)  Size       Code  Name
   1              40        29360167   14.0 GiB    0700  APP
   2        29360168        58720295   14.0 GiB    0700  APP_b
. . .
  42        60204288        61079518   427.4 MiB   0700  UDA

hello Agtonomy,

please check flash configuration file, such as flash_t234_qspi_sdmmc_rootfs_ab.xml. it doesn’t include UDA partition definition.
for testing, you may modify the xml file to include the partition.

I have edited this file, added UDA and ended up with this:

Number  Start (sector)    End (sector)  Size       Code  Name
   1         3050048        59673151   27.0 GiB    0700  APP
   2        59673152       116296255   27.0 GiB    0700  APP_b
   3              40          262183   128.0 MiB   0700  A_kernel
   4          262184          263719   768.0 KiB   0700  A_kernel-dtb
   5          263720          328487   31.6 MiB    0700  A_reserved_on_user
   6          328488          590631   128.0 MiB   0700  B_kernel
   7          590632          592167   768.0 KiB   0700  B_kernel-dtb
   8          592168          656935   31.6 MiB    0700  B_reserved_on_user
   9          656936          820775   80.0 MiB    0700  recovery
  10          820776          821799   512.0 KiB   0700  recovery-dtb
  11          821800          952871   64.0 MiB    EF00  esp
  12          952872         3050023   1024.0 MiB  0700  reserved
  13       116296256       124321758   3.8 GiB     0700  UDA

I don’t have confidence in all the options - I copied most from Xavier.

I am curious why the APP partitions on Xavier are at the physical beginning of the device, while on Orin at the end. Does it matter?

hello Agtonomy,

please check you have define "secondary_gpt" in last.
besides, why don’t you based-on flash_t234_qspi_sdmmc_rootfs_ab.xml to add a new partition for testing?

Yes, I have this at the end:

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

I had to explicitly specify id=13, otherwise I had errors.

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