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 板上的启动时间仅为 0.37 秒 - 从通电到 Ext4 文件系统准备就绪。 其中,1 毫秒用于 SoC 的硬件初始化,184 毫秒用于执行 ROM 代码,86 毫秒用于引导加载程序操作,62 毫秒用于启动 Linux 内核,40 毫秒用于 Ext4 激活。 重启时间为0.26秒。 使用网络堆栈时,由于协商以太网通道和获取网络参数存在延迟,系统在 2.2 秒内即可准备好进行网络交互。

系统采用最小配置的Linux内核4.14.78,并附加了 补丁,消除 MMC 驱动程序中不必要的延迟(MMC 由板固件连接,并且在驱动程序启动时已激活)并以并行模式启动 MMC 和 FEC(以太网)驱动程序的初始化。

来源: opennet.ru

添加评论