wooder20000 发表于 2010-05-04 19:47

初学者求助:开发板上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!

wooder20000 发表于 2010-05-04 19:50

为什么只有 openclose和register 提示出错呢? 我还用了好多serio_ 的函数,却没有提示未定义....

wooder20000 发表于 2010-05-04 20:18

解决了,内核没有配置serio
页: [1]
查看完整版本: 初学者求助:开发板上insmod失败,求解