【问题标题】:Linux Kernel Programming Book for 3.x versions [closed]适用于 3.x 版本的 Linux 内核编程书 [关闭]
【发布时间】:2015-02-20 23:28:23
【问题描述】:

我正在尝试为我自己的服务器开发 linux 内核模块。 我有一个带有 linux 内核 3.4 的 Ubuntu,但我找不到任何用于在 3.x 版本上开发模块的书籍或教程,所有教程和书籍都是针对 2.x 版本的。
并且大部分代码没有在 3.4 版本上编译,特别是内核线程部分。

你知道什么对理解 3.x 模块开发有用吗?

谢谢。

【问题讨论】:

    标签: c linux linux-kernel


    【解决方案1】:

    在内核如何工作的基础上,2.6.32+ 和 3.x 没有太大区别。但是,是的,函数名称和 API 会不时更改。这就是为什么书籍一旦发行就已经很旧了。这就是为什么我可以推荐http://kernelnewbies.org/

    已经回答了类似的问题:

    Documentation about device driver programming on kernel 3.x

    Linux Device Drivers 3rd Ed and 3.2 kernel

    最好的文档是 Linux 内核源代码本身,因为它变化如此之快。代码中有很多 cmets,你真的应该查看“文档”目录。

    将示例移植到更新的版本不是一个很好的练习吗?

    非常重要的是跟上主线开发的变化列表:http://kernelnewbies.org/LinuxVersions

    如果他们更改 API,他们也会记录转换。查看驱动程序执行与您想要实现的目标类似的事情。它们是如何工作的?他们对 API 更改有何反应? ...

    订阅相关的 Linux 内核邮件列表,并向活跃的内核开发人员寻求更大问题的帮助。

    【讨论】:

    • 完全同意塞巴斯蒂安的观点。 :-)
    【解决方案2】:

    您可以使用 LDD(Linux Device Driver) 作为参考,但它适用于 2.x 内核。您可以加入Eudyptula Challenge 内核开发学习和培训挑战。还记得一个很好的参考总是linux kernel source code

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-08
      • 2013-09-13
      • 2012-03-21
      • 2023-03-27
      • 2012-05-21
      相关资源
      最近更新 更多