Linux内核开发的发行版

哪个是学习linux内核开发最好的轻量级发行版。 它应该有很多的debugging和分析工具,随着它:)

LFS 。 然后安装可以找到的每个调试器和分析器。

我听说Linus自己使用Fedora 。 我推荐Gentoo ,让你(打算)手工定制你的内核,这是它的完美设置(为了它的乐趣,我花了很多时间来压缩每一点性能)。

自然, Ubuntu是我的首选发行版,但是如果您开始劫持并删除预期的内核功能,则可能会遇到麻烦。 Gentoo不会抱怨,也不会期望他们开始。

我喜欢用Gentoo来处理内核。

发行并不重要。 这是你想要做的与内核和开发/测试其功能。

这里有几件事要做。

一个。 打开内核调试和日志选项。 这些肯定会帮助你进行调试。 看到有用的Linux内核调试选项打开

湾 像Valgrind这样的Getdebuggers工具来检查内存泄漏。 看到像https://www.kernel.org/doc/Documentation/kmemleak.txt文档

C。 找到一个好的编辑器进行编辑。 我不想开始vim vs emacs之战。 这确实是个人偏好,只要确保遵循linux内核编码风格指南。 https://www.kernel.org/doc/Documentation/CodingStyle

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

即 阅读目录/ usr / src / linux / Documentation中的文档很好的理解内核的出发点

发行版可能没有太大的区别,因为你将在自己的内核上工作,而不是发行版在大多数情况下通常会提供一些补丁。

如果你正在做内核开发工作,那么我想你想要一个快速启动的发行版,像puppy这样的东西可能是理想的,并从Ubuntu的东西做你的实际编码。

Buildroot里面

Buildroot是一组脚本,可以生成小于10MiB的rootfs映像的小型发行版。

它从源代码下载一切并编译它,所以打包补丁是微不足道的。

生成的图像非常小,以至于可以理解整个用户空间设置,这将使得更容易关注内核。

优于LFS:一切都完全自动化。 正因为如此,Buildroot在大型组织中被专业使用。

我已经创建了这个设置来尽可能地自动化: https : //github.com/cirosantilli/linux-kernel-module-cheat