8

我想做内核模块编程。但是,所有消息来源都告诉 Linux 发行版修补了原始内核,并且模块代码可能无法在它们上运行。如果这是真的,我该怎么办。我尝试使用 ubuntu 制作 lfs,但几乎每一步都会出现错误。我在某处看到,在安装过程中没有选择任何软件包的 arch、gentoo、Ubuntu Server、slackware、susestudio 等都是香草发行版。那么,我可以将它们用于模块编程吗?

请记住,我在发行版中需要一个 GUI。

能跟得上吗?
PS:我有一个英特尔酷睿 i3 处理器,将在 vmware 工作站上运行发行版。

4

1 回答 1

8

如果您想对内核模块进行编程,那么您选择哪个发行版都没有关系。您需要能够从源代码重新编译内核并自己安装新内核。即使只是一个内核模块,您也希望能够编译最新的内核并针对它进行开发,否则您将无法让该模块被主线接受。

如果不发布模块,另一种方法是针对特定内核版本进行开发。在这种情况下,分发的选择应该基于模块的目标——而不是开发环境。

所以根据你的喜好选择一个发行版:1)桌面 -(GNOME、KDE、其他)2)易用性 -(Ubuntu、Fedora 等 vs Arch、Gentoo)3)尖端 vs 稳定版(Arch、Fedora vs Ubuntu与 Debian、红帽、CentOS)

然后前往kernelbewbies学习一些关于内核编程的入门知识(从哪里获取源代码,如何编译它)。然后阅读 Greg Kroah-Hartman 关于 linux 设备驱动程序的优秀书籍。接口将发生变化(它是关于 2.6 版内核的,目前正在开发 3.6 版)。可以在这里在线找到

您还需要学习如何使用 git。更重要的是如何使用 git 生成补丁并通过电子邮件发送而不弄乱它!我没有这方面的网站,但有点谷歌搜索会有所帮助。

于 2012-09-26T01:37:39.790 回答