Change name of device tree

Hi,

I’m attempting to use a customised device tree on the jetson nano.

I have created the relevant device tree and it is built in the kernel. The device tree is deployed in the /boot partition and I have changed the /boot/extlinux/extlinux.conf file to be:

default Yocto
label Yocto
   kernel /Image
   fdtdir /
   fdt /boot/mydevicetree.dtb
append root=PARTUUID=3eeb3f1f-02 rootwait

When booting the nano still retains the original device tree. What am I doing wrong?

The boot states:

[ 0.452830] DTS File Name: /dvs/git/dirty/git-master_linux/kernel/kernel-4.9/arch/arm64/boot/dts/../../../../../../hardware/nvidia/platform/t210/porg/kernel-dts/tegra210-p3448-0000-p3449-0000-a02.dts

I also can see it’s not my tree in /proc:

cat /proc/device-tree/nvidia,dtsfilename
/dvs/git/dirty/git-master_linux/kernel/kernel-4.9/arch/arm64/boot/dts/../../../../../../hardware/nvidia/platform/t210/porg/kernel-dts/tegra210-p3448-0000-p3449-0000-a02.dts

From u-boot I get:

Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
216 bytes read in 20 ms (9.8 KiB/s)
1:      OE4Tegra Demonstration Distro
Retrieving file: /boot/extlinux/../initrd
2094831 bytes read in 114 ms (17.5 MiB/s)
Retrieving file: /boot/extlinux/../Image
37640200 bytes read in 1626 ms (22.1 MiB/s)
append: tegraid=21.1.2.0.0 ddr_die=4096M@2048M section=512M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 console=ttyS0,115 
## Flattened Device Tree blob at 83100000
   Booting using the fdt blob at 0x83100000
ERROR: reserving fdt memory region failed (addr=0 size=0)
ERROR: reserving fdt memory region failed (addr=0 size=0)
   Using Device Tree in place at 0000000083100000, end 000000008317e68d

Hi, as stated in the FAQ, we’d suggest you do a whole re-flash to make sure the change takes effect.

Yes, I’ve tried turning it off and on again as well. Lol.

Hi, have you tried to use codes directly released by NVIDIA, not the Yocto-based one?

No, our solution requires a Yocto implementation. I have managed to get the image working by using the output from the tegraflash class. I didn’t realise that the output of the sdcard image vs the tegraflash image were so radically different. I need to investigate the tegraflash class tio understand it fully. In our implementation we will need to read hardware from u-boot and select a device tree based on specific hardware. This will need multiple device tree configurations. Is there a best practice way of doing this? Does the image contain the device tree as I don’t see an ‘fdt load’ for example in u-boot output when booting the kernel.

I would suggest you can share the full log and which version of jetpack your BSP is based on first.

Your partial log is hard to tell which part has problem.

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