For my Jetson Orin Nano devkit, I’m using the Yocto flow to create an OS. I’d like to implement an update mechanism to allow runtime updates for the rootfs/kernel/DTB as well as for the UEFI DTB.
So far, I can update the rootfs/kernel/DTB partitions on the SSD, but I cannot access the QSPI NOR flash to modify the UEFI DTB. I don’t see any MTD entry under /dev and /sys/class/mtd/ is empty. Also, there is no MTD related message in dmesg.
Interestingly, the initrd flash mechanism seems to support exactly that. In the first step, the initrd flash script uploads a kernel that somehow enables /dev/mtd1 and can access and update the QSPI NOR flash. So, I’m wondering what is different?
I decompiled the jetson-orin-nano-devkit.dtb file which is flashed by the initrd flash script to the device and found an SPI entry “spi@3270000” with the section “spiflash@0”. However, /proc/spi@3270000/ is not present in the running system at all. Did some bootloader modify the device-tree, or what is going on? How can I prevent that from happening?
Thanks for your help!