Confusion about which device tree is used - does not appear to be A_kernel-dtb
nor B_kernel-dtb
on scarthgap
#1670
-
I am in the process of updating to
My initial suspicion was that the A slot device tree was still being used. In an attempt to demonstrate this I created a modified device tree for the A and B slots that would identify which slot was in use: $ dtc -I dtb -O dts A_kernel_modified.dtb 2>&1 | grep model
model = "NVIDIA Jetson AGX Orin Developer Kit A";
$ dtc -I dtb -O dts B_kernel_modified.dtb 2>&1 | grep model
model = "NVIDIA Jetson AGX Orin Developer Kit B"; I flashed the modified device trees to the $ dd if=A_kernel_modified.dtb of=/dev/disk/by-partlabel/A_kernel-dtb
532+1 records in
532+1 records out
272497 bytes (272 kB, 266 KiB) copied, 0.0317612 s, 8.6 MB/s
$ dd if=B_kernel_modified.dtb of=/dev/disk/by-partlabel/B_kernel-dtb
531+1 records in
531+1 records out
272233 bytes (272 kB, 266 KiB) copied, 0.0302397 s, 9.0 MB/s rebooted and observed that neither modified device tree appeared to be in use: $ cat /sys/firmware/devicetree/base/model
NVIDIA Jetson AGX Orin Developer Kit I read the device trees back and verified that the changes were present on disk: $ dd if=/dev/disk/by-partlabel/A_kernel-dtb of=A_kernel-readback.dtb
1536+0 records in
1536+0 records out
786432 bytes (786 kB, 768 KiB) copied, 0.0104452 s, 75.3 MB/s
$ dtc -I dtb -O dts A_kernel-readback.dtb 2>&1 | grep model
model = "NVIDIA Jetson AGX Orin Developer Kit A";
$ dd if=/dev/disk/by-partlabel/B_kernel-dtb of=B_kernel-readback.dtb
1536+0 records in
1536+0 records out
786432 bytes (786 kB, 768 KiB) copied, 0.0113336 s, 69.4 MB/s
$ dtc -I dtb -O dts B_kernel-readback.dtb 2>&1 | grep model
model = "NVIDIA Jetson AGX Orin Developer Kit B"; Out of concern that a driver might be truncating or modifying the model field behind my back, I also tried adding a new node to the $ dtc -I dtb -O dts B_kernel_modified.dtb 2>&1 | grep -A5 new-test-node
new-test-node {
compatible = "no-driver-exists";
status = "okay";
};
$ nvbootctrl dump-slots-info
Current version: 36.3.0
Capsule update status: 1
Current bootloader slot: B
Active bootloader slot: B
num_slots: 2
slot: 0, status: normal
slot: 1, status: normal
$ ls /sys/firmware/devicetree/base/new-test-node
ls: cannot access '/sys/firmware/devicetree/base/new-test-node': No such file or directory The device tree does not change regardless of what I write to these partitions. Prior to scarthgap we always just wrote the device tree to So my questions are: Where is the device tree stored if not in
|
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
See d4dfb31, https://github.com/OE4T/meta-tegra/wiki/extlinux.conf-support and the logic in https://github.com/OE4T/meta-tegra/blob/scarthgap/recipes-bsp/uefi/l4t-launcher-extlinux.bb - the dtb partitions are only used for backup I believe as long as |
Beta Was this translation helpful? Give feedback.
See d4dfb31, https://github.com/OE4T/meta-tegra/wiki/extlinux.conf-support and the logic in https://github.com/OE4T/meta-tegra/blob/scarthgap/recipes-bsp/uefi/l4t-launcher-extlinux.bb - the dtb partitions are only used for backup I believe as long as
UBOOT_EXTLINUX
, which is now the default onmaster
andscarthgap
, is used.