Create new partitions

Hi,

I need to create new partitions in emmc
I have already referred to Partition Configuration part in development guide.

The attachment is my modified xml.

I want to set partitions in emmc as same as I write in my xml file.

here is some information:
I use “sudo ./flash.sh -S 16400MiB jetson-tx2 mmcblk0p1” to flash.

root@tegra-ubuntu:~# gdisk -l /dev/mmcblk0

Found valid GPT with protective MBR; using GPT.
Disk /dev/mmcblk0: 61071360 sectors, 29.1 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 00000000-0000-0000-0000-000000000000
Partition table holds up to 31 entries
First usable sector is 4097, last usable sector is 61071327
Partitions will be aligned on 1-sector boundaries
Total free space is 1 sectors (512 bytes)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            4097        33591296   16.0 GiB    0700  APP
   2        33591297        33599488   4.0 MiB     0700  mts-bootpack
   3        33599489        33607680   4.0 MiB     0700  mts-bootpack_b
   4        33607681        33608704   512.0 KiB   0700  cpu-bootloader
   5        33608705        33609728   512.0 KiB   0700  cpu-bootloader_b
   6        33609729        33610752   512.0 KiB   0700  bootloader-dtb
   7        33610753        33611776   512.0 KiB   0700  bootloader-dtb_b
   8        33611777        33617920   3.0 MiB     0700  secure-os
   9        33617921        33624064   3.0 MiB     0700  secure-os_b
  10        33624065        33628160   2.0 MiB     0700  eks
  11        33628161        33629368   604.0 KiB   0700  bpmp-fw
  12        33629369        33630576   604.0 KiB   0700  bpmp-fw_b
  13        33630577        33631576   500.0 KiB   0700  bpmp-fw-dtb
  14        33631577        33632576   500.0 KiB   0700  bpmp-fw-dtb_b
  15        33632577        33636672   2.0 MiB     0700  sce-fw
  16        33636673        33640768   2.0 MiB     0700  sce-fw_b
  17        33640769        33653056   6.0 MiB     0700  sc7
  18        33653057        33665344   6.0 MiB     0700  sc7_b
  19        33665345        33669440   2.0 MiB     0700  FBNAME
  20        33669441        33931584   128.0 MiB   0700  BMP
  21        33931585        34193728   128.0 MiB   0700  BMP_b
  22        34193729        34259264   32.0 MiB    0700  SOS
  23        34259265        34324800   32.0 MiB    0700  SOS_b
  24        34324801        34455872   64.0 MiB    0700  kernel
  25        34455873        34586944   64.0 MiB    0700  kernel_b
  26        34586945        34587968   512.0 KiB   0700  kernel-dtb
  27        34587969        34588992   512.0 KiB   0700  kernel-dtb_b
  28        34588993        35113280   256.0 MiB   0700  CAC
  29        35113281        61071326   12.4 GiB    0700  UDA
  30        61071327        61071326   0 bytes     0700  PLUSA
  31        61071327        61071326   0 bytes     0700  PLUSB

Why is there no space in PLUSA and PLUSB?
Can you tell me what else I need to do when creating another partition?

Thanks very much
flash_l4t_t186.xml (21.7 KB)

hello l6331533854,

you should note that by default GPT partition has occupy the rest of emmc size.
please have a try to move your PLUSA and PLUSB forward before GPT partition.
thanks

Hi JerryChang,

thanks for replying.

I try your suggestion in .xml file but it did not work as I expected.
Should I modify other file? I am using R28.2.1. I also try modify .cfg file, but still in vain.

nvidia@tegra-ubuntu:~$ sudo gdisk -l /dev/mmcblk0

Found valid GPT with protective MBR; using GPT.
Disk /dev/mmcblk0: 61071360 sectors, 29.1 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 00000000-0000-0000-0000-000000000000
Partition table holds up to 31 entries
First usable sector is 4097, last usable sector is 61071327
Partitions will be aligned on 1-sector boundaries
Total free space is 1 sectors (512 bytes)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            4097        33591296   16.0 GiB    0700  APP
   2        33591297        33599488   4.0 MiB     0700  mts-bootpack
   3        33599489        33607680   4.0 MiB     0700  mts-bootpack_b
   4        33607681        33608704   512.0 KiB   0700  cpu-bootloader
   5        33608705        33609728   512.0 KiB   0700  cpu-bootloader_b
   6        33609729        33610752   512.0 KiB   0700  bootloader-dtb
   7        33610753        33611776   512.0 KiB   0700  bootloader-dtb_b
   8        33611777        33617920   3.0 MiB     0700  secure-os
   9        33617921        33624064   3.0 MiB     0700  secure-os_b
  10        33624065        33628160   2.0 MiB     0700  eks
  11        33628161        33629368   604.0 KiB   0700  bpmp-fw
  12        33629369        33630576   604.0 KiB   0700  bpmp-fw_b
  13        33630577        33631576   500.0 KiB   0700  bpmp-fw-dtb
  14        33631577        33632576   500.0 KiB   0700  bpmp-fw-dtb_b
  15        33632577        33636672   2.0 MiB     0700  sce-fw
  16        33636673        33640768   2.0 MiB     0700  sce-fw_b
  17        33640769        33653056   6.0 MiB     0700  sc7
  18        33653057        33665344   6.0 MiB     0700  sc7_b
  19        33665345        33669440   2.0 MiB     0700  FBNAME
  20        33669441        33931584   128.0 MiB   0700  BMP
  21        33931585        34193728   128.0 MiB   0700  BMP_b
  22        34193729        34259264   32.0 MiB    0700  SOS
  23        34259265        34324800   32.0 MiB    0700  SOS_b
  24        34324801        34455872   64.0 MiB    0700  kernel
  25        34455873        34586944   64.0 MiB    0700  kernel_b
  26        34586945        34587968   512.0 KiB   0700  kernel-dtb
  27        34587969        34588992   512.0 KiB   0700  kernel-dtb_b
  28        34588993        35113280   256.0 MiB   0700  CAC
  29        35113281        61071326   12.4 GiB    0700  PLUSA
  30        61071327        61071326   0 bytes     0700  PLUSB
  31        61071327        61071326   0 bytes     0700  UDA

Can I assign storages for PLUSA, PLUSB, UDA at the same time?

flash_l4t_t186.xml (21.7 KB)
gnu_linux_fastboot_emmc_full.2-cfg.txt (4.48 KB)

hello l6331533854,

please have modification with below conditions:

  1. GPT should be the last partition,
  2. allocation_attribute with attribute 0x808 should be the second last partition as it is extended to rest of the device. thanks

Hi, JerryChang,

Thanks for your replying and guiding. I have solved my previous problem.
I am curious about another question.

I want to know the function and role of gnu_linux_fastboot_emmc_full.cfg in cfg folder.
It seems that it is not related to partition setting.

hello l6331533854,

please consider gnu_linux_fastboot_emmc_full.cfg as an unified flash config file.
there’s binary file, mkbctpart to load this file and generate a platform specific configuration files.
thanks

Hello,

I’m following the counsel in this thread to make my own partition, however I would like it to be 1GB large and to compensate I would like the APP partition to be that much smaller, however in the flash_l4t_t186.xml it has the keyword APPSIZE in the place of the size and if I dare put something else in there, the flashing stops when it needs to flash this image, so I’m definitely doing something wrong. However my question: how does one shrink the APP partition?

I have found the answer to my own question meanwhile:
if you use the flash.sh script, there is the option -S
of which the help says:
-S ------------ Rootfs size in bytes. Valid only for internal
rootdev. KiB, MiB, GiB short hands are allowed,
for example, 1GiB means 1024 * 1024 * 1024 bytes.

so if I simply start

sudo ./flash.sh -S 4GiB spacely-base mmcblk0p1

and I check on my board after the flash I can see that the APP partition is now 4.0 GiB large and the UDA partition at the end is now 24.4 GiB since it fills out the rest of the eMMc drive