鱼C论坛

 找回密码
 立即注册
查看: 5116|回复: 17

手动编译安装内核经验上

[复制链接]
发表于 2011-11-10 13:51:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
       大家有可能看过前面我发的一遍内核编译经验,这次是手动的,由于文章太长,我把它分文上中下三部分……
获得一份完整的内核源代码

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



                               
登录/注册后可看大图
该贴已经同步到 crazylinux的微博

评分

参与人数 2鱼币 +20 收起 理由
小甲鱼 + 10 很给力!
wajmjjj + 10 赞一个!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-10 15:45:54 | 显示全部楼层
好贴占沙发~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-10 15:51:24 | 显示全部楼层
擦,仔细看了一下,are you sure about:
现在最新的稳定版内核是2.6.11.9
?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-10 16:14:30 | 显示全部楼层
wajmjjj 发表于 2011-11-10 15:51
擦,仔细看了一下,are you sure about:?

最新版内核是3.0.8
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-10 19:05:00 | 显示全部楼层
加个精华弄得偶一头晕,看来今天上班太累了…
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-12 00:52:37 | 显示全部楼层
现在水平还玩不了,不过先顶上!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-13 14:17:48 | 显示全部楼层
进入内核!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-21 23:25:43 | 显示全部楼层
准备 编译 正在 下载
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-22 08:36:12 | 显示全部楼层
。。都内核了,很好,很强大
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-22 09:58:51 | 显示全部楼层
$ make gconfig
  HOSTCC  scripts/basic/fixdep
*
* Unable to find the GTK+ installation. Please make sure that
* the GTK+ 2.0 development package is correctly installed...
* You need gtk+-2.0, glib-2.0 and libglade-2.0.
*
  HOSTCC  scripts/kconfig/conf.o
make[1]: *** 没有规则可以创建“scripts/kconfig/gconf.o”需要的目标“scripts/kconfig/.tmp_gtkcheck”。 停止。
make: *** [gconfig] 错误 2
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-22 10:34:43 | 显示全部楼层
一个GTK+-2.0的依赖关系那么庞大
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-22 10:46:59 | 显示全部楼层
真操蛋啊  两个包互相依赖 在哪里踢皮球 怎么装
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-12 20:06:31 | 显示全部楼层
贴主是做Linux的啊?要多多学习呀~!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-13 09:23:53 | 显示全部楼层
不错哦,要好好学习~!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-2-8 20:28:13 | 显示全部楼层
很好很强大,值得深入学习学习了!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-2-13 22:38:44 | 显示全部楼层
碉堡了   Linux新手路过  
我要向你学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-3-1 23:25:05 | 显示全部楼层
不错呦,顶一个。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-3-2 18:42:04 | 显示全部楼层
Be_envious 发表于 2011-11-22 10:46
真操蛋啊  两个包互相依赖 在哪里踢皮球 怎么装

那就两个一起装
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 05:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表