我有兴趣寻找减少启动时间的方法,特别是在嵌入式相关环境中。
我在某处读过一种避免内核加载某些驱动程序或模块的方法,但我完全迷失了,我在互联网上找到的所有信息都非常复杂和密集。
有人可以建议实现这一目标所需的一般步骤吗?也许我错了,这与内核无关。
答案1
Arch Linux 文档提高性能/启动过程可以帮助您了解如何提高启动性能。
用于systemd-analyze blame
检查服务开启的时机,或者systemd-analyze critical-chain
检查关键点,然后通过 关闭不需要的服务systemctl disable service_name.
或通过 删除不需要的程序apt
。
答案2
为了真正加快启动时间,构建一个自定义内核。
人们可以通过从“库存”或原始内核中删除计算机上不需要的所有设备来构建自定义内核。
这比听起来容易。
您获取内核文件并编辑掉计算机不需要的所有内容。例如,如果您的计算机没有 wifi,则从内核中删除所有 wifi 驱动程序。然后重新编译内核。
您的新内核比旧内核更紧凑并且启动速度更快。
我建议阅读 FreeBSD 手册中有关配置内核的部分。
https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html
同样,这比听起来容易得多。
答案3
我所知道的关于启动时间优化(针对嵌入式 Linux)的最广泛的文档是来自 Bootlin(以前称为 Free Electrons)的演示幻灯片,来自他们专门针对启动时间优化的培训课程:https://bootlin.com/doc/training/boot-time/
即使没有相关培训,它仍然提供有关测量启动时间的工具的大量信息 - 可以为您节省时间的多个点。
但需要注意的一件事是:所描述的某些选项需要调整内核/根文件系统的一些低级方面。