第二章 第一节 Linux设备驱动程序之--构建内核树

首先下载Linux内核,按作者的说法,只要是linux-2.6.xxx的内核都可以,我的是linux-2.6.33.2。有位网友说下载后最好解压到/usr/src/目录下,解压

在构建内核树时参考了原书第四章“调试技术”,配置了几条调试时可能会用到的选项,这些选项大多在“kernel hacking“菜单中:

CONFIG_DEBUG_KERNEL:使其他调试选项可用

CONFIG_DEBUG_SLAB:打开内核内存分配函数中的多个类型检查

CONFIG_DEBUG_PAGEALLOC:在释放时,全部内存页从内核地址空间中移出。该选项将大大降低运行速度,但可以快速定位特定的内存损坏错误的所在位置

CONFIG_DEBUG_SPINLOCK

CONFIG_DEBUG_SPINLOCK_SLEEP

CONFIG_INIT_DEBUG

CONFIG_DEBUG_INFO

 

构建内核树步骤:

(1) 下载内核源码包,至/usr/src/,并解压:[root@hh linux-2.6.30] # tar -zxvf  linux-2.6.30.tar.gz

(2)  [root@hh linux-2.6.30] # make mrproper

(3)  [root@hh linux-2.6.30] # make menuconfig ;并配置上面的选项(可以只配置需要的几项,也可以在.config文件中配置)

(4)  编译: [root@hh linux-2.6.30] # make

(5)  编译模块: [root@hh linux-2.6.30] # make modules

(6)  安装模块: [root@hh linux-2.6.30] # make modules_install

(7)  安装:[root@hh linux-2.6.30] # make install

现在,看看你的 /lib/modules/ 目录吧,是不是生成了一个名为 2.6.30 的目录,以后编译模块就可以在它下面编译了。真是迫不及待的要试试自己编一个模块试试了。

后记,在构建内核树时,需要注意很多问题,既便是构建的时候没有问题,在以后的编译和装载模块时也会遇到,因此最好先看看,第二章 第二节的内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值