Hello,
Is it true that the so-called copying the App partition means copying the entire nano?
Thank you.
Hello,
Is it true that the so-called copying the App partition means copying the entire nano?
Thank you.
hello neuezeal,
itâll copy APP partition to another new file if youâre performing an image clone.
thatâs not copy entire Nano, thereâre still several images.
you may refer to flash configuration file for the partition layouts,
for example,
$OUT/Linux_for_Tegra/bootloader/t210ref/cfg/flash_l4t_t210_emmc_p3448.xml
Hello,
We are going to make a mass flashing blob with the image created through image duplication and use it for mass production.
Is this possible?
Isnât it an incomplete copy if itâs not copying the entire nano?
Thank you.
hello neuezeal,
thereâs readme file you may found, README_Massflash.txt
You might find it useful to know that the APP
partition is the operating system and user files. All other partitions are the equivalent of a motheroardâs CMOS BIOS plus bootloader. If you have customized the device tree or boot in some way, then your updates go into the host PC at various places under âLinux_for_Tegra/
â, and this automatically gets applied to non-APP content. Since some of that content is signed as it is installed, this is the best way to do this. Copying something signed for another system, if it depends on keys in that other system, will fail.
Hello,
Thanks for the reply.
I didnât understand the following sentence and Iâm not particularly sure whatâsignedâ means.
Thank you. đđ
Hello,
Doesâupdatesâ mean executing ./apply_binaries.sh here?
Thank you.
the app partition is mmcblk0p1
while the entire space is mmcblk0
typically there are about 12 -14partitions : mmcblk0p1 - mmcblk0p14
all of them but the APP are kind of system/ supplementary
only the APP has users apps/data
partitions could be listed using
lsblk
Prior to L4T R32.x secure boot and other methods of authenticating boot content had not yet been put in place, at least not by default. Those non-APP partitions are essentially the equivalent of CMOS BIOS and bootloader. Within R32.x that other content began to be cryptographically signed. That content can depend on a key within the Jetson if enabled. Different Jetson with different keys implies what is signed for one will not work with another. This will not apply in all cases. This will always apply in cases where the fuse has been burned. Prior to burning a fuse it is possible to read some content used in comparing signatures, and after burning the fuse, none of that content is readable by the outside world. So far as I know (I donât have units to test fuse burning with), it is possible to require a correct signature prior to burning the fuse. If the signature is bad it would refuse to boot, but you would still have a chance in this case to fix the problem; once the fuse is burned the only chance you have is to know the key content without reading it from the Jetson.
During a normal flash for R32.x+ many of the partitions will have a pregenerated âstandardizedâ image copied from the host machine to the Jetson. During the copy the content has a signature added to it. The final partition size will require, at minimum, the byte size of the image plus the byte size of the signature (in reality the partition will be bigger, with excess space filled in with NULL bytes).
No. âapply_binaries.sh
â is is part of NVIDIAâs creation of a boot image, and yes, this has to occur. However, when I say âyourâ updates, I am implying any custom device tree, and any custom bootloader. Most people with a custom carrier board need a device tree update, but usually do not need a bootloader update. Another example of a customization which would be added to the host PC is a custom splash image. The point is that when using actual flash software, and not using a prebuilt image, that the boot content of non-APP partitions is generated, and customizations within certain parts of the âLinux_for_Tegra/
â subdirectory will propagate to the flashed Jetson. Often those customizations go somewhere in âLinux_for_Tegra/bootloader/
â or âLinux_for_Tegra/kernel/
â.
The next time you flash a Jetson on command line I recommend that you log the flash and save the log. This can be used as a reference to see which files are used, signed, and flashed, for your configuration. Example with logging (note the extra â2>&1 | tee log_flash.txt
â):
sudo ./flash.sh jetson-nano-emmc mmcblk0p1 2>&1 | tee log_flash.txt