gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:55:15 24 4
gpt4 key购买 nike

我即将为 Linux ubuntu 3.8.0-29-generic 编写我的第一个内核模块

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

我怀疑可能有类似 apt-get install kernel-devel 的东西可以一次性解决所有这些问题,但我找不到。

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

最佳答案

如果要用3.8.0的内核,为什么会有3.2.0的header?您可以使用 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

    $制作mandocs

    $ sudo make installmandocs

关于c - Linux内核函数和内核模块开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26747205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com