【问题标题】:Installation kernel modules to specific path将内核模块安装到特定路径
【发布时间】:2016-05-17 01:51:51
【问题描述】:
我想在 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 相关的?
【问题讨论】:
标签:
linux-kernel
kernel-module
【解决方案1】:
将自己的内核模块安装到目标机器与安装到当前机器非常相似:
为目标机器安装带有根文件系统的设备。挂载点在下面称为<mount-point>。
复制(例如使用cp 命令)您的模块文件(hello.ko)到其他内核模块所在的目录中,该目录位于<mount-point>/lib/modules/<kernel-version>/。最好为 3d 方模块使用额外的子目录 extra/。
-
如果你想让你的模块在目标机器上加载modprobe,你需要使用depmod命令,它已经用于内核本身:
depmod -b <mount-point>/lib/modules/<kernel-version>