Is it possible to let cboot load u-boot on AGX-Xavier?

On Jetson-AGX-Xavier, the current boot flow is that cboot directly load Linux.
Is it possible to let cboot load u-boot first, then let u-boot load Linux?


Please refer to the story here:


I am curious to see if I change the u-boot device tree files so that the address match the Xavier address space (instead of TX2 address space), is it going to work?

Basically, how much work is required to change u-boot for TX2 and let it work on Xavier? device tree change only? Or drivers need to be changed too? Or lots of changes other than dtb and driver?

Also, can I reuse the Xavier device tree from Linux, will Xavier linux device tree work for u-boot?


I built TX2 u-boot, and let it loaded by cboot and run on Xavier. But it seems u-boot crashes in very early stage.

Is there a way to use JTAG to debug u-boot on Xavier?



Are you able to use a serial port on the board to interrupt the U-Boot sequence? If so, you can try to follow the L4T documentation to help debug U-Boot:

Please note that this documentation applies to the TX2 and not Xavier but it may be helpful for your porting effort.


Hi Cory,

I do have serial port access to my Xavier, I can see MB1, cboot boot up messages.
But, the issue is that u-boot in Xavier crashes in very early stage. I don’t see any message of u-boot pops up. I don’t have u-boot console access either because u-boot crashes before that.

It seems u-boot crashes in the very first function - “_start” (in /arch/arm/cpu/armv8/start.S)

That’s why I was asking using a JTAG adapter to debug u-boot.
Any suggestions on JTAG adapter hardware (e.g. TRACE32 or J-Link) for Xavaier and the steps for debugging u-boot?


J502 is the point on P2822 CVB. Any kind of jtag can be hooked to that port to debug bootloader or kernel or even BPMP.