Linux内核设计与实现——从内核出发
获取内核源代码
-
登陆Linux内核官方网站,可以随时获取当前版本的源代码,可以是完整的压缩形式,也可以是增量补丁形式
-
使用git下载
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
更新自己的分支到Linux的最新分支
git pull
-
安装内核源代码
-
内核压缩以Gnu zip(g zip)和bzip2两种形式发布。bzip2是默认首选形式,叫做linux-x.y.z.tar.bz2
-
bzip2解压
tar xvjf linux-x.y.z.tar.bz2
-
GNU zip解压
tar xvzf linux-x.y.z.tar.gz
-
何处安装并触及源码
内核源码一般安装在/usr/src/linux目录下。注意,不要把这个源码树用于开发,因为编译你的C库所用的内核版本就链接到这棵树。此外,不要以root身份对内核进行修改,而应当建立自己的主目录,仅以root身份安装新内核。即使在安装新内核时,/usr/src/linux目录都应该原封不动
-
-
使用补丁
-
在内核社区中,补丁是通用语。可以以补丁的形式发布对代码的修改,也可以以补丁的形式接收其他人所做的修改
-
增量补丁可以作为版本转移的桥梁:不需要下载全部的内核源码,只需给旧版本打上一个增量补丁
-
应用增量补丁
patch -pl < ../patch-x.y.z
-
一个给定版本的内核补丁总是打在前一个版本上
-
内核源码树
源码树根目录中的很多文件值得提及。
- COPYING文件是内核许可证(GNU GPL v2)
- CREDITS是开发了很多内核代码的开发者列表
- MAINTAINERS是维护者列表,他们负责维护内核子系统和驱动程序
- Makefile是基本内核的Makefile