现在的位置: 首页 > 综合 > 正文

Linux 2.6内核编译安装全景体验(上)

2018年03月16日 ⁄ 综合 ⁄ 共 1772字 ⁄ 字号 评论关闭

4获得一份完整的内核源代码

获得一份完整的内核源代码

www.kernel.org上下载一份你想要的内核,现在最新的稳定版内核是2.6.11.9

 

 

1 kernel.org上下载最新的原代码

 

 

 

配置前的准备

把下载下来的源码包复制到任意一个目录下,在这里我们把它复制到~/kernelsource/中(这样可以先暂时避免使用root账户)。之后进入~/kernelsource目录,解压缩:

tar -jxvf linux-2.6.11.9.tar.bz2

之后我们会得到一个目录linux-2.6.11.9,里面就放着要编译的内核源代码。进入该目录。

cd ~/kernelsource/linux-2.6.11.9

在这里值得说明的是,现在很多书籍上都说一定要把内核解压缩到/usr/src中,之后还要在

/usr/src中创建一个名为linux的符号链接指向它,实际上这么做是不必要的,一是编译内核的时候不一定非要在/usr/src中进行,在哪里都是可以的;二是/usr/src/linux这个符号链接指向的源码树通常会和你系统上的C库有所关联,所以出于这个因素,你也不应该改变它。

 

 

 

配置内核

这一步是至关重要的,自己编译内核的目的就是为了量身定做一个适应自己的CPU和硬件设备的内核,不过在我们进一步深入之前,我想先提一些关于使用内核配置工具的事情,我们有5种方式来配置内核:(下面的每种配置方式配个图说明一下)

1. make config

这是一个基于控制台的互动文本程序,系统一个个的向你提问,你一个个的回答,且不能反悔,估计一般人坚持不到最后就退出了,不推荐。

2. make menuconfig

这是一个文本模式、菜单驱动的配置程序,有简单的图形界面,配置很方便,是我个人比较比较喜欢的配置方法

2 menuconfig

上面这两种方法的优点是不需要X的支持,当然如果你比较喜欢GUI环境的话,下面的两种方法可以满足你的需求:

3. make xconfig

这是一个用qt写的配置程序,在GUI下配置内核,感觉很直观和清晰。建议初学者使用。

3 xconfig

4. make gconfig

如果你更喜欢gtk的配置风格,就用它吧。

4 gconfig

最后,说两种懒办法:

5. make defconfig

这是根据你的机器的类型对内核进行默认的配置,免去了你配置内核的烦恼,有人说这是Linus本人在x86机器上的默认配置,但我不敢肯定。而且经过很多人的测试,这个东西几乎不会配置出一个功能比较完善的内核,尤其是对于非Intel CPU的识别、U盘的支持、NTFS分区的支持以及ADSL的使用等问题做的都不是很让人满意。所以,不推荐。

6. make oldconfig

这是一个非互动性的脚本,用你当前内核的设置作为配置标准,重新编译新内核。如果你只是为了简单升级的话,是个不错的选择。

上面的六种方法,任选一种,就可以打开内核配置界面了。在这里,我用的是make xconfig。下面,就进入真正的内核配置部分。

当你打开xconfig面对一系列的配置选项的时候,你并不用着急,很多配置都是已经默认设置好了的,而我们要做的就是去掉那些自己不想要的,修改那些不符合我们意愿的,仅此而已。因为这些默认的选项时面对大多数用户的,所以有些可能不是很符合你自己的情况,我们只要进行修改就好了。作为一个以桌面应用为主要目的的整个内核的配置过程可以分成几个大部分:代码成熟度等级、模块支持、硬件设备以及通用系统选项。下面我们就来仔细看一下每一个部分。在此要说明的是,由于有些内核的配置是和系统硬件相关的,所以这里我只能用自己的计算机配置举个例子,具体的大家要看一下配置工具提供的帮助。

1.       代码成熟度选项

这个选项用来告诉配置程序是否显示那些还处于试验阶段的内核特性,选定该选项,则显示,反之则隐藏。对于桌面应用的用户来说,不妨打开它,试验一些内核新特性。

(图5

 

 

 

2       模块的支持

模块的设计是Linux的一大特色,它可以实现内核在运行时的功能扩展,这对于减少内核尺寸和我们将来学习内核编程都是非常有帮助的。所以,一定要选上下面的部分。

6 模块的支持

在这里说明一下,凡是配置工具中可以选择成圆点的项目,就是可以被编译成模块的部分,如果被选择成对钩,则是要编译进内核的部分,下同。

 

 

 

抱歉!评论已关闭.