Monolinux 是一個單一檔案發行版,在 ARMv7 528 MHz CPU 上啟動只需 0.37 秒

Erik Moqvist,平台作者 辛巴 和工具 坎圖爾斯,正在開發新的發行版 單一Linux,專注於創建嵌入式 Linux 系統,以獨立運行某些用 C 語言編寫的應用程式。 該發行版的值得注意之處在於,該軟體以靜態連結的可執行檔的形式打包,其中包括應用程式工作所需的所有元件(本質上,該發行版由Linux 核心和一個具有靜態連結的RAM 磁碟組成)。組裝好的init進程,其中包括應用程式和必要的程式庫)。 程式碼 分發者 在麻省理工學院的許可下。

該環境提供了Linux核心的所有子系統和系統調用,包括檔案存取、網路堆疊和裝置驅動程式。 圖書館例如: ml (帶有 shell、DHCP 和 NTP 用戶端、裝置映射器等的 Monolinux C 庫), 異步 (非同步框架), 比特流, 捲曲 (HTTP、FTP...), 去工具 (增量補丁), 熱收縮 (壓縮演算法), 人類友善的 (輔助工具), mbedTLS, xz и ZLIB。 支援快速開發週期,讓您可以在更改程式碼後幾秒鐘內評估新版本的運行情況。

為主機板準備的 Monolinux 變體 樹莓派3 и 瞬間。 程序集的最終大小約為 800 KB。 支付 瞬間 配備 SoC i.MX6UL,配備 CPU ARMv7-A (528 MHz)、1 GB DDR3 RAM 和 4 GB eMMC。 Jiffy 板上的啟動時間從通電到 Ext0.37 檔案系統準備就緒僅需 4 秒。 其中,1 毫秒用於 SoC 的硬體初始化,184 毫秒用於執行 ROM 程式碼,86 毫秒用於引導程式操作,62 毫秒用於啟動 Linux 內核,40 毫秒用於 Ext4 啟動。 重啟時間為0.26秒。 使用網路堆疊時,由於協商乙太網路通道和取得網路參數存在延遲,系統在 2.2 秒內即可準備好進行網路互動。

系統採用最小配置的Linux核心4.14.78,並附加了 補丁,消除 MMC 驅動程式中不必要的延遲(MMC 由板韌體連接,並且在驅動程式啟動時已啟動)並以並行模式啟動 MMC 和 FEC(乙太網路)驅動程式的初始化。

來源: opennet.ru

添加評論