系统调优指南:内核精简与启动时间优化
1. 移除不必要的特性和驱动
要确定从内核中移除哪些驱动并非易事,没有神奇的方法能直接知晓。关键在于移除那些支持目标板上不存在硬件的内核驱动。最佳做法是列出设备上的硬件清单,然后移除对不存在外设的支持。由于大多数嵌入式设备的硬件清单是固定的,因此可以安全地移除板上不存在或永远不会使用的组件的驱动,因为这些代码永远不会被执行。
以下是一些可从内核中移除的内容:
- 文件系统 :系统通常只使用少数几种文件系统,但内核构建可能包含多个未使用的文件系统驱动。例如,使用闪存文件系统的设备可能不需要 ext2 或 ext3 文件系统(如果设备有 USB 接口或其他外部存储接口则可能需要,关键是在从内核中移除内容之前要了解应用程序的需求)。任何当前或未来不会使用的文件系统都可以移除。NFS 文件系统占用几百 KB 的内存,运行时占用约两倍的内存,对于未连接网络的设备,它是一种资源浪费。
- 硬件驱动 :不会使用的硬件不应在内核中构建相应的驱动。许多片上系统(SOC)具有 Wi-Fi 驱动、视频、串口和其他永远不会使用的硬件接口,因此不需要驱动。实际上,未使用硬件的驱动会使设备存在安全风险。
- 输入和输出 :虽然这看起来与前面提到的硬件驱动类似,但有所不同,内核有用于使用鼠标和 VGA 控制台的特殊驱动。对于包含串口或在帧缓冲器上使用图形驱动的设备,与 UI 在同一设备上的控制台会浪费内存和资源。同样,仅具有触摸屏的设备的键盘支持也是浪费内存。
- 调试和性能分析 :主菜单中的“Kern
超级会员免费看
订阅专栏 解锁全文
901

被折叠的 条评论
为什么被折叠?



