How to load DTB instead of flashing to eMMC?

Hmm, I just saw the log and it does not look like an issue with signed dtb.

Could you help check whether the kernel cmdline has root=/dev/mmcblk0p1 or not?

Hi, checked it works without any issue, just need to follow #18

Hi,

So is this issue resolved?
Could you also put your current boot up log here?

Hi,

We finally got the Xavier module and is able to reproduce the error here.

For the case that you cannot boot into device but only into bash is due to missing the filesystem.

The reason why the rootfs is gone when you use your own dtb is due to missing the bootargs.

During the flash, below bootargs will be added to your original dtb. But this does not happen when you directly copy them to /boot/dtb.

chosen {
bootargs = "root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyTCU0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 rootfstype=ext4 ";
board-has-eeprom;
};
You could put above bootargs to extlinux.conf right after the “APPEND” to prevent such error.

As for the signature, I am not sure if this would really cause the error. Actually, cboot would just ignore the validation when device is not fused.

Hi WayneWWW,

How to sign “tegra194-p3668-all-p3509-0000.dtb” using flash.sh? The production fuse has been burned on my jetson-xavier-nx-devkit-emmc module, and the “FDT /boot/tegra194-p3668-all-p3509-0000.dtb” does not work any more.

The above command string mentioned by thiru.shettyseems not work, sudo ./flash.sh --no-flash -k kernel-dtb jetson-xavier-nx-devkit-emmc mmcblk0p1

thanks a lot!

Jason

Here is my procedure to sign "tegra194-p3668-all-p3509-0000.dtb” using flash.sh:

Hi WayneWWW,

Here is my procedure to sign "tegra194-p3668-all-p3509-0000.dtb”:

  1. Put the modified /new "tegra194-p3668-all-p3509-0000.dtb” under /Linux_for_Tegra/kernel/dtb directory

  2. /Linux_for_Tegra/sudo ./flash.sh --no-flash -k kernel-dtb jetson-xavier-nx-devkit-emmc mmcblk0p1

Results:

[   0.0347 ]
[   0.0358 ] Signed file: /home/test/amazon-convoy/Linux_for_Tegra/bootloader/kernel_tegra194-p3668-all-p3509-0000_sigheader.dtb.encrypt
*** kernel_tegra194-p3668-all-p3509-0000.dtb has been signed successfully. ***
  1. Find the signed files:

/Linux_for_Tegra/bootloader/temp_user_dir$ ls -al
total 82540
drwxr-xr-x 2 root root 4096 Aug 9 14:14 .
drwxrwxrwx 6 root root 12288 Aug 9 14:14 …
-rw-r–r-- 1 root root 42035200 Aug 9 14:13 boot.img
-rw-r–r-- 1 root root 42039296 Aug 9 14:13 boot_sigheader.img.encrypt
-rw-r–r-- 1 root root 206272 Aug 9 14:14 kernel_tegra194-p3668-all-p3509-0000.dtb
-rw-r–r-- 1 root root 4096 Aug 9 14:14 kernel_tegra194-p3668-all-p3509-0000.dtb.sig
-rw-r–r-- 1 root root 210368 Aug 9 14:14 kernel_tegra194-p3668-all-p3509-0000_sigheader.dtb.encrypt

  1. copy “kernel_tegra194-p3668-all-p3509-0000.dtb” & “kernel_tegra194-p3668-all-p3509-0000.dtb.sig” to /boot/dtb/ directory on my NX module

  2. Reboot the device

Hi jason.lu,

Sorry for the late response, this is an old thread, please help to open a new topic if it’s still an issue.

Thanks