添加insmod内核HID模块
我对hid模块做了一些修改。
我可以成功地在内核 v 2.6.27.14 上制作并加载(insmod)它
现在我愿意在内核 v 2.6.27.11 上加载相同的内核模块,
因为两个内核版本的 kerbel 源文件没有区别,
我可以成功,但我无法在此 .11 内核版本中添加 / insmod
**
ERROR: Module myhid does not exist in /proc/modules
insmod: error inserting 'myhid.ko': -1 Invalid module format
**
问候,
I made certain modifications in hid module.
I can make it and load (insmod) it on kernel v 2.6.27.14 sucessfully
Now I am willing to load the same kernel module on kernel v 2.6.27.11
As there is no differance in the kerbel source files for both the kernel versions
I can make it sucessfully, but I cannot add / insmod in this .11 kernel version
**
ERROR: Module myhid does not exist in /proc/modules
insmod: error inserting 'myhid.ko': -1 Invalid module format
**
Regards,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您无法加载为其他内核版本编译的模块。 模块的源代码没有更改并不意味着二进制文件对于另一个内核版本将是相同的。 内核内部 API 的任何接口更改(即使不直接可见)都会破坏模块......
因此,内核通过禁止加载为另一个内核版本构建的模块来保持安全。 或者,您可以在构建内核时设置 MOVERSIONS 配置选项。 这会将版本信息嵌入到模块使用的所有符号中,如果幸运的话,您可以将其加载到另一个内核版本上。
如果模块使用的任何接口发生更改,结果将是相同的。
You can't load a module compiled for another kernel version. That the source code of the module did not change does not mean that the binary will be the same for another kernel version. Any interface change of kernel internal APIs (even when not directly visible) will break the module...
Therefore, the kernel stays on the safe side by disallowing loading of modules that were built for another kernel version. Alternatively, you can set the MODVERSIONS configuration option when building your kernel. This will embed version information into all symbols used by your module and with luck you can load it on another kernel version.
If any interface used by your module changed, the result will be the same though.
看看“modinfo”告诉你关于你的模块的信息:
检查它是否正确编译,链接到正确的内核。
当您编译/安装模块时,不要忘记在运行 insmod/modprobe 之前必须运行“depmod”(以 root 身份)来重建模块依赖关系。
see what "modinfo" tells you about your module:
Check that it's compiled properly, linked to the right kernel.
When you compile/install modules, don't forget that you have to run "depmod" (as root) to rebuild the modules dependancies before running insmod/modprobe.
谢谢 ! 这是生成文件。 我下载 HID.O 的所有依赖源文件并将其重命名为
MAKEFILE
obj-m := myhid.o
myhid-objs := my-hiddraw.o my-hid-core.o my-hid-input.o my-hid -input-quirk.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
默认值:
Thanks ! Here is the make file . I dowload all the dependent source files for HID.O and rename them
MAKEFILE
obj-m := myhid.o
myhid-objs := my-hiddraw.o my-hid-core.o my-hid-input.o my-hid-input-quirk.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default: