AGX Xavier how to build and flash cboot

Hi ~
1 - i want to know how to build and flash the cboot into the deviceboard. Have any guidance documents or blogs?
2 - if i flash the board by using SDK MANGER, when xavier boot up, i wanna know whether the board boot up only from cboot without uboot or other.

Thank you very much.

hello zp11,

please check the Boot Flow, Jetson AGX Xavier did not had UBoot.
please access Jetson Linux | NVIDIA Developer and you should download the Cboot sources for t194 series.
there’s readme file, CBoot_Standalone_Readme_t194.txt which show the steps to build the T194 CBoot binary.,
you should perform the flash script with partition update to re-flash cpu-bootloader partition.
for example, $ sudo ./flash.sh -r -k cpu-bootloader jetson-agx-xavier-devkit mmcblk0p1

Hello JerryChang
1 - Can i use the dd command to update the cboot paritations ?
If it is OK, please see the next .
1.a - For example, use the command sudo ./flash.sh --no-flash -r -k cpu-bootloader jetson-agx-xavier-devkit mmcblk0p1 to generate cboot_t194.bin
1.b - i find cpu-bootloader -> ../../mmcblk0p6, and the mmcblk0p6 memory size = 1376K
image
1.c - So how much size should i used in the command for bs?
for example : sudo dd if=cboot_t194.bin of=/dev/mmcblk0p6 bs= ???

Thank you very much.

hello zp11,

yes, you may use dd commands to update cboot binary.
note,
it’s cboot_t194_sigheader.bin.encrypt after you running --no-flash.
you should push the sign/encrypt file to the bootloader partition.
btw, bs commands could be ignore for running dd command.
thanks

For dd the block size ("bs=???") won’t matter. However, if you want to specify, then you can always use size “512”, but this might not be the most efficient. Almost every disk out there will be 512 byte block size, but some would be a 4096 byte block size. Naming the wrong block size will not harm the result, but time taken to run the dd command might change.

The exception is in error situations where hardware is failing. When working on data recovery one can tell dd to keep copying even in the case of error, and the minimum size of lost data is the block size for failure to read. None of this matters unless hardware is failing.

If you want to see why 512 bytes is used, look at the text about “Sector size” from this command:
sudo gdisk -l /dev/mmcblk0

If you want an example case where you want more speed to dd copy a large file, then in that case you’d use a very large block size, e.g., “bs=1024k” (1024k is 1MB, or “bs=1M”).

You could leave out the bs option and it would default to 512.

I want to emphasize what was said before: You have to use dd on the signed version of the partition.

1 Like

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