Monolinux is een distributie met één bestand die in 7 seconden opstart op een ARMv528 0.37 MHz CPU

Erik Moqvist, platformauteur Simba en gereedschap kantools, ontwikkelt een nieuwe distributie Monolinux, gericht op het creëren van embedded Linux-systemen voor het zelfstandig draaien van bepaalde applicaties geschreven in de C-taal. De distributie valt op door het feit dat de software is verpakt in de vorm van één statisch gekoppeld uitvoerbaar bestand, dat alle componenten bevat die nodig zijn om de applicatie te laten werken (in essentie bestaat de distributie uit de Linux-kernel en een RAM-schijf met een statisch samengesteld init-proces, dat de applicatie en de benodigde bibliotheken omvat). Code gedistribueerd door onder de MIT-licentie.

De omgeving biedt alle subsystemen en systeemaanroepen van de Linux-kernel, inclusief toegang tot het bestandssysteem, netwerkstack en apparaatstuurprogramma's. Bibliotheken zoals: ml (Monolinux C-bibliotheek met shell-, DHCP- en NTP-clients, Device-mapper, enz.), async (asynchrone raamwerk), bitstream, krullen (HTTP, FTP, ...), detools (deltavlakken), Krimpkous (compressie-algoritme), mensvriendelijk (hulpgereedschappen), mbedTLS, xz и zlib. Er wordt een snelle ontwikkelingscyclus ondersteund, waardoor u binnen enkele seconden na het aanbrengen van wijzigingen in de code de werking van een nieuwe versie kunt evalueren.

Monolinux-varianten voorbereid voor boards Framboos Pi 3 и Jiffy. De uiteindelijke grootte van de assemblages is ongeveer 800 KB. Betalen Jiffy uitgerust met SoC i.MX6UL met CPU ARMv7-A (528 MHz), 1 GB DDR3 RAM en 4 GB eMMC. De opstarttijd op het Jiffy-bord bedraagt ​​slechts 0.37 seconden - vanaf het opstarten tot het Ext4-bestandssysteem gereed is. Van deze tijd wordt 1 ms besteed aan hardware-initialisatie van de SoC, 184 ms aan het uitvoeren van ROM-code, 86 ms aan het bedienen van de bootloader, 62 ms aan het starten van de Linux-kernel en 40 ms aan Ext4-activering. De herstarttijd bedraagt ​​0.26 seconden. Bij gebruik van een netwerkstack is het systeem, als gevolg van vertragingen bij het onderhandelen over een Ethernet-kanaal en het verkrijgen van netwerkparameters, binnen 2.2 seconden gereed voor netwerkinteractie.

Het systeem gebruikt de Linux-kernel 4.14.78 in een minimale configuratie met extra pleisters, waardoor onnodige vertragingen in het MMC-stuurprogramma worden geëlimineerd (MMC is verbonden door de firmware van het bord en is al geactiveerd op het moment dat het stuurprogramma wordt gestart) en het starten van de initialisatie van de MMC- en FEC (Ethernet)-stuurprogramma's in parallelle modus.

Bron: opennet.ru

Voeg een reactie