文档章节

Linux设备驱动程序学习笔记#01#构建内核源码树

archlx
 archlx
发布于 2014/10/13 21:44
字数 280
阅读 44
收藏 0

要编写Linux的驱动,必须要构建内核源码树。

内核源码树的作用是构造可以在Linux内核中装载和卸载的模块,因此若是要为目标板构造模块,必须保证用于构建内核源码树的内核版本需得与你的目标板中内核版本一致。笔者使用的目标板为i.MX6Q E9,官方给出的源码包linux_E9_3.0.35_for_Linux_v3.0.tar.bz2。


01. 解压源码包

tar jxvf linux_E9_3.0.35_for_Linux_v3.0.tar.bz2


02. 进入内核源码目录

cd ~/linux_E9_3.0.35_for_Linux


03. 修改内核源码根目录下Makefile、指定架构、交叉编译器

ARCH		= arm
CROSS_COMPILE	= /opt/arm-linux-gcc/bin/arm-none-linux-gnueabi-


04. 配置内核

make menuconfig

直接载入源码中官方配置即可

05. 编译

make


06. 编译模块

make modules

07. 安装模块

make modules_install


完成后可在/lib/modules目录下看到以版本号命名的文件夹

[xxx@XXX ~]$ cd /lib/modules
[xxx@XXX modules]$ ls
3.0.35  3.16.2-1-ARCH  3.16.3-1-ARCH  extramodules-3.16-ARCH
[xxx@XXX modules]$


至此即完成了内核源码树的构建


© 著作权归作者所有

archlx
粉丝 0
博文 2
码字总数 421
作品 0
成都
私信 提问
01@ V4L2框架分析学习一

1、概述. Video4Linux2是Linux内核中关于视频设备的内核驱动框架,为上层的访问底层的视频设备提供了统一的接口。 凡是内核中的子系统都有抽象底层硬件的差异,为上层提供统一的接口和提取出...

singledevil0
2018/04/17
0
0
《Essential Linux Device Drivers》中文版第1章

By 宋宝华 / 本系列文章交流与讨论:xhehref="http://weibo.com/21cnbao" href="http://weibo.com/21cnbao" target="_blank">@宋宝华Barry Linux 具有诱人的魅力,它是一个由全世界不同民族、......

21cnbao
2012/09/17
0
0
Linux内核源码学习 (0)- 源代码的结构

截止2012年11月4日,Linux的最新稳定版本为3.6.5,可以从Linux官方网站(http://www.kernel.org/)下载最新的版本,我所研究的内核版本是2.6.34.13,这一系列笔记都是对这个版本的内核进行分...

notishell
2013/01/02
0
0
4412开发板学习笔记---Linux驱动的学习方法

转自迅为iTOP-4412开发板实战教程书籍:http://www.topeetboard.com 1. Linux驱动的学习方法 Linux内核中有上百个驱动,知识点多且杂,对于想学习驱动的同学来说,需要尽快掌握基础知识:如开...

歌之王子殿下
2016/06/28
260
0
迅为4412开发板Linux驱动教程之内核开发基础

视频教程:http://v.youku.com/v_show/id_XMTMwNjAwMDc0OA==.html 主要内容 • Linux体系结构 • Linux内核结构 • Linux内核源码目录结构 Linux体系结构 从上图可知,Linux体系结构由用户空...

topeet
2015/08/10
242
0

没有更多内容

加载失败,请刷新页面

加载更多

【AI实战】手把手教你深度学习文字识别(文字检测篇:基于MSER, CTPN, SegLink, EAST等方法)

文字检测是文字识别过程中的一个非常重要的环节,文字检测的主要目标是将图片中的文字区域位置检测出来,以便于进行后面的文字识别,只有找到了文本所在区域,才能对其内容进行识别。 文字检...

雪饼
今天
5
0
思维导图XMind 8 Pro 绿化方法(附序列号)

按部就班: Step 1 -全新下载最新版本的 Xmind 8(注必须是英文官方的版本,中文代{过}{滤}理网站的版本修改过,无法使用pj); Step 2 -安装完毕后,点击文末的下载按钮下载pj补丁文件包,将...

一只小青蛙
今天
10
0
数据结构(ER数据库)设计规范

表命名规范 表命名的规则分为3个层级,层级之间通过_分割,例如b_r_identity、d_l_identity。规约为: [leavel]_[type]_[name] [leavel] 表示数据库表的层级和功能,分为: s:业务无关的系统...

随风溜达的向日葵
今天
5
0
阿里Sentinel控制台源码修改-对接Apollo规则持久化

https://github.com/alibaba/Sentinel/wiki/%E5%9C%A8%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E4%B8%AD%E4%BD%BF%E7%94%A8-Sentinel 动态规则扩展 https://github.com/alibaba/Sentinel/wiki......

jxlgzwh
昨天
8
0
在Linux系统中创建SSH服务器别名

如果你经常通过 SSH 访问许多不同的远程系统,这个技巧将为你节省一些时间。你可以通过 SSH 为频繁访问的系统创建 SSH 别名,这样你就不必记住所有不同的用户名、主机名、SSH 端口号和 IP 地...

老孟的Linux私房菜
昨天
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部