EDGEHOG OS based on Yocto framework is the Linux Operating System optimized for the SECO IoT Gateways. It is studied to provide the highest standards in terms of security and stability thanks to features like delta updates, double partitions, fallback procedure. EDGEHOG OS integrates all the EDGEHOG features like the agents used to communicate with the Cloud.
A modern continuous integration and delivery infrastructure and verification ensure stability to the system and the updates.

Delta Updates‌

EDGEHOG OS uses the OSTree update system to provide delta updates of the filesystem. This feature significantly saves time and bandwidth since only the files with changes(delta) will be updated on a new release and not the whole filesystem. This is very useful in all those situations where the amount of data exchanged with the cloud must be kept under control, as when the gateway uses a SIM connectivity for example.

Double Partition and fallback procedure

In the EDGEHOG operating system all partitions are duplicated, so you have an active partition layout A and a dormant partition layout B. This guarantees a high state of security because every time a new update is applied it is done on the layout of dormant partitions, the system checks that everything is successful and chooses at restart whether to start partitions B if everything works properly or returns to partitions A if there was some problem in installing the new version. With this A-B approach, you always have a working gateway and you don't risk losing your remote connection with it.
This is one of those choices we have made to make sure that gateways are like rovers on Mars, so you can't lose your connection and the gateways are always remotely reachable.

Docker Runtime

EDGEHOG OS provides Docker and Docker Compose runtimes to allow users to manage their applications development in Linux containers.
A container allows you to keep applications and software packages needed by the user isolated but shares the kernel with the rest of the system. This allows for easier distribution and updating of applications while increasing system security and stability.
A-B partitions layout and containers