我想在QEMU上尝试我的简单内核模块hello.ko
。我在hdd.img文件上有根文件系统,在另一个文件夹中有编译内核。我通过此命令从源目录运行QEMU:
qemu-system-i386 -m 128M -kernel arch/x86/boot/bzImage -append "root=/dev/sda" -hda hdd.img
如何安装我的模块? modprobe的?但是如何指定WHERE安装?就像我一样 明白,modprobe安装模块到我的主机系统,而不是QEMU相关的?
答案 0 :(得分:2)
将自己的内核模块安装到目标机器上与安装到当前机器非常相似:
使用目标计算机的根文件系统挂载设备。挂载点在下面称为<mount-point>
。
将模块文件(cp
)复制(例如使用hello.ko
命令)到其他内核模块的目录中,该模块位于<mount-point>/lib/modules/<kernel-version>/
。最好为3d-party模块使用额外的子目录extra/
。
如果您希望在目标计算机上加载modprobe
模块,则需要使用depmod
命令,该命令已用于内核本身:
depmod -b <mount-point>/lib/modules/<kernel-version>