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

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

Okruženje pruža sve podsustave i sistemske pozive Linux kernela, uključujući pristup sustavu datoteka, mrežni stog i upravljačke programe uređaja. Knjižnice kao što su: ml (Monolinux C biblioteka s ljuskom, DHCP i NTP klijenti, Device-mapper, itd.), async (asinkroni okvir), bitni tok, sklupčati (HTTP, FTP, ...), detools (delta zakrpe), toplinski skupljač (algoritam kompresije), humanfriendly (pomoćni alati), mbedTLS, xz и zlib. Podržan je brzi razvojni ciklus, što vam omogućuje procjenu rada nove verzije u roku od nekoliko sekundi nakon što ste unijeli izmjene u kod.

Monolinux varijante pripremljene za ploče Raspberry Pi 3 и tren. Konačna veličina sklopova je oko 800 KB. Platiti tren opremljen SoC i.MX6UL s 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 Ext4 datotečnog sustava. Od ovog vremena, 1 ms se troši na hardversku inicijalizaciju SoC-a, 184 ms na izvršavanje ROM koda, 86 ms na operaciju bootloadera, 62 ms na pokretanje Linux kernela i 40 ms na Ext4 aktivaciju. Vrijeme ponovnog pokretanja je 0.26 sekundi. Kada koristite mrežni stog, zbog kašnjenja u pregovaranju Ethernet kanala i dobivanju mrežnih parametara, sustav postaje spreman za mrežnu interakciju za 2.2 sekunde.

Sustav koristi Linux kernel 4.14.78 u minimalnoj konfiguraciji s dodatnim zakrpe, eliminirajući nepotrebna kašnjenja u MMC upravljačkom programu (MMC je povezan firmverom ploče i već je aktiviran u trenutku pokretanja upravljačkog programa) i pokretanjem inicijalizacije MMC i FEC (Ethernet) upravljačkih programa u paralelnom načinu rada.

Izvor: opennet.ru

Dodajte komentar