You would not use an image which includes other partitions. What you’d do is flash a root filesystem, and let the software put in the correct surrounding support partitions for you.
Those other partitions are different for eMMC versus SD card models, and would not correctly boot if mixed.
If you were to flash on command line and add the “-r
” option to “reuse” the APP partition (the rootfs), then this would accomplish what is needed. The rootfs would be yours (you’d put it at “Linux_for_Tegra/bootloader/system.img
” prior to flashing), and the surrounding content would be correctly signed and valid for the eMMC model. If you have modifications for a custom carrier board, then you’d have those in place prior to the flash.
I do not know for sure if the eMMC model mandates partition signing the way other Jetsons do mandate this (at least the non-SD card models), but I suspect this is mandatory. In that case you would not be able to simply copy an entire partition…you’d take the data part, sign it against the particular eMMC Nano, and then flash. The data would be constant, but the signature would change.
Do note that if you know the size of your content for a non-rootfs partition, and then use dd
to extract the partition, you could look at just the non-signature part and perform your checksum for validity against the non-signature part of the partition. This would be a bit time consuming, and it would require the Jetson to be booted in order to use dd
, but it could be automated.
I don’t know which of these URLs would be most useful to you regarding signing, especially since I’ve not checked this with an eMMC Nano (I only have an SD card Nano), take a quick look at these URLs (some of these are old, but I believe still correct, especially the sign.py
script or l4t_sign_image.sh
which is newer):
FYI, most Jetsons use U-Boot, but Xavier does not. Xavier’s CBoot has modifications to provide many U-Boot style options, e.g., reading extlinux.conf options. So if you look at Xavier documents you might notice some differences, but I think the non-rootfs signing will be the same regardless of whether Xavier uses CBoot instead of U-Boot.
EDIT: Note that if you have a single binary file which includes the entire content, then dd
can extract a partition, followed by extracting the non-signature part of the partition. Or you can just extract the non-signature part directly, although I suspect that is more error prone.