这是我的makefile
ifneq ($(KERNELRELEASE),) obj-m := dmcdus_dd.o KDIR := /usr/src/linux-headers-3.13.0-24-generic/ $(MAKE) INSTALL_MOD_DIR=kernel/drivers/input/touchscreen -C $(KDIR) M=$$PWD modules_install endif clean: rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions sample Module.symvers
我已经指定了我所需的路径,在这里我必须使用dmcdus_dd.ko移动INSTALL_MOD_DIR文件&通过modules_install安装它。当我在控制台中输入"make“时,我在控制台中得到以下结果:
make INSTALL_MOD_DIR=kernel/drivers/input/touchscreen -C /usr/src/linux-headers-3.5.0-49-generic/ M=$PWD modules_install make[1]: Entering directory `/usr/src/linux-headers-3.5.0-49-generic' DEPMOD 3.5.0-49-generic make[1]: Leaving directory `/usr/src/linux-headers-3.5.0-49-generic'
但是当我到"/lib/modules/3.5.0-49-generic/kernel/drivers/input/touchscreen“的位置时,我看不到目录中的dmcdus.ko文件.我怎样才能把我的司机复制到那个位置?
发布于 2015-04-22 09:25:10
在安装之前,您需要使用 make -C $(KDIR) M=$(PWD) modules 制作模块。如果您想在makefile中做一些小小的更改,那么可以用以下方式编写:
make -C $(KDIR) M=$(PWD) modules
ifneq ($(KERNELRELEASE),) obj-m := dmcdus_dd.o KDIR := /usr/src/linux-headers-3.13.0-24-generic/ make -C $(KDIR) M=$(PWD) modules #I've changed makefile here $(MAKE) INSTALL_MOD_DIR=kernel/drivers/input/touchscreen -C $(KDIR) M=$$PWD modules_install endif clean: rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions sample Module.symvers
发布于 2014-08-08 08:49:19
下面的makefile足够您构建和安装模块
obj-m := dmcdus_dd.o KDIR := /usr/src/linux-headers-3.13.0-24-generic/