Monolinux er en enkelt-fil distribution, der starter på en ARMv7 528 MHz CPU på 0.37 sekunder

Erik Moqvist, platformsforfatter Simba og værktøjer cantools, udvikler en ny distribution Monolinux, fokuseret på at skabe indlejrede Linux-systemer til selvstændig kørsel af visse applikationer skrevet på C-sproget. Distributionen er bemærkelsesværdig for det faktum, at softwaren er pakket i form af en statisk forbundet eksekverbar fil, som inkluderer alle de komponenter, der er nødvendige for, at applikationen kan fungere (i det væsentlige består distributionen af ​​Linux-kernen og en RAM-disk med en statisk samlet init-proces, som inkluderer applikationen og de nødvendige biblioteker). Kode distribueret af under MIT-licensen.

Miljøet leverer alle undersystemer og systemkald af Linux-kernen, inklusive filsystemadgang, netværksstak og enhedsdrivere. Biblioteker som: ml (Monolinux C-bibliotek med shell, DHCP og NTP-klienter, Device-mapper osv.), async (asynkron ramme), bitstrøm, krølle (HTTP, FTP, ...), detools (delta patches), Varme krympe (komprimeringsalgoritme), menneskevenlig (hjælpeværktøj), mbedTLS, xz и zlib. En hurtig udviklingscyklus understøttes, så du kan evaluere driften af ​​en ny version inden for få sekunder efter at have foretaget ændringer i koden.

Monolinux varianter forberedt til brædder Raspberry Pi 3 и jiffy. Den endelige størrelse af samlingerne er omkring 800 KB. Betale jiffy udstyret med SoC i.MX6UL med CPU ARMv7-A (528 MHz), 1 GB DDR3 RAM og 4 GB eMMC. Boottiden på Jiffy-kortet er kun 0.37 sekunder - fra tænding til Ext4-filsystemet er klar. Af denne tid bruges 1 ms på hardwareinitialisering af SoC'en, 184 ms på at udføre ROM-kode, 86 ms på bootloader-drift, 62 ms på at starte Linux-kernen og 40 ms på Ext4-aktivering. Genstartstid er 0.26 sekunder. Når du bruger en netværksstack, på grund af forsinkelser i forhandling af en Ethernet-kanal og opnåelse af netværksparametre, bliver systemet klar til netværksinteraktion på 2.2 sekunder.

Systemet bruger Linux-kernen 4.14.78 i en minimal konfiguration med yderligere plastre, eliminering af unødvendige forsinkelser i MMC-driveren (MMC er forbundet med kortets firmware og er allerede aktiveret på det tidspunkt, driveren startes) og starter initialiseringen af ​​MMC- og FEC-driverne (Ethernet) i paralleltilstand.

Kilde: opennet.ru

Tilføj en kommentar