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