Erik Moqvist, skaparen av plattformen och verktygen , utvecklar en ny distribution , inriktad på att skapa inbyggda Linux-system för avskild körning av specifika applikationer skrivna i C. Distributionen kännetecknas av att programvaran paketeras som en enda statiskt sammanställd körbar fil som inkluderar alla komponenter nödvändiga för att köra applikationen (i grunden består distributionen av Linux-kärnan och en ramdisk med en statiskt sammanställd init-process som omfattar applikationen och nödvändiga bibliotek). Koden licensieras under MIT.
I miljön levereras alla subsystems och systemanrop från Linux-kärnan, inklusive åtkomst till FS, nätverksstacken och enhetsdrivrutiner. För att koppla till applikationen finns bibliotek som (Monolinux C-bibliotek med shell, DHCP- och NTP-klienter, Device-mapper etc.), (asynkront ramverk), , (HTTP, FTP, …), (delta-patchar), (komprimeringsalgoritm), (verktyg), , och . En snabb utvecklingscykel stöds, vilket gör att en ny version kan bedömas i drift inom några sekunder efter att ändringar har gjorts i koden.
Varianter av Monolinux är förberedda för kort och . Den slutliga storleken på byggarna är cirka 800 KB. Kortet är utrustat med SoC i.MX6UL med CPU ARMv7-A (528 MHz), 1 GB DDR3 RAM och 4 GB eMMC. Boottiden på Jiffy-kortet är bara 0,37 sekunder – från påslagning till filsystemet Ext4 är klart. Av detta går 1 ms på hårdvaruinitialisering av SoC, 184 ms för att köra kod från flashminnet, 86 ms för bootloadern, 62 ms för att starta Linux-kärnan och 40 ms för att aktivera Ext4. Omstarttiden är 0,26 sekunder. Vid användning av nätverksstacken, på grund av fördröjningar i förhandling av Ethernet-kopplingen och i att få nätverksparametrarna, blir systemet redo för nätverksinteraktion efter 2,2 sekunder.
I systemet används Linux-kärna 4.14.78 i minimal konfiguration med ytterligare , som eliminerar onödiga fördröjningar i MMC-drivrutinen (MMC ansluts av kortets firmware och vid starten av drivrutinen är det redan aktiverat) och som kör initialiseringen av MMC- och FEC (Ethernet) drivrutinerna i parallell läge.
Källa: opennet.ru
