On 05/01/2023 12:09, m1027 wrote:
frederik.pfautsch: > >>> So, ideally, there is c): In a hypothetic case we would prepare
a >>> entire OS incl. our app (maybe via catalyst?) which would require >>> a bootloader-like mini-OS on the customer's side, to receive >>> updates over the internet, switch the OS at boot time, and >>> fallback. I was recently playing with systemd-boot and it's >>> interesting try-boot feature. >> >> So essentially it sounds like you want something similar to Yocto / >> Poky / Petalinux for the non-embedded world (and based on Gentoo of >> course; it sounds like catalyst is something like that)? > > I've had a look on that: Wow, another interesting approach to build > customized OSes. Thanks! > >> Just throwing crazy ideas around, what about using net-boot for >> your customer? This way they just need to store an image somewhere >> and can update it whenever necessary. Or (ab-)using an initramfs. >> Or u-boot bootloader, just like in the embedded world. Depending on >> the size of the actual OS/rootfs, taking ideas from e.g. Android >> with their A/B bootslots (i.e. two root-partitions or something, >> where one is active and the other can be updated with clever >> scripts, after a reboot they are swapped). > > ... exactly what is on my wishlist currently! I am missing such an > alternative when in need for updating a remote (customer's) OS, where > ssh + emerge @world is just no option. If we had that, I'd see Gentoo > (e.g. with catalyst or via Yocto) shining bright here as it is > perfect in stipping down things to the required minimum. > > Thanks.
Interesting projects in that space could be mender.io, or swupdate.

Both are based on the idea of having at least two system partitions (+ maybe a couple of data partitions), and downloading the update on an inactive partion. On next boot, the bootloader tries to boot from the new partition; if that fails, it will fall back to the previous (known working) partition after a few tries.


--
Xelnor

Reply via email to