ubuntu 内核树

原创 2016年08月31日 12:10:19
    最近学习编写驱动程序,编写驱动,首先要构建内核树,记得以前编写驱动时,直接指定了内核源码的位置,但是在ubuntu上内核版本和源码版本不一致,编译时出了很多错误。在网上搜了一下,才明白,编写模块驱动,首先要构建内核树。ubuntu上不带内核源码,一般的方法是下载内核重新编译一遍,构建内核树。但是这样做有点麻烦,又网上搜集一下,发现ubuntu上自带内核树,在/lib/modules 目录下。

  1. root@wang:/lib/modules/2.6.35-22-generic/build# ls
  2. arch crypto drivers fs init Kbuild lib mm net scripts sound tools usr
  3. block Documentation firmware include ipc kernel Makefile Module.symvers samples security source ubuntu virt
  4. root@wang:/lib/modules/2.6.35-22-generic/build# pwd
  5. /lib/modules/2.6.35-22-generic/build
Makefile 可以这样写:
  1. root@wang:/work/wanghuan/drives# cat Makefile -n
  2.      1    #===============================================================================
  3.      2    # Filename: Makefile
  4.      3    # Description:
  5.      4    #
  6.      5    # Author: wanghuan
  7.      6    # Company:
  8.      7    #
  9.      8    #==============================================================================
  10.      9    
  11.     10    obj-m :=cdev.o #目标文件
  12.     11    KDIR :=/lib/modules/2.6.35-22-generic/build #内核路径
  13.     12    PWD := $(shell pwd) #模块源文件路径
  14.     13    all:    
  15.     14        $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
  16.     15        @rm -rf *.mod.*
  17.     16        @rm -rf .*.cmd
  18.     17        @rm -rf *.o
  19.     18        @rm -rf Module.*
  20.     19        chmod a+x cdev.ko
  21.     20    clean:
  22.     21        rm -rf *.ko
                                 
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(615) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~
评论热议
阅读全文
版权声明:本文为博主原创文章,转载请注明出处。

ubuntu14.4---内核树建立

Ubuntu 14.04 内核树的建立 0,,查看自己的内核版本 详细参数,参考uname命令 $:uname -r 在我电脑上的显示:3.13.0-32-generic 1,列出可用的源码包 $:s...
  • u010162887
  • u010162887
  • 2015年03月14日 13:35
  • 950

内核树的建立

在进行内核相关的开发时,经常需要根据目标内核在开发平台中建立相应的内核树,那么什么是内核树?为什么需要内核树呢? 一、内核树简单来说,内核树,就是关于内核中各个目标模块提供的内核API的一个逻辑树;...
  • chinaclock
  • chinaclock
  • 2015年10月08日 12:00
  • 1132

Ubuntu内核源码树的构建与安装

本文介绍了Ubuntu系统下内核源码树构建与安装的方法,构建环境基于Ubuntu 10.04和2.6.32的内核。...
  • u010096900
  • u010096900
  • 2015年06月12日 22:34
  • 2068

linux内核树的建立

交叉编译驱动环境搭建: 我的开发板是mini2440(s3c2440)内核版本是:2.6.32.2;用开发板自带的源码,利用samba服务器把源代码放到宿主机中,然后解压。(操作的都是...
  • YuZhiHui_No1
  • YuZhiHui_No1
  • 2014年10月17日 14:10
  • 2615

内核树作用

设备驱动程序是内核的一部分 所以它采用内核的头文件和库,所以在Linux发现版本里可能并没有这些东西 所以需要下载内核版本然后编译生成源码树,以准备好驱动编译所需要的头文件和库 1.源码树中...
  • yishuige
  • yishuige
  • 2015年11月19日 10:30
  • 334

Ubuntu 内核树建立

驱动程序和用户程序可不一样,它是作为一个模块连接到内核模块来运行的,运行在内核空间里面。所以要运行我们自己构造的模块,需要自己的系统已经配置好内核树,然后把目标模块和内核树连接起来运行!可以查看一下自...
  • paopao1874
  • paopao1874
  • 2011年05月10日 16:10
  • 336

linux 驱动开发之内核树构建

    在看的时候,作者其中提到Setting Up Your Test System。他只是指出为2.6.X编写模块,首先,要求你在Linux系统上构建和配置内核树,对于2.6版本的内核来说,已有的...
  • JK1860
  • JK1860
  • 2011年01月20日 15:26
  • 4172

构建嵌入式系统交叉内核源码树

在学习过程中,发现几乎所有的驱动书籍都忽略了一个问题,那就是内核源码树的构建编译。而网上大部分的资料也都忽略或者没写清楚了一个问题,当开发板的内核版本和PC机的内核版本不一致时,当开发板和pc机CPU...
  • zeroqvb
  • zeroqvb
  • 2014年03月03日 13:33
  • 1324

linux内核源码树构建

版权声明:本文为博主原创文章 && 转载请著名出处 @ http://blog.csdn.net/gatieme 目录(?)[-] 获取源码包的方式 为什么要活取源码包 普通Linux设备驱动开发 嵌...
  • u013923131
  • u013923131
  • 2015年12月09日 17:58
  • 1414

ubuntu 内核的安装与切换

sudo add-apt-repository ppa:danielrichter2007/grub-customizer    90  sudo apt-get update    91  sud...
  • WanGong
  • WanGong
  • 2015年03月28日 11:12
  • 4241
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ubuntu 内核树
举报原因:
原因补充:

(最多只允许输入30个字)