第二章 第一节 Linux设备驱动程序之--构建内核树
2010-06-04 11:17
369 查看
首先下载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 的目录,以后编译模块就可以在它下面编译了。真是迫不及待的要试试自己编一个模块试试了。
后记,在构建内核树时,需要注意很多问题,既便是构建的时候没有问题,在以后的编译和装载模块时也会遇到,因此最好先看看,第二章 第二节的内容
在构建内核树时参考了原书第四章“调试技术”,配置了几条调试时可能会用到的选项,这些选项大多在“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 的目录,以后编译模块就可以在它下面编译了。真是迫不及待的要试试自己编一个模块试试了。
后记,在构建内核树时,需要注意很多问题,既便是构建的时候没有问题,在以后的编译和装载模块时也会遇到,因此最好先看看,第二章 第二节的内容
相关文章推荐
- Linux设备驱动程序(LDD)第二章:内核符号表
- .Linux设备驱动程序学习(0)——设备驱动介绍& Hello, world!模块 内核参数传递
- Linux设备驱动程序学习--内核编译
- 浅析Linux字符设备驱动程序内核机制
- 关于学习Linux的经典书籍 (深入理解Linux内核、Linux设备驱动程序等) .
- 如何在嵌入式LINUX内核中增加自己的设备驱动程序
- 关于学习Linux的经典书籍 (深入理解Linux内核、Linux设备驱动程序等)
- Linux字符设备驱动程序编译进入内核的方法
- 关于学习Linux的经典书籍 (深入理解Linux内核、Linux设备驱动程序等) .
- linux4.10.8 内核移植(四)---字符设备驱动_led驱动程序
- 第二章 第三节 Linux设备驱动程序之--模块参数
- 学习笔记——《LINUX设备驱动程序(第三版)》Linux设备模型:内核添加、删除设备、驱动程序
- linux0.11内核完全剖析 - 块设备驱动程序
- linux设备驱动程序开发环境的建立(编译嵌入式内核)
- Linux设备驱动程序——内存和I/O基础知识学习:(1)内核中相关基础知识学习
- 第二章 第二节 Linux设备驱动程序之--我的第一个程序 Hello World
- 深入理解Linux内核-I/O体系结构和设备驱动程序
- 关于学习Linux的经典书籍 (深入理解Linux内核、Linux设备驱动程序等)
- 关于学习Linux的经典书籍 (深入理解Linux内核、Linux设备驱动程序等)
- 关于学习Linux的经典书籍 (深入理解Linux内核、Linux设备驱动程序等)