Я пытаюсь загрузить пользовательский (своего рода) модуль, чтобы заставить работать мою сенсорную панель.Я загрузил "elan_i2c_core.c" и "elan_i2c.h" из github.Поместите их в папку, созданную «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-generic
OS-Ubuntu 18.10