LuckyPico 启动速度优化 一 (Linux 启动速度优化 )

内核压缩方式速度优化

Linux 内核启动一般采用自解压的方式,在编译的时候压缩,而Linux启动时对内核固件进行自动解压。
因此,在这一方面,影响内核启动速度的分为两个部分,一个是内核固件的读取时间,另一个是内核解压的时间

压缩算法越复杂,则内核固件尺寸越小,内核解压时间越长
压缩算法越简单,则内核固件尺寸越大,内核解压时间越短

  • 如果flash或者mmc等ROM存储介质的读取速度足够快,那么内核固件的大小就不是问题
  • 如果嵌入式系统的CPU主频够高,解压速度足够快,那么内核的解压时间也同样不是问题

因此,对于压缩算法的评估,主要还是根据实际的嵌入式系统以及搭配的存储介质进行实际的测量。

实际评估测试

使用 RV1103_LuckyFox_Pico_Plus,采用 nandflash 存储方案,实际得到的内核由上电,到刚运行的时间统计如下:

压缩方式 宏编译选项 解压时间 总启动时间 内核大小
GZIP CONFIG_KERNEL_GZIP 0.231s 1.179s 3.8M
LZMA CONFIG_KERNEL_LZMA 2.067s 2.976s 3.2M
XZ CONFIG_KERNEL_XZ 1.274s 2.176s 3.0M
LZO CONFIG_KERNEL_LZO 0.137s 1.110s 4.1M
LZ4 CONFIG_KERNEL_LZ4 0.124s 1.111s 4.3M

可以由此得到,LZO 和 LZ4 相比于其他压缩方案,在读取和解压时间上达到较好的平衡,具备最快的启动速度。
但是,由于 LZ4 算法的压缩率相比 LZO 算法的压缩率较低,因此采用占用空间较少的 LZO 算法

posted @   infinite_ryvius  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示