Linux Kernel in a Nutshell - 3
Retrieving the Kernel Source
当你编译自己的内核时,你需要最新的稳定版本。本章关注于确定下载哪一个内核源码,以及如何获取这些内核源码。
What Tree to Use
在过去,Linux
内核被分为两个源码树,一个为开发版,一个为稳定版。开发版分支使用基数编号表示,而稳定版分支使用偶数编号表示。比如,2.5.25
版本为开发版内核,而 2.4.25
版本为稳定版内核。
但是,在 2.6
版内核之后,内核开发者放弃了这种方法,并宣称所有的 2.6
内核发布版本都是稳定版本。在 2.6
内核主版本发布后的几个月的时间内,允许开发者添加新特性到内核,并在下一个版本发布之前令其变得稳定。这样,一个稳定的内核分支被创建。
比如,内核团队发布了 2.6.17
内核作为稳定发布版本。之后开发者开始新特性开发,并开始发布 -rc
开发版本,来让大众帮忙测试调试这些修改。在所有人认为开发版本足够稳定之后,就会发布 2.6.18
内核。这样一个周期通常会花掉两到三个月的时间。
而在新特性开发过程中,2.6.17.1
、2.6.17.2
以及其他的稳定内核版本发布出来,这些发布版本解决了一些bug以及安全漏洞。
如果你只是希望使用最新的发布版本,那么建议使用稳定的内核发布版本。如果你希望帮助内核开发者测试新特性并给它们反馈,那么可以使用内核开发版本。本章,我们假定你使用一个稳定内核开发版本。
Where to Find the Kernel Source
所有的 Linux
内核源码可以在 kernel.org
站点找到。主站 http://www.kernel.org 上展示了所有当前的内核版本。
我们可以直接在这个网站下下载我们想要的内核版本的内核源码,补丁等内容。
我们也可以使用命令行命令下载内核源码,使用 wget
或 curl
工具在 ftp
服务器上下载内核源码。
$ wget https://mirrors.edge.kernel.org/pub/linux/kernel/v2.6/linux-2.6.0.tar.gz
$ curl https://mirrors.edge.kernel.org/pub/linux/kernel/v2.6/linux-2.6.0.tar.gz
What to Do with the Source
现在我们已经有了下载下来的内核源码,我们应该将它放在哪里呢?建议在自己的家目录下创建一个称作 linux
的本地目录来保存所有不同的内核源码:
$ mkdir ~/linux
现在将下载下来的源码放到刚才创建的目录中:
$ mv ~/linux-2.6.0.tar.gz ~/linux/
切换到 linux
目录下:
$ cd ~/linux
对源码进行解压:
$ tar -xzvf linux-2.6.0.tar.gz
现在 linux
目录下就有下面的文件了:
$ ls
linux-2.6.0 linux-2.6.0.tar.gz