linux-kernel - 将内核模块安装到特定路径

标签 linux-kernel kernel-module

我想在 QEMU 上试用我的简单内核模块 hello.ko。我在 hdd.img 文件上有根文件系统,在另一个文件夹中有编译内核。我通过此命令从源目录运行 QEMU:

   qemu-system-i386 -m 128M -kernel arch/x86/boot/bzImage -append "root=/dev/sda" -hda hdd.img

如何安装我的模块?调制探头?但是如何指定安装位置呢?正如我 理解,modprobe 安装模块到我的主机系统,而不是 QEMU 相关的?

最佳答案

将自己的内核模块安装到目标机器与安装到当前机器非常相似:

  1. 为目标机器安装带有根文件系统的设备。挂载点称为 <mount-point>下面。

  2. 复制(例如使用 cp 命令)您的模块文件 ( hello.ko ) 到包含其他内核模块的目录中,位于 <mount-point>/lib/modules/<kernel-version>/ .最好使用额外的子目录 extra/用于 3d 方模块。

  3. 如果你想让你的模块加载modprobe在目标机器上,你需要使用 depmod命令,已用于内核本身:

    depmod -b <mount-point>/lib/modules/<kernel-version>
    

关于linux-kernel - 将内核模块安装到特定路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37257096/

相关文章:

linux - 交叉编译 FTDI VCP Driver for embedded linux arm

android - 如何使用 LKM 的导出符号编译内核?

c - 在 Linux 内核模块中替代 GPL *find_symbol* 方法

linux-kernel - 内核模块将许多设备属性导出到用户空间

c - linux/list.h 中 container_of 宏背后的基本原理

c - 在 Linux 内核中赋值两个值

c - 商业软件中的内核模块问题

c - 编写打印人类可读时间的内核系统调用

linux-kernel - ARM Linux 在解压 head.S 中的内核时如何切换到 Thumb2 模式

linux - Netfilter Hook 注册到网络子系统