哪种轻量级发行版最适合学习Linux内核开发。它应该具有大量的调试和性能分析工具:)
LFS。然后安装你能找到的所有调试器和分析工具。
发行版并不重要,重要的是你想用内核做什么以及进行开发/测试其功能。
这里有几个需要做的事情。
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 中的文档。这是理解内核的非常好的起点。
发行版可能并不重要,因为您将使用自己的内核而不是大多数情况下发行版提供的“厨房水槽”内核中的一堆补丁。
如果您正在进行内核开发工作,那么我想您需要一个快速启动的发行版,像Puppy这样的东西可能是理想的选择,并从类似Ubuntu的操作系统中进行实际编码。
Buildroot
Buildroot 是一组脚本,可以生成小于10MiB的根文件系统镜像的微型发行版。
它从源代码下载并编译所有内容,因此很容易修补软件包。
生成的镜像非常小,这使得可以理解整个用户空间设置,从而更容易专注于内核。
相比LFS,它的优势在于一切都是完全自动化的。正因为如此,Buildroot被大型组织专业使用。
我创建了这个设置,以尽可能自动化事情:https://github.com/cirosantilli/linux-kernel-module-cheat