首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过makefile安装或复制驱动程序即.ko文件到特定位置?

如何通过makefile安装或复制驱动程序即.ko文件到特定位置?
EN

Stack Overflow用户
提问于 2014-08-07 12:18:20
回答 2查看 3.6K关注 0票数 1

这是我的makefile

代码语言:javascript
运行
复制
ifneq ($(KERNELRELEASE),)
    obj-m := dmcdus_dd.o
else
    KDIR := /usr/src/linux-headers-3.13.0-24-generic/

    all:
        $(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“时,我在控制台中得到以下结果:

代码语言:javascript
运行
复制
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文件.我怎样才能把我的司机复制到那个位置?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-22 09:25:10

在安装之前,您需要使用make -C $(KDIR) M=$(PWD) modules制作模块。如果您想在makefile中做一些小小的更改,那么可以用以下方式编写:

代码语言:javascript
运行
复制
ifneq ($(KERNELRELEASE),)
        obj-m := dmcdus_dd.o
else
        KDIR := /usr/src/linux-headers-3.13.0-24-generic/

all:
        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
  • 并确保您拥有将文件复制到目标(/input/touchscreen)folder.的权限。如果没有,那就改变它。
票数 3
EN

Stack Overflow用户

发布于 2014-08-08 08:49:19

下面的makefile足够您构建和安装模块

代码语言:javascript
运行
复制
obj-m := dmcdus_dd.o
KDIR := /usr/src/linux-headers-3.13.0-24-generic/

all:
    make -C $(KDIR) M=$$PWD modules
    make -C $(KDIR) M=$$PWD modules_install

clean:
    make -C $(KDIR) M=$$PWD clean

如果指定INSTALL_MOD_DIR,则模块将移至该目录。

INSTALL_MOD_DIR=kernel/drivers/input/touchscreen -C $(KDIR) M=$$PWD modules_install

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25182354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档