Monolinux est une distribution à fichier unique qui démarre sur un processeur ARMv7 528 MHz en 0.37 seconde

Erik Moqvist, auteur de la plateforme Simba et outils cantools, développe une nouvelle distribution Monolinux, axé sur la création de systèmes Linux embarqués pour l'exécution autonome de certaines applications écrites en langage C. La distribution se distingue par le fait que le logiciel est présenté sous la forme d'un fichier exécutable lié statiquement, qui comprend tous les composants nécessaires au fonctionnement de l'application (essentiellement, la distribution se compose du noyau Linux et d'un disque RAM avec un fichier statiquement processus d'initialisation assemblé, qui comprend l'application et les bibliothèques nécessaires) . Code distribué par sous licence MIT.

L'environnement fournit tous les sous-systèmes et appels système du noyau Linux, y compris l'accès au système de fichiers, la pile réseau et les pilotes de périphériques. Des bibliothèques telles que : ml (Bibliothèque Monolinux C avec shell, clients DHCP et NTP, Device-mapper, etc.), async (framework asynchrone), flux binaire, boucle (HTTP, FTP, ...), désoutils (patchs delta), thermorétractable (algorithme de compression), humain (outils auxiliaires), mbedTLS, xz и zlib. Un cycle de développement rapide est pris en charge, vous permettant d'évaluer le fonctionnement d'une nouvelle version en quelques secondes après avoir apporté des modifications au code.

Variantes Monolinux préparées pour les cartes Raspberry Pi 3 и Instant. La taille finale des assemblages est d'environ 800 Ko. Payer Instant équipé de SoC i.MX6UL avec CPU ARMv7-A (528 MHz), 1 Go de RAM DDR3 et 4 Go eMMC. Le temps de démarrage sur la carte Jiffy n'est que de 0.37 seconde entre la mise sous tension et le système de fichiers Ext4 prêt. De ce temps, 1 ms est consacrée à l'initialisation matérielle du SoC, 184 ms à l'exécution du code ROM, 86 ms au fonctionnement du chargeur de démarrage, 62 ms au démarrage du noyau Linux et 40 ms à l'activation d'Ext4. Le temps de redémarrage est de 0.26 seconde. Lors de l'utilisation d'une pile réseau, en raison des retards dans la négociation d'un canal Ethernet et l'obtention des paramètres réseau, le système est prêt pour l'interaction réseau en 2.2 secondes.

Le système utilise le noyau Linux 4.14.78 dans une configuration minimale avec des correctifs, éliminant les retards inutiles dans le pilote MMC (MMC est connecté par le micrologiciel de la carte et est déjà activé au moment du lancement du pilote) et démarrant l'initialisation des pilotes MMC et FEC (Ethernet) en mode parallèle.

Source: opennet.ru

Ajouter un commentaire