Flash.sh does not update Kernel

There seems to be some misinformation here. Let me attempt to clear it up.

On AGX, CBoot acts like U-Boot on other boards and will look for an extlinux.conf file in /boot/extlinux. This file tells CBoot which kernel, initrd and (optional) DTB to load from the rootfs (/boot), and any extra kernel command line arguments to add (via APPEND). So when you copied your new Image (kernel boot image binary) to /boot/Image, it loaded OK.

The ‘kernel’ and ‘kernel-dtb’ partitions on eMMC on AGX are only used by CBoot if there is no extlinux.conf file found, or no entries for LINUX (kernel) or FDT (dtb). So flashing your new kernel via flash.sh -k kernel will have no effect, unless you remove extlinux.conf (not recommended). Once you finalize your kernel changes, it is a good idea to reflash it to the kernel partition so that it matches the Image file in /boot (same for kernel-dtb, if you change that, especially as by default extlinux.conf does NOT contain an FDT line, so CBoot always loads the DTB from the eMMC partition).

So FDT is for the kernel DTB file location, not the kernel image.
LINUX is for the kernel image file location, not the DTB.
And if either is missing, CBoot on AGX will load that binary from the appropriate partition.
And finally, I always put an kernel DTB I wish to load via extlinux in /boot/dtb, not /boot. Less confusion about what DTB is used then.

Hope this helps,

Tom