我使用的是ubuntu,但问题是Linux的问题.
我通过编译我的linux内核并安装新编译的内核来安装模块/驱动程序.它工作正常.
为了使这个驱动程序在另一台机器上工作而不安装新内核,我将.ko文件复制到新机器下/lib/modules/<version>/...然后运行sudo depmod -a.然后跑sudo modprobe <drivername>.可以毫无问题地加载模块.但该设备与此.ko模块不兼容.
这两台机器与硬件不同,但它们与内核版本和ubuntu发行版本完全相同.通常,复制.ko文件应该适用于相同的Linux版本和相同的内核.
有关驱动程序的更多信息.这是一个隐藏的笔平板电脑驱动程序.所有补丁文件:
drivers/hid/drivers/hid/Makefiledrivers/hid/usbhid/Kconfigdrivers/hid/hid-ids.hdrivers/hid/usbhid/hid-quirks.c在{0,0}之前在hid_blacklist结构中添加几行就这样.
我甚至试图复制整个drivers/hid/目录,包括.ko从第一台机器到第二台机器的所有文件.但没有运气.可以在第二台机器上识别笔数位板,我可以用笔做鼠标左键单击事件,但笔不能移动光标.
希望我提供了足够的细节.我的目标是只将模块安装到相同的Linux版本(内核)而无需重新安装内核.我不确定如何实现,或者是否可能.
非常感谢.
PS:
在第一台机器中,在插入平板电脑之前,lsmod没有显示模块.插入后,模块可以自动加载.我可以看到lsmod显示模块.
在第二个模块中,通过插入设备无法自动加载模块.我必须sudo modprobe <module>手动完成.
由于我必须将模块安装到我公司的许多机器上,因此在不重新安装内核的情况下安装模块会更容易.我尝试将内置在第一台机器中的内核.deb软件包安装到第二台机器上,它在第二台机器上工作正常.但我觉得将内核重新安装到许多机器上感觉不错.谢谢.