我想做内核模块编程。但是,所有的来源都告诉我们,linux发行版修补了原始内核,模块代码可能不会在它们上运行。如果这是真的,我该怎么办?我试着用ubuntu制作lfs,但几乎每一步都会出现错误。我在某个地方看到了arch、gentoo、安装过程中没有选择任何软件包的UbuntuServer、slackware、susestudio等都是香草发行版。那么,我可以将它们用于模块编程吗?
请记住,我在发行版中需要一个GUI。
这可以遵循吗
PS:我有一个英特尔酷睿i3处理器,将在vmware工作站上运行发行版。
如果您想对内核模块进行编程,那么选择哪种发行版并不重要。您需要能够从源代码重新编译内核,并自己安装新内核。即使只是对于一个内核模块,您也希望能够编译最新的内核并根据它进行开发,否则您将无法在主线中接受该模块。
如果不发布模块,另一种选择是针对特定的内核版本进行开发。在这种情况下,应该根据模块的目标而不是开发环境来选择分发。
因此,根据您的喜好选择一个分布:1) 台式机-(GNOME、KDE、其他)2) 易用性-(Ubuntu,Fedora,etc vs Arch,Gentoo)3) 前沿vs稳定(Arch,Fedora vs Ubuntu vs Debian,Red Hat,CentOS)
然后前往kernelbewbies学习一些内核编程的入门知识(从哪里获取源代码,如何编译)。然后阅读Greg Kroah Hartman关于linux设备驱动程序的优秀著作。接口将发生变化(它是关于内核2.6版本的,3.6版本目前正在开发中)。可以在这里在线找到
您还需要学习如何使用git。更重要的是,如何使用git生成补丁并通过电子邮件发送,而不会弄乱它!我没有这个网站,但谷歌搜索一下会有所帮助。