初学者求助:开发板上insmod失败,求解
我在 KERNELDIR = /home/yang/linux-2.6.31.3/include/linux/serio.h 中找到有这几个函数的定义了,是没编译进去吗?insmod出错信息:
tb: Unknown symbol serio_open
tb: Unknown symbol serio_close
tb: Unknown symbol __serio_register_driver
tb: Unknown symbol serio_unregister_driver
insmod: cannot insert './tb.ko': unknown symbol in module (-1): No such file or directory
我的makefile:
ifeq ($(KERNELRELEASE),)
KERNELDIR = /home/yang/linux-2.6.31.3/
PWD := $(shell pwd)
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
modules_install:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
clean:
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions
.PHONY: modules modules_install clean
else
# called from kernel build system: just declare what our modules are
obj-m := tb.o
endif
make打印的warning信息:
WARNING: "serio_open" undefined!
WARNING: "serio_close" undefined!
WARNING: "__serio_register_driver" undefined!
WARNING: "serio_unregister_driver" undefined! 为什么只有 openclose和register 提示出错呢? 我还用了好多serio_ 的函数,却没有提示未定义.... 解决了,内核没有配置serio
页:
[1]