Erik Moqvist, Autor der Plattform und Tools entwickelt eine neue Distribution , die auf die Erstellung von Embedded-Linux-Systemen fĂŒr den isolierten Betrieb bestimmter in C geschriebenen Anwendungen ausgerichtet ist. Die Distribution zeichnet sich dadurch aus, dass die Software in Form einer einzigen statisch verlinkten ausfĂŒhrbaren Datei bereitgestellt wird, die alle fĂŒr die AusfĂŒhrung der Anwendung erforderlichen Komponenten enthĂ€lt (im Grunde genommen besteht die Distribution aus dem Linux-Kernel und einem RAM-Disk mit einem statisch gebauten Init-Prozess, der die Anwendung und die erforderlichen Bibliotheken umfasst). Der Code unter der MIT-Lizenz.
Stellt alle Subsysteme und Systemaufrufe des Linux-Kernels zur VerfĂŒgung, einschlieĂlich Zugriff auf das Dateisystem, Netzwerk-Stack und GerĂ€tetreiber. FĂŒr die Verbindung mit der Anwendung stehen Bibliotheken wie (Monolinux C-Bibliothek mit Shell, DHCP- und NTP-Clients, Device-Mapper usw.), (asynchrones Framework), , (HTTP, FTP, âŠ), (Delta-Patches), (Komprimierungsalgorithmus), (Hilfswerkzeuge), , und . Ein schneller Entwicklungszyklus wird unterstĂŒtzt, der es ermöglicht, innerhalb von wenigen Sekunden eine neue Version nach Ănderungen im Code zu bewerten.
Die Monolinux-Varianten sind fĂŒr das Board vorbereitet und . Die endgĂŒltige GröĂe der Bundles betrĂ€gt etwa 800 KB. Das Board ist mit einem i.MX6UL SoC mit ARMv7-A CPU (528 MHz), 1 GB DDR3 RAM und 4 GB eMMC ausgestattet. Die Bootzeit auf dem Jiffy-Board betrĂ€gt nur 0,37 Sekunden â von der Einschaltung bis zur Bereitstellung des Ext4-Dateisystems. Davon entfallen 1 ms auf die Hardwareinitialisierung des SoC, 184 ms fĂŒr die AusfĂŒhrung des Bootloaders, 86 ms fĂŒr die Arbeit des Bootloaders, 62 ms fĂŒr das Starten des Linux-Kernels und 40 ms fĂŒr die Aktivierung von Ext4. Die Neustartzeit betrĂ€gt 0,26 Sekunden. Bei der Verwendung des Netzwerk-Stacks benötigt das System aufgrund von Verzögerungen beim Aushandeln des Ethernet-Kanals und beim Empfang der Netzwerkkonfiguration 2,2 Sekunden, um fĂŒr die Netzwerkkommunikation bereit zu sein.
Im System wird ein Linux-Kernel 4.14.78 in minimaler Konfiguration mit zusÀtzlichen , die unnötige Verzögerungen im MMC-Treiber beseitigen (der MMC wird beim Flashen des Boards angeschlossen und ist beim Start des Treibers bereits aktiviert) und die Initialisierung der MMC- und FEC (Ethernet)-Treiber im Parallelmodus starten.
Quelle: opennet.ru
