když už není heavy samotný linux, tam systemd je za mě zajímavá volba, umí to startovat rychle, dobře se to testuje, read-only rootfs není problém. Máme image, kde běží 4 služby, celkově 12 procesů, start máme za 5s (2s kernel, 3s userspace, multi-user.target je firovaný do 3s) na něčem, co je srovnatelné asi rpi.
A proč používat takhle těžkotožání věci? Hlavní důvod za mě je asi schopnost se snadno integrovat s existujícím ekosystémem na vývoj, snadno dělat image, velké množství lidí dostupných na linux, dobré podmínky pro testování na vm.
Věci jako systemd-analyze blame, kontrola služeb, jednotné kolektování logů prostě ulehčují práci. Ne vždy jsou embedded malé knoflíky, někdy to je poměrně výkonný strojek a priorita není ušetřit watty, ale zvýšit spolehlivost (to nejen běhu, ale i se vyvarovat chyb při vývoji).
to ale asi není nějaká obecná certifikace, ale jedná se o soulad s provozními pravidly jak má nějaká instituce interně stanovené, ne?
Je běžné, že každá firma má nějaké jiné vnitřní podmínky a best practice, támhle musím mít služub X, támhle musím být tenhle repositář nebo tuhle distribuci, támhle musím dodržet tyhle pravidla pro konfiguraci nebo automatizaci, támhle musí takhle vypadat audit log, tady zase musí mít všechny logy tenhle formát atd.atd.
Rozdíly jsou docela běžné, přidělává to ale zbytečně práci se někam integrovat.
Tak... co je dneska "embedded"? Může to být cokoliv od termostatu s wifinou až po 4K reklamní signage panel s GPU akcelerací. Na něco z toho je systemd overkill, na něco ne.
Systemd moc prostředků nežere, obrovsky pomáhá ukočírovat dynamičtější konfigurace (různě se měnící sítě, storage, periferie), má dobrou instrumentaci, použitelnou dokumentaci, a obří pool lidí ze kterého jde brát odborníky, protože se to používá všude. Dneska je snadnější postavit embedded team z lidí co dělají NixOS a systemd než nějaké buildroot nebo yocto.