Erik Moqvist, autor platformy a nástrojů , vyvíjí novou distribuci , zaměřenou na vytváření embedded Linux systémů pro oddělené spuštění určitých aplikací napsaných v jazyce C. Distribuce se vyznačuje tím, že softwarová výbava je zabalena do jednoho staticky zkomprimovaného spustitelného souboru, který zahrnuje všechny komponenty potřebné pro provoz aplikace (v zásadě distribuce sestává z jádra Linux a ram-disku s staticky sestaveným init procesem, který zahrnuje aplikaci a potřebné knihovny). Kód je licencován pod MIT licencí.
V prostředí jsou poskytovány všechny subsystémy a systémové volání jádra Linux, včetně přístupu k FS, síťovému stacku a ovladačům zařízení. Pro propojení s aplikací jsou k dispozici knihovny jako (C-knihovna Monolinux s shell, klienty DHCP a NTP, Device-mapper atd.), (asynchronní rámec), , (HTTP, FTP, …), (delta-patche), (algoritmus komprese), (pomocné nástroje), , a . Podporován je rychlý cyklus vývoje, který umožňuje během několika sekund vyzkoušet novou verzi po provedení změn v kódu.
Varianty Monolinux jsou připraveny pro desky a . Konečná velikost sestavení je přibližně 800 KB. Deska je vybavena SoC i.MX6UL s CPU ARMv7-A (528 MHz), 1 GB DDR3 RAM a 4 GB eMMC. Čas bootování desky Jiffy činí pouhých 0.37 sekundy — od zapnutí po připravenost souborového systému Ext4. Z toho 1 ms jde na hardwarovou inicializaci SoC, 184 ms na vykonání kódu EEPROM, 86 ms na činnost bootloaderu, 62 ms na spuštění jádra Linux a 40 ms na aktivaci Ext4. Čas restartu je 0.26 sekundy. V případě použití síťového stacku se kvůli zpožděním při vyjednávání kanálu Ethernet a získávání síťových parametrů systém stává připraveným pro síťovou interakci během 2.2 sekundy.
V systému je použito jádro Linux 4.14.78 v minimální konfiguraci s dalšími , odstraňujícími zbytečná zpoždění v ovladači MMC (MMC je připojeno firmwarem desky a v okamžiku spuštění ovladače je již aktivováno) a spouštějícími inicializaci ovladačů MMC a FEC (Ethernet) v paralelním režimu.
Zdroj: opennet.ru
