无法加载内核模块'elan_i2c_core.ko'

时间:2018-10-25 12:22:11

标签: linux module kernel

我正在尝试加载自定义的(某种)模块,以使我的触摸板正常工作。我从github下载了“ elan_i2c_core.c”和“ elan_i2c.h”。将它们放在一起制成一个“ Makefile”(在同一文件夹上)的文件夹,例如:

ifneq ($(KERNELRELEASE),)
obj-m   := elan_i2c_core.o
else
KDIR    := /lib/modules/$(shell uname -r)/build
PWD     := $(shell pwd)
all:
    $(MAKE) -C $(KDIR) M=$(PWD) modules
install:
    $(MAKE) -C $(KDIR) M=$(PWD) modules_install
%:
    $(MAKE) -C $(KDIR) M=$(PWD) $@
endif

我运行sudo make时,它返回了.ko个文件以及其他一些文件,但也返回了一些警告:

WARNING: "elan_i2c_ops" [/home/name/Templates/elan/elan_i2c_core.ko] undefined!
WARNING: "elan_smbus_ops" [/home/name/Templates/elan/elan_i2c_core.ko] undefined!

我尝试过

insmod elan_i2c_core.ko`

返回:

insmod: ERROR: could not insert module elan_i2c_core.ko: Unknown symbol in module

的输出
depmod elan_i2c_core.ko`

insmod: ERROR: could not insert module elan_i2c_core.ko: Unknown symbol in module

我该如何解决?我是否必须从头开始重新编译整个内核,或者我做错了什么?

其他信息:

内核版本-4.18.0-10-通用

OS- Ubuntu 18.10

0 个答案:

没有答案