为 i7 处理器编译内核的最佳方法是什么?

为 i7 处理器编译内核的最佳方法是什么?

我已经编译自己的内核一段时间了。我从拿到 i7 处理器时就开始编译了,希望它的 turbo boost 能够正常工作。后来我买了一个 SSD,所以继续受益于比 repo 版本更新的内核。

在最近的构建中,我开始遇到奇怪的 CPU 峰值。虽然这可能是由多种不同的原因造成的,但我希望集中精力让内核“正确”,如果可能的话,比以往更加优化。

我遵循内核/编译方面的“老式 Debian”wiki。我这样做是因为我是从直接下载的内核网站第一个问题:我应该从其他地方获取源代码吗?我应该使用不同的构建方法吗?

.config该指南建议像这样获取电流:

cp -vi /boot/config-`uname -r` .config

如果您当前的配置运行良好,这一切都很好,但我担心我的配置存在问题......第二个问题:有没有适合 Ubuntu 和 i7 的默认.config文件我可以从某处下载?

目前有很多内核补丁。有些承诺通过修补 IO 错误来提高系统响应速度,有些提供“更好的”调度程序(BFS 等),但很难找到合适的基准来判断这些功能是否是有价值的功能,或者它们是否只是不稳定的垃圾。第三:您是否会对 2.6.35 应用任何补丁以使其与 Lucid 更加兼容?

我担心make menuconfig我会把事情搞砸。我试着关闭我不需要的驱动程序,并选择看起来可以优化的选项,但说实话,我不是内核开发人员;我不确定某个选项是否会破坏一切,甚至根本不知道有什么帮助。第四:您将如何优化.configi7 和 SSD 的构建过程?

答案1

从我的观点内核网站是获取内核的正确地方。通常我从主线克隆 git 存储库。也许您也可以使用最新的 vanilla 内核并应用来自 Ubuntu 的补丁。您会在linux-image 软件包页面。请注意,可能会有一些冲突需要解决。因此第一个版本可能更好。

我猜你不会.config在外面找到任何好东西。我发现有用的是make localmodconfig在内核源代码中。首先,你将旧配置复制到/usr/src/linux-2.6(或内核源代码所在的位置),然后执行此命令。它将禁用所有未加载的模块。因此,你首先获得了更多的自定义。

我不知道有任何补丁对 Lucid 有用。

我是当地凸缘我们会不时举办内核研讨会。所有成员都会在这里见面。我们配置一个内核并讨论我们对不同条目的了解。最终,所有人都会从中受益,这有助于构建更好的内核。所以如果我寻求优化,我会询问我们的成员。如果那不是一个选择,阅读Linux 内核邮件列表也可以帮助找到解决方案。你经常会发现一些有用的讨论。

答案2

有一个主线内核 PPA: https://wiki.ubuntu.com/Kernel/MainlineBuilds

除非您尝试解决特定问题(您在使用 Ubuntu 库存 ekernel 时遇到的问题)或者尝试使用 Ubuntu 内核上没有的特定功能/选项,否则您可能只是在浪费时间。

如果您当前的内核确实有问题,请在启动板上提交错误报告。

答案3

您没有提到您正在构建哪个内核版本。由于您询问了 Lucid 补丁,因此我假设这就是您要调整的内容。

我的建议是不要浪费你的时间。Ubuntu 内核团队将上游稳定版本团队发布的所有补丁应用于 Lucid(以及其他版本)。你也许可以通过手动调整配置参数来提高内核的性能,但如果真的有改进,你就必须花费更多时间来衡量改进。你最好继续使用原版内核并从 Ubuntu 中选择修补后的内核。这些补丁可以包含性能改进,因为会发现并修复错误。

您看到 CPU 峰值的原因可能是由于一些内核错误,这些错误最近已被上游修复,并且补丁正在进入 Lucid。

一旦你开始构建自己的内核,你就要承担对它进行修补和重建的责任。这就是 Canonical 付钱给员工来做的工作,这样你就不必再做这些了。你确实有更好的事情要做。

相关内容