For TX1 and TX2 up to L4T R28.x, custom kernel Image can be put in any location and pointed by extlinux.conf.
For Xavier, uboot is not used, does this means new kernel Image must be flashed to a particular partition (32)? Is kernel Image encrypted? Can “dd” be used to flash kernel Image to kernel partition from Xavier?
Is kernel dtb encrypted?
I have rebuilt kernel on Xavier and would like to know if I can flash it using “dd”.
I have been following that link, but my questions are different.
While it may take a while for Nvidia to support kernel selection, we need to test custom kernels in order to use Xavier for our cameras now.
My questions are if kernel Images and DTBs can be flashed using “dd” from Xavier instead from Ubuntu host through micro USB.
On my Xavier the primary kernel is in partition 29. I used gdisk -l to list the partitions. The unencrypted primary dtb is in partition 31. I built a kernel and installed it using flash.sh but haven’t yet attempted to dd it.
I was able to update the DTB using dd. I had trouble flashing the DTB using flash.sh. It seems like flash.sh is ignoring the -d option and using the default DTB file.
If you build dtb then make sure you are using the “signed” version of the dtb to dd it to /dev/mmcblk0p31. Or use flash.sh to flash the kernel-dtb partition (-k kernel-dtb). Just dd’ing the built dtb won’t work.
Anish is correct. Just dding the DTB to partition 31 doesn’t work.
I’ve also encountered a problem with flash.sh in JetPack 4.0 where it is ignoring the DTB specified with -d. I found that I can flash my DTB if I copy it to Linux_for_Tegra/kernel/dtbs prior to attempting to flash.
On Jetson Tx2 I used to dd the encrypted DTB but I don’t know where to find that yet for Xavier.
qemu-x86 might be useful to run some other X86 code on TX2/Xavier as well. It’s worth is to try if “flash.sh” and it’s dependencies can run under qemu-x86. It’s an option for systems without access to the recover USB port and recover button.