Monolinux — jednofilový distribuce, bootující na CPU ARMv7 528 MHz za 0,37 sekund

Erik Moqvist, autor platformy Simba a nástrojů cantools, vyvíjí novou distribuci Monolinux, 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 distribuováno 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 ml (C-knihovna Monolinux s shell, klienty DHCP a NTP, Device-mapper atd.), async (asynchronní rámec), bitstream, curl (HTTP, FTP, …), detools (delta-patche), heatshrink (algoritmus komprese), humanfriendly (pomocné nástroje), mbedTLS, xz a zlib. 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 Raspberry Pi 3 a Jiffy. Konečná velikost sestavení je přibližně 800 KB. Deska Jiffy 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 patchemi, 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

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster