I am blind sometimes. Shame on me. Thanks Alberto.
Hi Sharan, as the board will live inside a metal enclosure and will be hardly accessible, it would save a lot of headaches not to have the swap happening, so yes I would love to have a modified uboot script.
Anyway, what would the consequences be of not being able to detect whether the boot was successful?
Hi @sdangelo,
the mechanism is in place in order to guarantee that the board is always in a bootable condition.
If by any chance you deploy a wrong update to the end-users, in this way the bad update can be reverted… If you remove this mechanism, it’s possible to have a minimal “supervisor system” that only allows you to run updates but that will require significant customization of the update / filesystem organization part.
Another workaround is to keep that number high enough so that it’s unlikely that a user by mistake triggers the swap by powering off the system during boot. Right now the number is 10 but it can be changed relatively easily once you’ll have all the tools available (coming soon!).
One thing that definitely helps is having some kind of visual feedback so that the user can know what version is running. Once you ship a final product, both root filesystem images are initially set to your “version 1.0”. If you fail to boot 10 times in a row, the system will just revert to the previous release.
You can send me an email to sharan@elk.audio and I can send you the boot script which will not swap the rootfs.
If you are not in a hurry, we will be pushing our yocto layers and build scripts soon to github where you will be able to see the source of the boot script. You can modify it as you see fit.
Mmm… I understand, so the obvious solution would be to make two identical copies of the rootfs “out of the factory”, right?
Hi @sdangelo,
that’s exactly what happens when you generate a fresh image yourself, so no need to do anything special here
Just be a little more patient, today we are releasing another bunch of repositories and finally next week with the Yocto layers will allow you to do image & update generation.