一 设备驱动:
二 内核代码树
linux-2.6.29
|-arch : 包含和硬件体系结构相关的代码
|-block : 硬盘调度算法,不是驱动
|-firmware : 固件,如BOIS
|-Documentation: 标准官方文档
|-dirver : linux设备驱动
|-fs : 内核所支持的文件体系
|-include :头文件。linux/module.h linux/init.h 常用库。
|-init :库文件代码,C库函数在内核中的实现。
init/main.c ->start_kernel->内核执行第一条代码
|-ipc : 进程件通信
|-mm :内存管理
|-kernel : 内核核心部分,包括进程调度等
|-net :网络协议
|-sound : 所有音频相关
|
其中,跟设备驱动有关并且经常查阅的文件夹有:
init
include : linux, asm-arm
drivers:
arch:
三 内核打补丁
1.制作补丁:
diff -Nur linux-2.6.30/ linux-2.6.30.1/ > linux-2.6.30.1.patch
//N为新加的文件全部修改
//linux-2.6.30 旧版本
//linux-2.6.30.1 新版本
//目标补丁
2.打补丁:
cd linux-2.6.30 //!!注意在原文件夹的目录中打补丁
patch -p1 < ../linux-2.6.30.1.patch //-p1是忽略一级目录
3.恢复:
cd linux-2.6.30 //!!注意在原文件夹的目录中打补丁
patch -R < ../linux-2.6.30.1.patch //撤销补丁