减少 rootfs 大小
为节省空间而编译
- 在使用 GCC 时,用 -Os 参数编译程序将使编译器生成最小的代码
arm-linix-gcc -Os <program>
- 删除应用程序的调试代码
find <rootfs_root> -type f -exec arm-linux-strip {};\
减小内核的尺寸
- 文件系统:删除产品不需要的文件系统,如 NFS ext2/2 等。
- 驱动程序:删除产品用不上的硬件驱动,如 Wi-Fi 音频 视频等。
- 输入输出:内核对鼠标和 VGA 控制台有专门的驱动程序,如果用不上可以删除。
- 调试和性能剖析:内核配置菜单 Kernel Hacking 用于调试,产品可以禁用该选项。
减小根文件系统的尺寸
- 删除不需要的链接库
- 追求极小尺寸(代价大)可以从零开始,采用试错法,一路添加各种必需的组件。
减少启动时间
减少内核启动时间
- 不使用内核镜像的压缩/解压的功能,即空间换时间。
- 取消启动时的控制台输出,向内核命令行添加参数 quiet
- 消除内核模块,将所有模块静态链接到内核中,加载模块的时间缩减为 0
减小根文件系统启动时间
- 使用只读文件系统,一个 50MB 的根文件系统镜像 JFFS2 需要 6S 而 Squash 只需要 1S
- 延迟启动,将一些耗时的初始化程序放置在 shell 启动之后,让用户看起来启动快一些。
posted @
2022-09-22 13:32
KevinAshton
阅读(
114)
评论()
编辑
收藏
举报