全民内核-准备

1,准备源码,2种方式 
a,直接下载包,地址: 
http://www.kernel.org/pub/linux/kernel/v3.0/ 
这里是以3.7.1为例,这个目录下有三种文件,分别是linux/patch/changelog开头 
linux指的源码完整包,像linux-3.7.1.tar.xz, 
patch指的是补丁包 
在kernel的官网上有三种版本,mainline,stable,longterm 
mainline是主线版本,最新的,像linux-3.7或是3.8-rc1 
stable是稳定版,像linux-3.7.1 
longterm是长期支持版,目前官网上是2个,3.0,3.4,再加一个后娘养的3.2 
还有一个是eol,当然就是不再支持了,3.5.3.6就是eol了 
打补丁:下载主线版本,linux-3.7.tar.xz,解压到你的文件夹, 
不要解压到/usr/src,我们解压的是像这样的/home/xx/xx下面,也就是你的home下面会比 
较好,我们打补丁一般的目的是为了稳定或者加一些其他功能,比如打上3.7.1的补丁 
或者加入realtime的补丁,打补丁是在主线版本之上的,像3.7.1是在3.7上面patch 
可能过几天又出来3.7.2,也是在3.7上的,这时你如果是3.7.1,要先删除掉3.7.1 
如果是3.8-rc1,也是在3.7.0上面打的,而不是3.7.1,实例 
打补丁实例,假设以我们下载的是patch-3.7.1.xz, 
先切换到你的涛码目录,接着xzcat 补丁包的位置/patch-3.7.1.xz | patch -p1 
删除:xzcat 补丁包的位置/patch-3.7.1.xz | patch -p1 -R 

建议下载一个相近的主线版本,然后用补丁包构造出你想要的版本,这样不用一直下载 
整包,建议大家用xz的压缩包 

b,当然是git了,git的优点是取出很快,不用打补丁,缺点当然是第一次比较慢 
稳定版git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git 
老大版git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
当然这个是要先装上git-core这个软件包 
一般默认是master这个分支,当然大家可以查看远程分支 
git branch -r 
取出的话,可以看根据上面的版本 
然后git checkout 你要的版本 
下次更新 
直接git pull,包下载,包整合,如果是整合失败 
再手工整合,几率比较小 

2,如果源码解压好了,补丁也打好了 
这时候你肯定想看到源码的版本, 
make kernelversion 
比如3.7.1 
当然,首先还要是要装上 
make gcc gdb bison m4 autoconf automake libtool dpkg-dev libncurses5-dev
 


来源:http://www.tognu.com/read-2

你可能感兴趣的:(linux,内核,编译)