Failed to load dtb file in /boot/dtb/

I have modified extlinux.conf file and reboot.


DEFAULT primary

MENU TITLE L4T boot options

LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/Image
      FDT /boot/dtb/tegra194-p3668-all-p3509-0000.dtb
      INITRD /boot/initrd
      APPEND ${cbootargs} quiet root=/dev/nvme0n1p1 rw rootwait rootfstype=ext4 console=ttyTCU0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0

# 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}

dtb file has been copy to the directory:

root@123:/# ls /boot/dtb/
kernel_tegra194-p3668-all-p3509-0000.dtb      tegra194-p3668-all-p3509-0000.dtb

Boot loader log:

[0012.529] I> Loading kernel-dtb ...
[0012.529] I> Loading kernel-dtb binary from rootfs ...
[0012.529] I> rootfs path: /sdmmc_user/boot/dtb/tegra194-p3668-all-p3509-0000.dtb
[0018.727] I> lookup_linear_dir:485: Invalid file block num
[0018.728] I> ext2_walk:142: 'tegra194-p3668-all-p3509-0000.dtb' lookup failed
[0018.728] I> ext4_open_file:704: '/boot/dtb/tegra194-p3668-all-p3509-0000.dtb' lookup failed
[0018.729] E> file /sdmmc_user/boot/dtb/tegra194-p3668-all-p3509-0000.dtb open failed!!
[0018.730] W> Failed to load kernel-dtb binary from rootfs (err=202113041)
[0018.737] I> Continue to load from partition ...

all bootloader log txt:

bootloader log.txt (46.3 KB)


I think that’s because your device still boots from eMMC/SD card, where kernel and kernel dtb are loaded, but the rootfs is mounted on NVMe. Note that the device to boot from can be different from the device where rootfs is mounted.

Either put the file on eMMC, or change the boot order in U-Boot to make sure both kernel/kernel dtb are loaded from NVMe.

Solved, Thanks.

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