Monolinux — une distribution à fichier unique qui démarre sur un CPU ARMv7 à 528 MHz en 0,37 secondes

Erik Moqvist, auteur de la plateforme Simba et des outils cantools, développe une nouvelle distribution Monolinux, axée sur la création de systèmes Linux embarqués pour le lancement isolé d'applications spécifiques écrites en C. Cette distribution se distingue par le fait que son contenu logiciel est présenté sous la forme d'un seul fichier exécutable statiquement lié, incluant tous les composants nécessaires au fonctionnement de l'application (en substance, la distribution se compose du noyau Linux et d'un ram-disk avec un processus init statiquement lié, intégrant l'application et les bibliothèques nécessaires). Le code est distribué sous licence MIT.

Dans l'environnement, toutes les sous-systèmes et appels système du noyau Linux sont fournis, y compris l'accès au FS, la pile réseau et les pilotes de dispositifs. Les bibliothèques disponibles pour lier à l'application comprennent ml (bibliothèque C de Monolinux avec shell, clients DHCP et NTP, Device-mapper, etc.), async (cadre asynchrone), bitstream, curl (HTTP, FTP, …), detools (patchs delta), heatshrink (algorithme de compression), humanfriendly (outils auxiliaires), mbedTLS, xz et zlib. Un cycle de développement rapide est pris en charge, permettant d'évaluer en quelques secondes une nouvelle version après modification du code.

Les variantes de Monolinux sont préparées pour les cartes Raspberry Pi 3 et Jiffy. La taille finale des assemblages est d'environ 800 Ko. La carte Jiffy est équipée d'un SoC i.MX6UL avec CPU ARMv7-A (528 MHz), 1 Go de RAM DDR3 et 4 Go d'eMMC. Le temps de démarrage sur la carte Jiffy est de seulement 0,37 secondes — de l'allumage à la préparation du système de fichiers Ext4. Dans ce temps, 1 ms est utilisé pour l'initialisation matérielle du SoC, 184 ms pour l'exécution du code du BIOS, 86 ms pour le chargeur de démarrage, 62 ms pour le démarrage du noyau Linux et 40 ms pour l'activation d'Ext4. Le temps de redémarrage est de 0,26 secondes. En cas d'utilisation de la pile réseau, en raison des délais d'accord de la connexion Ethernet et d'obtention des paramètres réseau, le système devient prêt pour l'interaction réseau après 2,2 secondes.

Le système utilise le noyau Linux 4.14.78 dans une configuration minimale avec des des correctifs, éliminant les retards inutiles dans le pilote MMC (MMC se connecte au firmware de la carte et au moment du démarrage du pilote est déjà activé) et initialisant les pilotes MMC et FEC (Ethernet) en mode parallèle.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster