Monolinux är en enkelfilsdistribution som startar på en ARMv7 528 MHz CPU på 0.37 sekunder

Erik Moqvist, plattformsförfattare Simba och verktyg cantools, håller på att utveckla en ny distribution Monolinux, fokuserat på att skapa inbäddade Linux-system för fristående körning av vissa applikationer skrivna på C-språket. Distributionen är anmärkningsvärd för det faktum att programvaran är förpackad i form av en statiskt länkad körbar fil, som innehåller alla komponenter som behövs för att applikationen ska fungera (i huvudsak består distributionen av Linux-kärnan och en RAM-disk med en statisk sammansatt init-process, som inkluderar applikationen och de nödvändiga biblioteken). Koda levererad av under MIT-licensen.

Miljön tillhandahåller alla undersystem och systemanrop för Linuxkärnan, inklusive filåtkomst, nätverksstack och enhetsdrivrutiner. Bibliotek som: ml (Monolinux C-bibliotek med skal, DHCP och NTP-klienter, Device-mapper, etc.), async (asynkront ramverk), bitstream, curl (HTTP, FTP, ...), detools (delta fläckar), värmekrympa (komprimeringsalgoritm), människovänlig (hjälpverktyg), mbedTLS, xz и zlib. En snabb utvecklingscykel stöds, vilket gör att du kan utvärdera driften av en ny version inom några sekunder efter att du har gjort ändringar i koden.

Monolinux-varianter förberedda för brädor Hallon Pi 3 и Ögonblick. Den slutliga storleken på sammansättningarna är cirka 800 KB. Betala Ögonblick utrustad med SoC i.MX6UL med CPU ARMv7-A (528 MHz), 1 GB DDR3 RAM och 4 GB eMMC. Starttiden på Jiffy-kortet är bara 0.37 sekunder - från start till Ext4-filsystemet redo. Av denna tid ägnas 1 ms åt hårdvaruinitiering av SoC, 184 ms på att köra ROM-kod, 86 ms på drift av bootloader, 62 ms på att starta Linux-kärnan och 40 ms på Ext4-aktivering. Omstarttiden är 0.26 sekunder. När du använder en nätverksstack, på grund av förseningar i förhandlingen av en Ethernet-kanal och erhållande av nätverksparametrar, blir systemet redo för nätverksinteraktion på 2.2 sekunder.

Systemet använder Linux-kärnan 4.14.78 i en minimal konfiguration med ytterligare plåster, eliminerar onödiga förseningar i MMC-drivrutinen (MMC är ansluten av kortets firmware och är redan aktiverad när drivrutinen startas) och startar initieringen av MMC- och FEC-drivrutinerna (Ethernet) i parallellt läge.

Källa: opennet.ru

Lägg en kommentar