您的位置:首页 > 运维架构 > Linux

Linux驱动开发(1):内核源码树建立

2014-12-23 15:09 267 查看
初次接触Linux驱动程序开发,买了一本《Linux设备驱动程序》,第一件事当然就是构建开发环境了!

驱动程序和用户程序可不一样,它是作为一个模块连接到内核模块来运行的,运行在内核空间里面。

所以要运行我们自己构造的模块,需要自己的系统已经配置好内核树,然后把目标模块和内核树连接起来运行!但是我们安装的Linux没有源码(至少我的是这样),更不要说已经编译好的内核树了~接下来我们就要建立自己linux系统的内核树。

操作系统:ubuntu12.04 LTS

1、查看os内核版本:

lyj@lyj-Y470:~$ uname -r

3.2.0-29-generic

2、下载内核源码:

a、搜索内核代码:

sudo apt-cache search linux-source

linux-source - Linux kernel source with Ubuntu patches

linux-source-3.2.0 - Linux kernel source for version 3.2.0 with Ubuntu patches

b、选择源码包并下载:

sudo apt-get install linux-source-3.2.0

c、下载完成后,在/usr/src下,有一个linux-source-3.2.0.tar.bz2

d、root权限下(sudo su)解压 :

tar -xvf linux-source-3.2.0.tar.bz2

e、解压后生成目录 linux-source-3.2.0

3、切换到源码目录下,配置内核,选择最快的原版的配置方式:make oldconfig

root@lyj-Y470:/usr/src/linux-source-3.2.0# make oldconfig

4、编译源码 make:大约需要两个小时左右

root@lyj-Y470:/usr/src/linux-source-3.2.0# make

5、编译、安装模块:

root@lyj-Y470:/usr/src/linux-source-3.2.0# make modules

root@lyj-Y470:/usr/src/linux-source-3.2.0# make modules_install

执行结束后,会在/lib/modules下生成新的目录/lib/modules/3.2.0-29-generic/

到此,内核编译完成,内核树建立
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: