Cboot Handler

19 views
Skip to first unread message

Yannick rodriguez

unread,
Jul 23, 2024, 9:58:06 AMJul 23
to swup...@googlegroups.com
Hello,
I am trying to integrate SWUpdate with my Jetson Xavier NX board using Yocto and the meta-tegra (kirkstone r32.7... branch).
I noticed in the menuconfig that SWUpdate now supports the CBoot handler, but I couldn't find anything in the documentation. Is there an example or any documentation available?
Thank you for your work.
Best regards, Yannick

Stefano Babic

unread,
Jul 23, 2024, 10:19:40 AMJul 23
to Yannick rodriguez, swup...@googlegroups.com
Hi Yannick,

On 23.07.24 15:42, Yannick rodriguez wrote:
> Hello,
> I am trying to integrate SWUpdate with my Jetson Xavier NX board using
> Yocto and the meta-tegra (kirkstone r32.7... branch).
> I noticed in the menuconfig that SWUpdate now supports the CBoot
> handler, but I couldn't find anything in the documentation.

If you work with Nvidia, you should be used to....

> Is there an
> example or any documentation available?

The whole concept from Nvidia is not taken - IMHO it has some flaws or
it didn't match with my customer's desire. I had also integrated a TX /
TX2 together with Xavier, and my goal was to have similar behavior to
allow less effort for my customer. The concept is based on A/B (or even
single), using the storage of variable on SPI Flash that are integrated
in cboot (but not used) and supported in user space by community tools
(https://github.com/OE4T/tegra-boot-tools).

Apart o0f this, you have to patch cboot, too: cboot does not use these
variables, but it has an own strategy using Nvidia's invented GPT GUID
or partitions with fixed names. The variable are just evaluated once, I
think it is just for getting machine-id to pass to systemd.

Anywhere, as cboot is not pretty an Open Source project, there was no
chance to get changes integrated. You have to check in the "fixed_boot"
in cboot and adjust to get usage of vars instead of the hard-copy
procedure. Rather, each SOC and each version has its own cboot, so you
should dig there.

Not only, Nvidia have changed several time the boot strategy of its
processors in its Jetpack. Jetpack 5 hasn't cboot anymore for Xavier,
and Orin requires an UEFI bootloader.

Best regards,
Stefano Babic
Reply all
Reply to author
Forward
0 new messages