我想做内核模块编程。但是,所有的消息来源都告诉我们,linux发行版对原始内核打了补丁,模块代码可能无法在其上运行。如果这是真的,我应该怎么做?我试着用ubuntu制作lfs,但几乎每一步都会出现错误。我看到在安装过程中没有选择任何包的arch、gentoo、Ubuntu Server、slackware、susestudio等都是普通的发行版。那么,我可以使用它们进行模块编程吗?
请记住,在发行版中我需要一个GUI。
this可以被跟踪吗?
附言:我有一个英特尔核心i3处理器,并将在vmware工作站上运行发行版。
发布于 2012-09-26 09:37:40
如果你想编写内核模块,那么选择哪个发行版都无关紧要。您需要能够从源代码重新编译内核,并自行安装一个新的内核。即使只是一个内核模块,你也希望能够编译最新的内核并在此基础上进行开发,否则你就不能让该模块进入主线。
如果模块不发布,另一种方法是针对特定的内核版本进行开发。在这种情况下,发行版的选择应该基于模块的目标-而不是开发环境。
所以根据你的喜好选择一个发行版: 1)桌面- (GNOME,KDE,其他) 2)易用性- ( Ubuntu,Fedora等vs Arch,Gentoo) 3)前沿vs稳定(Arch,Fedora vs Ubuntu vs Debian,Red,CentOS)
然后前往kernelbewbies,了解一些内核编程入门知识(从哪里获取源代码,如何编译)。然后阅读Greg Kroah-Hartman关于linux设备驱动程序的优秀书籍。接口将发生变化(它是关于2.6版内核的,而3.6版目前正在开发中)。它可以在here上找到
您还需要学习如何使用git。更重要的是,如何使用git生成补丁并通过电子邮件发送,而不会搞砸它!我没有这样的网站,但谷歌一下会有帮助的。
https://stackoverflow.com/questions/12449868
复制相似问题