How to update Kernel Image and dtb file in Jetson Xavier without using flash command

Hi,

I’m remotely using my machine Jetson Xavier. I want to update my camera driver code and corresponding dtsi files for which i have done it and compiled it using nvbuild.sh script already having in source code.

I have already done below steps for Jetson Xavier machine:

  1. Updated the '/boot/extlinux/extlinux.conf, it’sLINUXandFDT` entry to /boot/Image and /boot/dtb/tegra194-p2888-0001-p2822-0000.dtb.
  2. Copied my updated Image and platform dtb file (tegra194-p2888-0001-p2822-0000.dtb) using scp to Xavier machine at /boot/Image and /boot/dtb/tegra194-p2888-0001-p2822-0000.dtb.
  3. Rebooted my Xavier machine remotely using shutdown -r now command.

But after reboot, i cant see my updated debug prints in dmesg (while probing of my sensors).
My extlinux.conf file content is:
TIMEOUT 30
DEFAULT primary

MENU TITLE L4T boot options
LABEL primary
MENU LABEL primary kernel
LINUX /boot/Image
FDT /boot/dtb/tegra194-p2888-0001-p2822-0000.dtb
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 nv-auto-config

Please help, as i dont want to use flash command for which one has to present physically near to Xavier machine to make it in Recovery mode state and then only we can flash it.

Thanks

Do you see “quiet” anywhere in:
cat /proc/cmdline

If so, then debug is being told to be quiet even if the kernel wants to send logs.

Incidentally, is the output of “uname -r” correct for your kernel configuration (meaning to check if the new kernel loaded…the suffix would match your kernel’s CONFIG_LOCALVERSION string at the time of compile).

Also, you can create a dump of the running system’s device tree to compare to yours to see if the logical content matches:
dtc -I fs -O dts -o extracted.dts /proc/device-tree

  1. What version of Jetpack?
  2. Do you only use emmc, or have other disks?

Hi,
There is no quiet found:
nvidia@ubuntu:~$ cat /proc/cmdline
console=ttyTCU0,115200 root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyTCU0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 rootfstype=ext4 nv-auto-config video=tegrafb earlycon=tegra_comb_uart,mmio32,0x0c168000 gpt rootfs.slot_suffix= tegra_fbmem=0x800000@0xa06ab000 lut_mem=0x2008@0xa06a6000 usbcore.old_scheme_first=1 tegraid=19.1.2.0.0 maxcpus=8 boot.slot_suffix= boot.ratchetvalues=0.4.2 vpr_resize sdhci_tegra.en_boot_part_access=1

nvidia@ubuntu:~$ uname -r
4.9.253-tegra

Jetpack is 4.9 version and using emmc no any additional disk.

There is NO Jetpack 4.9. I assume you are running Jetpack 4.6.2 (based on your uname -r output).

Jetpack 4.6.2 has a bug in cboot bootloader that ignores extlinux.conf. You need to patch it. Search this forum for details.

Thanks,
Could you please pass me the link for that exact patch?

1 Like

Looks like the same issue was just discussed this week in this thread.

1 Like

I think @user100090 is right. This is probably the patch, but this particular post is likely correct:
https://forums.developer.nvidia.com/t/cboot-in-32-7-2-fails-to-read-extlinux-conf/214017/15

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.