Monolinux je distribucija sa jednom datotekom koja se pokreće na ARMv7 528 MHz CPU-u za 0.37 sekundi

Erik Moqvist, autor platforme Simba i alati cantools, razvija novu distribuciju Monolinux, fokusiran na kreiranje ugrađenih Linux sistema za samostalno pokretanje određenih aplikacija napisanih u C jeziku. Distribucija je značajna po tome što je softver upakovan u obliku jedne statički povezane izvršne datoteke, koja uključuje sve komponente neophodne za rad aplikacije (u suštini, distribucija se sastoji od Linux kernela i RAM diska sa statičkim sastavljen init proces, koji uključuje aplikaciju i potrebne biblioteke). Kod distribuira pod MIT licencom.

Okruženje pruža sve podsisteme i sistemske pozive Linux kernela, uključujući pristup sistemu datoteka, mrežni stog i drajvere uređaja. Biblioteke kao što su: ml (Monolinux C biblioteka sa ljuskom, DHCP i NTP klijentima, Device-mapper, itd.), async (asinhroni okvir), bitstream, curl (HTTP, FTP, ...), detools (delta zakrpe), heatshrink (algoritam kompresije), humanfriendly (pomoćni alati), mbedTLS, xz и zlo. Podržan je brz razvojni ciklus, koji vam omogućava da procijenite rad nove verzije u roku od nekoliko sekundi nakon unošenja izmjena u kod.

Monolinux varijante pripremljene za ploče Malina Pi 3 и jiffy. Konačna veličina sklopova je oko 800 KB. Plati jiffy opremljen SoC i.MX6UL sa CPU ARMv7-A (528 MHz), 1 GB DDR3 RAM-a i 4 GB eMMC. Vrijeme pokretanja na Jiffy ploči je samo 0.37 sekundi - od uključivanja do spremanja Ext4 sistema datoteka. Od ovog vremena, 1 ms se troši na hardversku inicijalizaciju SoC-a, 184 ms na izvršavanje ROM koda, 86 ms na rad bootloadera, 62 ms na pokretanje Linux kernela i 40 ms na Ext4 aktivaciju. Vrijeme ponovnog pokretanja je 0.26 sekundi. Kada se koristi mrežni stog, zbog kašnjenja u pregovaranju o Ethernet kanalu i dobijanju mrežnih parametara, sistem postaje spreman za mrežnu interakciju za 2.2 sekunde.

Sistem koristi Linux kernel 4.14.78 u minimalnoj konfiguraciji sa dodatnim zakrpe, eliminišući nepotrebna kašnjenja u MMC drajveru (MMC je povezan preko firmvera ploče i već je aktiviran u trenutku pokretanja drajvera) i pokretanje inicijalizacije MMC i FEC (Ethernet) drajvera u paralelnom režimu.

izvor: opennet.ru

Dodajte komentar