I might have spoke too soon. Although my method above does work for changing the loaded device tree (in /proc/device-tree) it doesn’t seem to affect some other boot behavior, specifically cameras.
I have replaced all mention of “imx219 1-0010” with “imx219 123-0010” in the device tree:
root@272517e:~# grep "imx219 1-0010" /proc/device-tree/ -rn
root@272517e:~# grep "imx219 123-0010" /proc/device-tree/ -rn
However, when the HostOS boots up and I look at the kernel log, I see imx219 1-0010:
root@272517e:~# dmesg | grep "imx219 1-0010"
[ 1.185373] imx219 1-0010: tegracam sensor driver:imx219_v2.0.6
[ 1.208827] imx219 1-0010: imx219_board_setup: error during i2c read probe (-121)
[ 1.208857] imx219 1-0010: board setup failed
I’ve tried replacing the DTB and RP1 partitions (/dev/disk/by-partlabel/) with a signed DTB but that didn’t work. I also tried using the same signed DTB in /mnt/boot/bootfiles/ but that had no effect.
root@272517e:~# strings /dev/disk/by-partlabel/DTB | grep "imx219 123-0010"
root@272517e:~# strings /mnt/boot/bootfiles/DTB | grep "imx219 123-0010"
So it seems some part of the boot process is using a different device tree. I haven’t seen what other systems exhibit this behavior, so far it’s just the cameras but that’s a pretty significant issue for me.
I would really appreciate comments or feedback from anyone with a better understanding of the boot process and how/where DTBs are loaded.