有没有开发的自动linux内核配置工具?
我找到了一种方法make localmodconfig
,但它肯定是非常有限的。我已经在网上搜索过,但不幸的是没有得到任何可接受的结果。
尽管我非常熟悉内核配置问题,但我希望优化浪费在配置具有特定硬件的每个新系统上的时间,因为它是技术性工作而不是创造性工作。
答案1
现在,我们在评论中对此进行了一些讨论,您的答案是:不,没有。
得出这个结论的主要原因是我认为您不是在寻找配置内核的工具,而是针对您的特定(但未声明)用例自动调整内核。
正如评论中所述,您可以跳过不需要的驱动程序并将所需的驱动程序静态编译到内核中。这可以在启动过程中节省一些时间,但之后就不行了,因为无论是内置代码还是模块代码,重要的代码都是相同的。
内核调优
内核提供了一些替代方案,您自己提到了调度程序。哪种调度程序最适合您取决于您的用例、您使用的应用程序以及您对系统施加的负载和负载类型。即使有这样的东西,安装并运行的程序也无法确定最适合您的调度程序。
这同样适用于缓冲区和缓冲区大小。另外,很多(大多数?)设置是或至少可以在运行时设置,而不是编译时设置。
最佳构建选项
另外,如果您有非常专业的 CPU,则无需自动化,您就可以在编译内核时优化构建选项。我知道的搭建root环境这为您提供了一个很好的框架。如果您希望为多个平台创建相同的操作系统,这也可能对您有所帮助。虽然这可以帮助您构建,但它不会自动进行内核调整。
这就是为什么我和其他人告诉你使用通用内核。如果没有解决特定的问题,构建自己的内核是不值得的。也许您可以通过识别/陈述您想要解决的问题来获得更多帮助。
答案2
如果您担心启动时间,内核加载时间只是其中的一小部分。担心以后会发生什么,使用eg系统通过并行化来加速启动,配置为不运行无用的守护进程,... Systemd 具有分析启动时间的工具。如果担心空间问题,磁盘很便宜。
你的花在忙乱上的时间、设置无数的配置、为每台机器获取正确的内核、在发生变化时修复配置/重新编译……比启动时缩短几秒钟更有价值。
答案3
如果主要关心的是为给定系统启用驱动程序,则有自动内核配置。它扫描/sys
设备的其他系统信息,然后建议配置选项来编译对它们的支持LKDDb:Linux 内核驱动程序数据库。
它或多或少对我有用,尽管它发现了相当多的误报(它建议了很多不同的 USB HCI 驱动程序,而 xhci 是我唯一需要的)。