We are using UBI/UBIFS on our Colibri iMX7 512MB modules. There are 4 UBI partitions (type ubi info l at U_Boot or ubinfo -a at Linux for more info)
kernel
dtb
m4firmware
Rootfs
First 3 has no file system on them. So we store one file per partition as binary. At Linux they are represented as /dev/ubi0_0 /dev/ubi0_1 /dev/ubi0_2 /dev/ubi0_3. You can updates binary on first 3 partitions (including a dtb which hold a Device tree) using commands ubiupdatevol at Linux or ubi write at U_Boot
The legacy update method is fairy deprecated. Starting with version 2.7 onward of our BSP we’d prefer if customers use our Easy Installer utility in order to install/update your device binaries.
Thanks Alex and jeremias, that process works and I was able to flash 2.8 from uboot. Your Toradex easy install directory has 2.8b6 and your git has 2.8b5, from which I will rebuild kernel. Will I have any problems if I copy over only zImage or do I have to grab all binaries that I rebuilt?
Alex, that’s right. But on my first attempt I copied only the dtb, and Linux did not boot. Apparently, the error: zImage magic! was wrong and U-boot would only do a bootp so it tried 15 times to bootp. When I copied next time I did run update replacing everything and all was well. Since I copy all, might as well try building and replacing the kernel too. Not sure if other binaries besides zImage needed? Assume the dynamic libraries are separate from zImage?
Replacing dtb only should not prevent kernel from start booting even if Device Tree is completely wrong. Of cause kernel may crash in last case due to problem with HW init. Error about zImage magic indicate that kernel binary was corrupted during dtb replacement. I’d recommend you download Linux image here . Unpack it to SD card or USB drive and replace device tree file imx7d-colibri-eval-v3.dtb with yours keeping same name. Then use a Toradex Easy installer to re-flash your system as described here - Downloads & Installers | Toradex Developer Center