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

Installation kernel modules to specific path

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

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

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