2026-02-03, 16:50–17:40, B.1.036
Crinit [krinit] is a new lightweight init system targeted at embedded systems. The feature set includes parallelism, authenticated configuration, and a runtime control interface. In this presentation, we will show the goals, the architecture and some details on the API for this project.
The startup phase of a Linux system is largely ruled by systemd and it does a great job of that.
But sometimes it would be nice to have something simpler and smaller without returning to the highly shell-dependent solution "SystemV-init".
Along with these requirements, security needs to be addressed, by dropped privileges to the least minimum level. Resource consumption controlled by crinit using cgroups.
crinits code base is small and fast, it initialises the userland by traversing a directed dependency graph that can be modified dynamically.
Config-files and service-definitions can be signed to ensure usage of configurations from authorized sources only.
In dependable systems crinit is used to startup processes handlings tasks that need to be development according IEC61508 ISO26262.
crinit is an open source community project under MIT license and we wish to encourage its wide spread adoption and contribution.
This presentation will present the goals, the architecture and some details on the API for this project.
crinit can be found here: https://github.com/Elektrobit/crinit
Thomas Brinker is a Senior Systems Engineer and Project Manager at emlix
GmbH. He is an architect for secured embedded Linux systems in the automo-
tive, medical, industrial, and consumer device fields, performing requirements
engineering and design throughout the entire product life cycle.
Andreas Zdziarstek is a Systems Engineer and Project Lead at emlix GmbH. He is working with customers in industrial, medical and automotive fields to develop hardened and minimized embedded Linux devices.
Incidentally, he is also maintainer of the crinit init daemon for embedded systems (https://github.com/Elektrobit/crinit).