核心的版本与何处下载最新核心 请非凡留意!不同版本的核心之间,最好不要互相升级!否则及轻易发生问题!例如: Red Hat 6.x 使用的是 2.2.xx 版本的核心,那么就不要使用 2.4.xx 的核心来编译他!假如误用的话,很有可能造成您系统上面的服务无法正常的工作!还请非凡留意呢! · 核心的版本: 要更新核心自然就得知道目前我的核心是哪一个啰!然后才能拿更新的核心来更新呀!您说是吧!那么在哪里找到这个核心的资讯呢?假如对于 系统指令 那一篇还有印象的话(忘记了就回去读一读吧!),应该还记得那个 uname 查看的资讯吧!没错!就是他了,可以使用其功能来查询目前在工作的核心版本:
· 看到了吧!那个东西就是核心版本的资讯啦!好了!我们依照 RPM 版本的先例,也来谈一谈 kernel 的版本吧!基本上, kernel 的版本可以分为: [主版本].[次版本].[修订版本]-[附版本] 在这当中,需要非凡留意的属于第二个那个[次版本]啰! o 假如次版本是奇数的话,例如 2.3, 2.5 等等,那表示他是一个『测试性质功能的核心版本』,这种核心通常是在推出稳定版本的核心之前,用来给 developer (核心维护更新测试者!)测试用的!虽然功能较为强大,但是由于是属于测试性质,所以可能会有些许的 bug 也说不定; o 假如次版本是偶数的话,例如 2.2, 2.4 等等,那表示他是一个经过测试之后才释出的稳定核心版本,这种核心较为稳定不轻易出错,比较适合一般个人或者是商业使用! 所以啦!我们要升级的时候,大多就是使用那种偶数的核心版本啦!不过这里还是要再提一遍!就是『2.2 与 2.4 是两个具有相当大差异的核心版本,两者之间使用到的函式库基本上已经不相同了,所以在升级之前,假如您的核心原本是 2.2.xx 版(Red Hat 6.x 系列),那么就升级到 2.2.xx 版本的最新版,不要由 2.2.xx 直接升级到 2.4.xx 版,否则到时可能会欲哭无泪~~』,这个问题在讨论区一再地被提起!这里再次说明! 此外, 2.2.xx 与 2.4.xx 的比较中,并不是 2.4.xx 就一定比 2.2.xx 还要新,因为这两种版本同时在进行维护与升级的工作!假如有爱好的话,可以前往 linux 核心网站 http://www.kernel.org 一看究竟,您就可以了解目前的核心变动情况了!另外,再提到额外的一点,就是 2.2 可以升级到 2.3 版本,这是因为这两个是互相援用的,在 2.3 测试成功之后,就将他转成 2.2 的版本,所以两者的函式库使用的情况是约略相同的,这个情况也可以使用在 2.4.xx 与 2.5.xx 版本之中!也就是说,您的 Red Hat 7.x 的 2.4.xx 版本可以升级到 2.5.xx 版本去呦!但是您的 Red Hat 6.x 的 kernel 2.2.xx 则仅能更新到最新的 2.2.xx 或者是 2.3.xx ,强烈的建议不需要更新到 2.4.xx ~~再次不厌其烦的提醒大家~ 好了!既然 Red Hat 7.1 ~ 7.3 使用的是 kernel 2.4.xx 版本,我们又需要的是稳定型态的 2.4.xx 版本,再由 http://www.kernel.org 网站资料上发现,截至目前为止( 2002/05/23 ),最新的核心是 2.4.18 这一个,所以,您可以前往下载这一个版本的核心,当然也可以由本站下载呢!嗯!底下的各个选项的择定,我们都是以这一个版本为例呦!需要非凡的注重!由于较新的核心版本可能会多出一些选项,因此若有不同的项目也没有关系!稍微查看一下说明内容就可以了解啦! · 核心下载地点: Linux 的核心目前是由其发明者 Linus 所属团队在负责维护的,而其网站在底下的站址上,在该网站上可以找到最新的 kernel 资讯!不过,美中不足的是目前的核心越来越大了( linux-2.4.18.tar.gz 这一版,这一个档案大约 30MB 了!),所以假如你的 ISP 连外很慢的话,那么使用台湾的映射站台来下载不失为一个好方法: o http://www.kernel.org/ o http://FTP.nsysu.edu.tw/Linux/Kernel/linux/kernel/ o 交大资科 o 教育部 基本上,就如同前面所说的,最好是在系统安装完毕之后马上就进行核心编译工作,免得以后每次装一些特定功能的时候又要花一大轮时间编译。另外要说明的,由于小弟是以 2.4.18 这一版的核心来做升级的动作,所以以下是以 2.4.18 来做示范!
开始设定核心的内容 由于 VBird 都是在安装完 Linux 之后马上就给他编译核心的,所以通常我都是直接将该核心档案烧录起来,或者是先捉到自己的电脑中,再以 ftp 等等的动作将该档案传输到 Linux 系统下!好了!目前我就假设您已经可以上网了,所以您可以使用底下的方式来下载核心,并将之解开在 /usr/src 当中!此外,由于编译核心的行为必须要是 root 才可以进行,所以底下的动作使用者身份为 root 呦!
需要比较留意的是,核心所放置的地点『一定是 /usr/src/linux 』这一个目录,然而由于不论哪一版核心编译都是这一个目录底下编译的,所以我个人相当的建议将每一版的核心都使用不同的目录来指定,然后以 link 的方式将该目录 link 到 linux 就可以啦!较为简单而且明了!底下的动作请都在 /usr/src/linux 底下进行呦! 另外,在开始设定核心内容之前,先来说明一下什么是『模组』?以方便大家了解核心编译的选择!由于核心的更新速度虽然很快,然而有些硬体的出版却是不定时的,另外,有些软体需要的载入程式可能也需要核心的支援才有办法提供!然而假如每次一有新的硬体或者软体推出,则需要编译一次核心,那不是挺麻烦的吗?要晓得的是,编译一次核心小一点的也要 30 分钟左右(这与你的机器速度有关!),每次这么编译不是挺麻烦的吗?所以啰,就有所谓的『模组』出现了!由于目前的核心已经都具有『外挂模组』的功能(这个等一下我们在实际编译的时候会提到!),所以,只要将您『可能会用到』的功能的选项,将他编译成模组!那么往后真的需要该功能的时候,再将他载入到核心就可以啦!这么做最大的优点就是,当没有使用到该功能的时候,核心并不会主动的载入,所以真正在核心内工作的程序就不会太多而耗掉系统资源!另外,当您目前不需要的功能可以先编译成模组,未来真的有需要的时候,就可以将他直接载入!嘿嘿!可以免除再一次编译的繁复手续呢!!很棒吧!所以啰!假如可以编译成为模组的,那么就直接先编成模组也是可以的哩!但是,假如是『肯定不会』使用到的功能,那么就不需要编译进来了!例如我的旧电脑当中根本就没有 AGP 插槽,那么我自然就不需要在我的核心里面编译上 AGP 的支援啰! · 编译之前: 在 Linux 当中安装任何软体的铁则:『注重看套件解压缩之后的 INSTALL 或 README 档案!』,好了,那么请进入 /usr/src/linux 当中去瞧一瞧 README 先!再来,由于害怕不小心前面有人已经先编译过了核心,则由于编译过程当中会产生目的档案(档名为 .o ),为了避免此一问题,请先执行 make mrPRoper 这个指令:
· 好了!现在您就已经具有相当完整的 Kernel source code 啰!接着下来则是选择编译模式咯! ·设定编译模式: 目前的 Kernel 可以答应多种编译的模式,包括了: o make config :这种模式需要逐行输入所需要设定的项目,无法往前修改设定,所以目前很少使用这种方式来设定 Kernel 的项目了; o make xconfig :这种模式则是使用 X-Window 为主要环境的设定模式!除非你有 X-Window 在执行,否则没有办法使用这种模式; o make menUConfig :这种模式有点像是文字界面的选单模式,较为简便,而且可以在纯文字界面下面执行编辑动作!是目前最常使用的模式。