Monolinux es una distribución de un solo archivo que arranca en una CPU ARMv7 de 528 MHz en 0.37 segundos

Erik Moqvist, autor de la plataforma Simba y herramientas cantools, está desarrollando una nueva distribución monolinux, centrado en la creación de sistemas Linux integrados para la ejecución independiente de determinadas aplicaciones escritas en lenguaje C. La distribución se destaca por el hecho de que el software está empaquetado en forma de un archivo ejecutable vinculado estáticamente, que incluye todos los componentes necesarios para que la aplicación funcione (esencialmente, la distribución consta del kernel de Linux y un disco RAM con una memoria estática proceso de inicio ensamblado, que incluye la aplicación y las bibliotecas necesarias). Código distribuido por bajo la licencia del MIT.

El entorno proporciona todos los subsistemas y llamadas al sistema del kernel de Linux, incluido el acceso al sistema de archivos, la pila de red y los controladores de dispositivos. Bibliotecas como: ml (Biblioteca Monolinux C con shell, clientes DHCP y NTP, Device-mapper, etc.), Asincrónico (marco asincrónico), corriente de bits, rizo (HTTP, FTP, ...), desherramientas (parches delta), termorretráctil (algoritmo de compresión), amistoso (herramientas auxiliares), mbedTLS, xz и zlib. Se admite un ciclo de desarrollo rápido, lo que le permite evaluar el funcionamiento de una nueva versión en cuestión de segundos después de realizar cambios en el código.

Variantes monolinux preparadas para placas Frambuesa Pi 3 и Instante. El tamaño final de los ensamblados es de unos 800 KB. Pagar Instante equipado con SoC i.MX6UL con CPU ARMv7-A (528 MHz), 1 GB de RAM DDR3 y 4 GB eMMC. El tiempo de arranque en la placa Jiffy es de solo 0.37 segundos, desde el encendido hasta que el sistema de archivos Ext4 esté listo. De este tiempo, 1 ms se dedica a la inicialización del hardware del SoC, 184 ms a la ejecución del código ROM, 86 ms a la operación del gestor de arranque, 62 ms al inicio del kernel de Linux y 40 ms a la activación de Ext4. El tiempo de reinicio es de 0.26 segundos. Cuando se utiliza una pila de red, debido a retrasos en la negociación de un canal Ethernet y la obtención de parámetros de red, el sistema queda listo para la interacción de red en 2.2 segundos.

El sistema utiliza el kernel de Linux 4.14.78 en una configuración mínima con adicionales parches, eliminando retrasos innecesarios en el controlador MMC (MMC está conectado mediante el firmware de la placa y ya está activado en el momento en que se inicia el controlador) e iniciando la inicialización de los controladores MMC y FEC (Ethernet) en modo paralelo.

Fuente: opennet.ru

Añadir un comentario