在学习驱动程序的过程中,做的最多的一件事情就是从文章中直接把代码copy回去,直接就Makefile了,但是也会遇到标题类似的问题:

curtis@curtis-virtual-machine:~/Desktop/test$ ls
Makefile  test.c
curtis@curtis-virtual-machine:~/Desktop/test$ vim Makefile
curtis@curtis-virtual-machine:~/Desktop/test$ make
make -C /lib/modules/4.2.0-42-generic/build M=/home/curtis/Desktop/open_hook_demo modules
make[1]: Entering directory `/usr/src/linux-headers-4.2.0-42-generic'Building modules, stage 2.MODPOST 0 modules
make[1]: Leaving directory `/usr/src/linux-headers-4.2.0-42-generic'
curtis@curtis-virtual-machine:~/Desktop/test$ ls
Makefile  modules.order  Module.symvers  test.c
curtis@curtis-virtual-machine:~/Desktop/test$

从上面结果可以看到,虽然make没有报错,但是并没有生成ko文件,原因就在自己copy Makefile的时候出问题,从实体机copy到虚拟机的时候,少了一个字母!!!!

curtis@curtis-virtual-machine:~/Desktop/test$ cat Makefile bj-m :=test.o
KERNEL := /lib/modules/$(shell uname -r)/buildall:make -C $(KERNEL) M=$(shell pwd) modules
install:make -C $(KERNEL) M=$(shell pwd) modules_installdepmod -A
clean:make -C $(KERNEL) M=$(shell pwd) clean

原来是obj-m,复制进去成了bj-m,修改Makefile再次make:

curtis@curtis-virtual-machine:~/Desktop/test$ make
make -C /lib/modules/4.2.0-42-generic/build M=/home/curtis/Desktop/open_hook_demo modules
make[1]: Entering directory `/usr/src/linux-headers-4.2.0-42-generic'CC [M]  /home/curtis/Desktop/open_hook_demo/test.oBuilding modules, stage 2.MODPOST 1 modulesCC      /home/curtis/Desktop/open_hook_demo/test.mod.oLD [M]  /home/curtis/Desktop/open_hook_demo/test.ko
make[1]: Leaving directory `/usr/src/linux-headers-4.2.0-42-generic'
curtis@curtis-virtual-machine:~/Desktop/test$ ls
Makefile  modules.order  Module.symvers  test.c  test.ko  test.mod.c  test.mod.o  test.o

成功生成ko文件!!

Linux驱动make命令没有生成ko文件相关推荐

  1. Linux dd命令截取文件,linux使用dd命令快速生成大文件

    dd命令可以轻易实现创建指定大小的文件,如 dd if=/dev/zero of=test bs=1M count=1000 会生成一个1000M的test文件,文件内容为全0(因从/dev/zero ...

  2. linux dd 截文件,Linux使用dd命令快速生成大文件(转)

    dd命令可以轻易实现创建指定大小的文件,如 dd if=/dev/zero of=test bs=1M count=1000 会生成一个1000M的test文件,文件内容为全0(因从/dev/zero ...

  3. Linux使用dd命令快速生成大文件

    dd命令可以轻易实现创建指定大小的文件,如   dd if=/dev/zero of=test bs=1M count=1000   会生成一个1000M的test文件,文件内容为全0(因从/dev/ ...

  4. linux命令dd创建虚拟硬盘,每日一题.PYTHON如何模拟LINUX的dd命令快速创建大文件?...

    原文数据: 无 具体要求: 1. 模拟Linux的dd命令快速创建大文件 代码实现: # -*- coding: utf-8 -*- """ # # Authors: l ...

  5. Linux 下从命令行打开pdf文件和html文件的命令

    Linux 下从命令行打开pdf文件和html文件的命令 [日期:2012-06-18] 来源:Linux社区 作者:hipercomer [字体:大 中 小] 如果你经常工作在Linux终端下,某个 ...

  6. 非命令行linux安装zip,如何在Ubuntu 18.04 Bionic Beaver Linux上使用命令行从ZIP文件安装Gnome Shell Extensions...

    目的 目的是在Ubuntu 18.04 Bionic Beaver Linux上使用命令行从ZIP文件安装Gnome Shell Extensions.使用命令行从ZIP文件安装Gnome Shell ...

  7. Linux下用命令行彻底删除文件

    一.Linux下用命令行彻底删除文件 Linux下一般会使用删除键或者rm命令.将文件扔到垃圾箱.但是,这些方法并没把文件从我们的电脑里彻底删除,只是把文件隐藏起来,让用户看不见而已. 1. shre ...

  8. linux 使用rename命令批量重命名文件

    linux 使用rename命令批量重命名文件 命令格式: Usage: rename [-v] [-n] [-f] perlexpr [filenames] 参数说明: v 显示文件重命名的细节 n ...

  9. Linux篇之命令行下载远程文件curl命令的介绍与使用

    一.curl简介 通常情况下,当我们不想在本机下载文件,上传至服务器时,觉得这样过于麻烦,步骤繁琐. 那么该怎么办呢? 在Linux中,服务器下载文件,提供了一种curl命令,它可以实现在Linux中 ...

最新文章

  1. Spring学习3之IOC创建对象的方式
  2. docker常用命令(总结)
  3. sql长整型_SQL性能优化,太太太太太太太有用了!
  4. css多行文本溢出显示省略号(兼容ie)
  5. 余承东:华为P50系列无5G版本,但依然流畅
  6. EF批量添加数据BulkInsert
  7. 儿童学python下哪个软件好_少儿学编程适合哪个软件
  8. 暑期作息时间表模板_2015中学生暑假作息时间表模板
  9. 2021阿里巴巴国际站产品关键词来源(二)
  10. java清除session_退出页面自动清除java session方法
  11. 量化交易奇才大卫·哈丁的投资之路
  12. 这几天心里颇不宁静,采的不是信号,而是寂寞
  13. 接口偶尔超时,竟又是JVM停顿的锅!
  14. 【动态规划】买卖股票
  15. oppo A57(全网通)一键救砖,轻松刷回官方系统。
  16. 白月光与朱砂痣用计算机怎么弹奏,天谕白月光与朱砂痣钢琴谱 乐谱代码怎么使用...
  17. vscode java乱码问题解决
  18. 计算机音乐博士,美国音乐博士解析
  19. 双人联网贪吃蛇C语言,关于C 双人贪吃蛇显示的问题
  20. 独立站SEO如何分析竞争对手之策略与教程

热门文章

  1. python哲学翻译_从 Python 之父的对话聊起,关于知识产权、知识共享与文章翻译...
  2. 中油瑞飞贺自军:质量管控 速度与效益的博弈
  3. linux添加其他源,Debian添加软件源,debian添加
  4. 阿里等大厂的需求研发/开发流程,进去前了解一下
  5. access有效性规则不为空值_access有效性规则写法
  6. spark dataframe的select和selectexpr的区别
  7. sharepoint 2013 安装
  8. stream benchmark 介绍
  9. CSS 中的 rotate
  10. /etc/config/wireless 解析