ProHoster > Blog > internetové správy > Monolinux je jednosúborová distribúcia, ktorá sa spúšťa na ARMv7 528 MHz CPU za 0.37 sekundy
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.