Linux内核函数和内核模块开发

时间:2014-11-04 23:43:35

标签: c linux linux-kernel kernel kernel-module

我即将为Linux ubuntu 3.8.0-29-generic

编写我的第一个内核模块

我的内核函数没有man 9部分(例如kmalloc,kfree ......) 我也无法在/usr/include中看到某些功能定义,而是在/usr/src/linux-headers-3.2.0-53/include/linux中看到。在这种情况下,如何在代码中包含标题?

我怀疑可能有apt-get install kernel-devel这样的东西会立即解决所有这些问题,但我找不到。

还非常感谢链接到内核模块编写的良好介绍。感谢。

1 个答案:

答案 0 :(得分:1)

如果你想使用内核版本3.8.0,为什么你的标题是3.2.0?您可以使用3.8.0下载额外的源代码树并编译新内核,而无需替换现有的3.2.0。

任何方式,让我们在现有的3.2.0上工作。

  • 首先,确保系统运行的内核版本相同 作为你提到的头文件目录。

    使用以下方法检查系统内核版本:

    $ uname -r

    看到你得到3.2.0。这意味着当你包括 (#include)程序中的内核头文件,它们就是那些 在/usr/src/linux-headers-3.2.0-53/include/linux

  • 第二,安装man第9节:为此您需要下载内核源代码。从https://www.kernel.org/中选择所需的版本并将其下载到您的主目录。在该源目录中执行:

    $ sudo apt-get install xmlto

    $ make mandocs

    $ sudo make installmandocs

相关问题