分享
 
 
 

核心(Kernel)编译与Lilo多重开机

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

运作的更顺畅!

然而由于『核心的主要工作是在控制硬体!』所以编译核心之前,请先了解一下您的硬体配备,与您这部主机的未来功能!由于核心是『越简单越好!』所以只要将这部主机的未来功能给他编进去就好了!其他的就不用去理他啦!

核心的版本与何处下载最新核心

请特别留意!不同版本的核心之间,最好不要互相升级!否则及容易发生问题!例如: 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 连外很慢的话,那么使用台湾的映射站台来下载不失为一个好方法:

ohttp://www.kernel.org/

ohttp://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 :这种模式有点像是文字界面的选单模式,较为简便,而且可以在纯文字界面下面执行编辑动作!是目前最常使用的模式。

我们就使用 make menuconfig 来进行核心的编译设定内容吧!这个选单模式较为简单的啦!

出现如下图示:

因为我是以 putty 捉的图,所以有点丑丑的!别见怪呦!好了!看到上面的图示之后,可以看到几个元件:

o最底下的 :可以使用『左右键』来移动蓝色部分的游标;

o上下键可以移动上面蓝色部分的 Code maturity level options 那一行!,有箭头『 --- 』则表示该行内部还有其他细项需要来设定的意思。

o当以『上下键』选择好想要设定的项目之后,并以『左右键』选择 之后,按下『 Enter 』就可以进入该项目去作更进一步的细部设定?!

o在细部项目的设定当中,如果前面有 [ ] 或 符号时,该项目才可以选择,而选择可以使用『空白键』来选择;

o若为 [*] 则表示编译进核心;若为 则表示编译成模组!尽量在不知道该项目为何时,且有模组可以选,那么就可以直接选择为模组?!

o当在细项目选择 后,并按下 Enter ,那么就可以离开该细部项目?!

基本上建议只要『上下左右 空白 及 Enter 』这六个按键就好了!不要使用 Esc ,否则一不小心就有可能按错的!

?开始设定:

[root @test linux]# make mrproper

[root @test linux]# make menuconfig

底下开始编译!

Code maturity level options

---

[ ] Prompt fo

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有