Updating Raspberry Pi boot firmware files using Yocto Project and Mender

Updating the firmware files atomically is actually possible. You need two vfat partitions and exchange their entries in the MBR (i.e. a single 512B sector) atomically. I’m not the first to think of this; the folks at rauc are using the same mechanism: rauc/advanced.rst at 471e7e2acd88f21cb5306f04dcd6135ef557de2c · rauc/rauc · GitHub
It seems to me that having the Raspberry Pi firmware blobs, config.txt, the kernel image and cmdline.txt (which references the root filesystem) in the atomically-swappable boot partitions is enough to implement robust updates and u-boot could be eliminated.

1 Like