Monolinux je jednosúborová distribúcia, ktorá sa spúšťa na ARMv7 528 MHz CPU za 0.37 sekundy

Erik Moqvist, autor platformy Simba a nástrojov cantools, vyvíja novú distribúciu Monolinux, zameraná na vytváranie vstavaných linuxových systémov pre samostatné spúšťanie určitých aplikácií napísaných v jazyku C. Distribúcia je pozoruhodná tým, že softvér je zabalený vo forme jedného staticky prepojeného spustiteľného súboru, ktorý obsahuje všetky komponenty potrebné na fungovanie aplikácie (distribúcia sa v podstate skladá z linuxového jadra a RAM disku so statickým zostavený init proces, ktorý zahŕňa aplikáciu a potrebné knižnice). kód distribuovaný pod licenciou MIT.

Prostredie poskytuje všetky podsystémy a systémové volania linuxového jadra vrátane prístupu k súborovému systému, sieťového zásobníka a ovládačov zariadení. Knižnice ako: ml (Knižnica Monolinux C so shellom, klientmi DHCP a NTP, mapovačom zariadení atď.), asynchrónne (asynchrónny rámec), bitový tok, curl (HTTP, FTP, ...), detools (delta záplaty), zmršťovacia (kompresný algoritmus), priateľský k ľuďom (pomocné nástroje), mbedTLS, xz и zlib. Je podporovaný rýchly vývojový cyklus, ktorý vám umožňuje vyhodnotiť fungovanie novej verzie v priebehu niekoľkých sekúnd po vykonaní zmien v kóde.

Varianty Monolinux pripravené pre dosky Raspberry Pi 3 и okamih. Konečná veľkosť zostáv je približne 800 KB. zaplatiť okamih vybavený SoC i.MX6UL s CPU ARMv7-A (528 MHz), 1 GB DDR3 RAM a 4 GB eMMC. Čas spustenia na doske Jiffy je iba 0.37 sekundy - od zapnutia po pripravený súborový systém Ext4. Z tohto času je 1 ms vynaložená na hardvérovú inicializáciu SoC, 184 ms na spustenie kódu ROM, 86 ms na operáciu bootloadera, 62 ms na spustenie linuxového jadra a 40 ms na aktiváciu Ext4. Čas reštartu je 0.26 sekundy. Pri použití sieťového zásobníka, kvôli oneskoreniam pri vyjednávaní ethernetového kanála a získavaní sieťových parametrov, je systém pripravený na sieťovú interakciu za 2.2 sekundy.

Systém používa linuxové jadro 4.14.78 v minimálnej konfigurácii s prídavnými náplasti, odstránenie zbytočných oneskorení v ovládači MMC (MMC je pripojené firmvérom dosky a je aktivované už v čase spustenia ovládača) a spustenie inicializácie ovládačov MMC a FEC (Ethernet) v paralelnom režime.

Zdroj: opennet.ru

Pridať komentár