Meet GENODE, a framework to create Operating Systems
Written in C++ and safely reduces build complexity!
Genode OS Framework is a toolkit for building highly secure special-purpose operating systems written in C++.
It scales from embedded systems with as little as 4MB of memory to highly dynamic general-purpose workloads.
Genode is based on a recursive system structure. Each program runs in a dedicated sandbox and is given only the access rights and features necessary for its specific purpose.
Programs can create and manage sub-sandboxes with their own resources, forming hierarchies where policies can be applied at each level. The framework provides mechanisms to allow programs to communicate with each other and negotiate their resources, but only in strictly defined ways.
Thanks to this rigid regime, the attack surface of critical security functions can be reduced by orders of magnitude compared to contemporary operating systems.
The framework aligns L4 building principles with the Unix philosophy . In line with the Unix philosophy, Genode is a collection of small building blocks from which sophisticated systems can be composed.
But unlike Unix, these building blocks include not just applications, but all the classic operating system functionality, including kernels, device drivers, file systems, and protocol stacks.
- CPU architectures: x86 (32-bit and 64-bit), ARM (32-bit and 64-bit), RISC-V
- Kernels: most members of the L4 family (NOVA, seL4, Fiasco.OC, OKL4 v2.1, L4ka :: Pistachio, L4 / Fiasco), Linux and a custom kernel.
- Virtualization: VirtualBox (on NOVA), a custom virtual machine monitor for ARM and a custom runtime for Unix software
100+ components ready to use!
To download Genode, just access this link there will be 4 options, and Sculpt OS is a general purpose operating system based on Genode, system images out of the box allow you to use Genode without having to build the system from scratch.
You can download the image quickly with wget:
Create a partition and copy it with the command dd:
For more information and usage details use the documentation which by the way is very intuitive!