I have compiled a kernel Image since I need a custom integration for CSI cameras.
I have two AGX Xavier where in one of them the kernel Image update was successful and in the other nothing seems to happen.
After compiling the kernel I simply copy the Image file into the jetson with the following:
Instead of flashing you could just name the file in the extlinux.conf (this is prohibited only if security fuses are burned). What is the “/boot/extlinux/extlinux.conf” content on the failed systems? There should be an entry similar to this: LINUX /boot/Image
These are the contents of the /boot/extlinux/extlinux.conf, they are the same in both systems.
TIMEOUT 30
DEFAULT primary
MENU TITLE L4T boot options
LABEL primary
MENU LABEL primary kernel
LINUX /boot/Image
INITRD /boot/initrd
APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyTCU0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 rootfstype=ext4
# When testing a custom kernel, it is recommended that you create a backup of
# the original kernel and add a new entry to this file so that the device can
# fallback to the original kernel. To do this:
#
# 1, Make a backup of the original kernel
# sudo cp /boot/Image /boot/Image.backup
#
# 2, Copy your custom kernel into /boot/Image
#
# 3, Uncomment below menu setting lines for the original kernel
#
# 4, Reboot
# LABEL backup
# MENU LABEL backup kernel
# LINUX /boot/Image.backup
# INITRD /boot/initrd
# APPEND ${cbootargs}
The only difference between the systems is that one has an SD card and the other one does not. Unfortunately I cannot remove the SD card since the AGX is already inside a water tight case.
Looks like extlinux.conf is correct. Unless security fuses were burned, then that file placement should work. @WayneWWW mentioned a patch for R32.7.2. What release do you have? See “head -n 1 /etc/nv_tegra_release”. Maybe try that patch.
You would know if you burned the fuses. A key would have been used during the flash. The serial console boot log will mention where it gets the device tree and kernel from, and this could verify if anything comes from “/boot” (versus kernel or device tree partition). However, SD card models don’t allow security fuse burning (it doesn’t exist on that model, it is only for eMMC models). I don’t know what is going on since your extlinux.conf seemed correct.
Besides copying the files to the SD Card, how should I tell the bootloader to load from /data/boot/extlinux/extlinux.confinstead of /boot/extlinux/extlinux.conf?