用于Linux内核开发的发行版

8

哪种轻量级发行版最适合学习Linux内核开发。它应该具有大量的调试和性能分析工具:)

6个回答

9

LFS。然后安装你能找到的所有调试器和分析工具。


我可以使用所有这些工具,它们都很棒,但是修补、测试等需要花费很多时间。 - user361697
还可以看看Buildroot,它可以自动化一切:https://dev59.com/BU_Ta4cB1Zd3GeqPENb_#44625382 - Ciro Santilli OurBigBook.com

8
我听说Linus自己使用Fedora。我建议Gentoo, 它允许(打算)手动定制内核,这是最完美的设置(我已经花了很多时间来挤出每一丝性能,为了好玩)。当然,Ubuntu是我首选的发行版,但如果您开始劫持和删除预期的内核功能,可能会遇到麻烦。Gentoo不会抱怨,并且根本不需要它们。

Ubuntu内核携带了相当数量的补丁,用于UUID处理和其他类似的魔法。我经常在我的gentoo盒子上运行原始内核而没有问题。 - stsquad
Fedora也是我的最爱,非常稳定。 - Atiq Rahman

7

我喜欢使用Gentoo来调整内核。


又一票给 Gentoo。 - Matt Joiner

4

发行版并不重要,重要的是你想用内核做什么以及进行开发/测试其功能。

这里有几个需要做的事情。

a. 打开内核调试和日志记录选项。这些选项肯定会帮助您进行调试。 请参阅有用的 Linux 内核调试选项

b. 获取像 Valgrind 这样检查内存泄漏的调试工具。请参阅文档,例如https://www.kernel.org/doc/Documentation/kmemleak.txt

c. 选择好的编辑器进行编辑。我不想引发 vim vs emacs 之争。这实际上是个人偏好,只需确保您遵循 Linux 内核编码风格指南即可。https://www.kernel.org/doc/Documentation/CodingStyle

d. 熟悉日志系统和 proc 系统,因为它们提供了有价值的信息。

e. 阅读目录 /usr/src/linux/Documentation 中的文档。这是理解内核的非常好的起点。


2

发行版可能并不重要,因为您将使用自己的内核而不是大多数情况下发行版提供的“厨房水槽”内核中的一堆补丁。

如果您正在进行内核开发工作,那么我想您需要一个快速启动的发行版,像Puppy这样的东西可能是理想的选择,并从类似Ubuntu的操作系统中进行实际编码。


0

Buildroot

Buildroot 是一组脚本,可以生成小于10MiB的根文件系统镜像的微型发行版。

它从源代码下载并编译所有内容,因此很容易修补软件包。

生成的镜像非常小,这使得可以理解整个用户空间设置,从而更容易专注于内核。

相比LFS,它的优势在于一切都是完全自动化的。正因为如此,Buildroot被大型组织专业使用。

我创建了这个设置,以尽可能自动化事情:https://github.com/cirosantilli/linux-kernel-module-cheat


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接