>> 欢迎您, 傲气雄鹰: 重登陆 | 退出 | 注册 | 资料 | 设置 | 排行 | 新贴 | 精华 | 管理 | 帮助 首页

  小榕软件实验室
  刀光雪影
  Linux 核心重编与升级
发表文章 发表涂鸦
  回复数:4  点击数:216 将此页发给您的朋友        
作者 主题: Linux 核心重编与升级 回复 | 收藏 | 打印 | 篇末
扑街帅哥哦
级别:管理员
威望:4
经验:134
货币:6128
体力:100
来源:青山精神病院
总发帖数:2271
注册日期:2001-07-23
查看 邮件 主页 QQ 消息 引用 复制 下载 

Linux 核心重编与升级



1. Linux核心提供什么功能

Linux 核心是一个档案(/boot/vmlinuz for most case)

核心支援各项电脑硬体配备,让所有程式可以透过核心与电脑硬体沟通。

有效率的核心必须与电脑状况(硬体周边)配合

核心提供周边硬体驱动程式:网路卡、音效卡、SCSI卡等

通讯协定:TCP/IP、PPP、Router等

核心提供档案系统支援:ext2、umsdos、iso9660...

核心提供记忆体管理、多CPU平行处理....



2.Linux核心重编(Make Kernel)与升级有何不同

核心重编利用原始码重新编译,目的在打造一个新核心(不一定是新版)

核心升级利用新版本原始码,以编译方式,产生一个新版的核心

核心升级必须经过核心重编的程序



3.Linux核心何时需要重编

为核心瘦身,去除原有核心支援但用不到的功能时

新增原有核心不支援的功能(包括模组)时

修正旧有核心错误(例如核心无法开机)时

核心升级时



4.Linux核心何时需要升级

旧版核心可能错误的修正(Bug Fix)

新周边设备或系统功能无法由旧版核心取得支援时

核心版本落后太多时



5.新版Linux核心何处取得

官方(Official)Kernel ftp Site
ftp://ftp.kernel.org

Linux HeadQuarters
http://www.linuxhq.com

国内收集kernel网站
ftp://ftp.mgt.ncu.edu.tw/Linux/kernel
ftp://ftp.nsysu.edu.tw/Linux/metalab.unc.edu/kernel.org/pub/linux/kernel
ftp://ftp.ccu.edu.tw/pub3/linux/kernel.org-pub/linux/kernel



6.Linux核心版本编号所代表的意义

Linux核心版本编号格式为:major.minor.patchlevel
major : 主要版本编号,极少变动
minor : 次要版本编号,这是Linux核心版本的血统
patchlevel : 目前核心(次要)版本的修补编号

"uname -a" 可以读取目前新的版本及核心重编的时间
Linux nmc.nchu.edu.tw 2.2.15 #1 Wed May 31 10:56:54 CST 2000 i586 unknown
代表核心版本为2.2.15,核心重编的时间为10:56:54 05/30/2000

单号的次要版本表示测试版,双号代表正式(稳定)版本


7.Linux核心升级方式有哪些

直接由新版本核心原始档,重编核心
优点:直接升级至该核心版本
缺点:你必须较多时间下载整个核心的原始档(压缩过2.2.15的核心原始档约16MB大小)
适合作较大幅度的版本提升,例如 2.2.6 --> 2.2.15

修补核心原始档(Patch)
利用这种方式升级,你所需要修补的次数为新版本与旧版本的版本修补次数编号差。例如:由2.2.12升级至2.2.15,你必须下载patch-2.2.13、patch-2.2.14及patch-2.2.15,并逐一修补后,再行编译核心。修补的方式如下(:
####首先你必须将patch file复制至/usr/src中
#cd /usr/src
#gzip -cd patch-2.2.13.gz | patch -p0
#gzip -cd patch-2.2.14.gz | patch -p0
#gzip -cd patch-2.2.15.gz | patch -p0
接著你就可以开始重编核心了。
优点:Patch File一般比全部核心原始档小很多(每一个Patch大小由数百KB到1 MB左右不等),下载较快。
缺点:版本差距过大不适合以此方式升级。




8.重编核心

前置作业 备份旧有核心
#cp /boot/vmlinuz /boot/vmlinuz.2.2.12

取得新核心压缩档(ex.linux-2.2.15.tar.gz),或修补程式档(Patch)(ex.patch-2.2.13.gz, patch-2.2.14.gz, & patch-2.2.15.gz)

备份/usr/src/linux
一般linux只是一个符号链结,你可以直接将之移除

将压缩档在/usr/src下解开
#tar zxvf linux-2.2.15.tar.gz
#mv linux linux-2.2.15
#ln -s linux-2.2.15 linux

Change Directory To /usr/src/linux




重编核心的步骤 (以2.2.12升级至2.2.15为例)

1.make mrproper
在linux目录下执行"make mrproper",此一步骤目的在清除不稳定目的档(.o),确保核心重编时顺利成功。这个步骤在修补核心(patch)后重编核心时,为重要且必要。


2.make config (make menuconfig, make xconfig)
这是重编核心时极重要的一个步骤,你必须针对系统现况,回答上百个问题,错误的选项可能导致核心无法使用。
选像设定方式有三种:"make config"、"make menuconfig"及"make xconfig";"make config"采交谈式一问一答;"make menuconfig"在文字模式下,采选单方式设定核心选项;"make xconfig"则是在图形模式(X-Window)下的选单设定模式。
当你完成冗长的设定程序之后,如果未指定设定内容储存档名,你的设定将会被储存在./usr/src/linux/arch/i386/defconfig中,下次重编核心时,这就是你的预设(default)选项来源。


3.make dep
这个步骤帮你设定所的附设档案,确保include file的相依关系。


4.make clean
清除旧系统核心与driver,如果你第一次重编核心,你可以略过这个步骤。


5.make zImage
编制一个新的核心,如果你的心核心大小超过640KB,你必须改用"make bzImage"。
如果你希望编制新核心的过程中,顺带制作一个开机片,你可使用"make zdisk" or "make bzdisk"(if new kernle is larger than 640KB)。
这个步骤所需时间约20~40分钟不等(or longer),端视你系统CPU与RAM数量而定。编译成功后,新核心位置在/usr/src/linux/arch/i386/boot/zImage or /usr/src/linux/arch/i386/boot/zbImage。


6.改变系统使用之核心
#cp /usr/src/linux/arch/i386/bzImage /boot/vmlinuz-2.2.15
#cd /boot
#ln -s /boot/vmlinuz-2.2.15 /boot/vmlinuz
###请确定你原有核心以备份。(如前置作业所述)
如果你为使用lilo开机,你必须在编译核心时制作开机片,或直接用"dd"将核心载入磁片中,以便开启新系统。


7.编译系统模组
#make modules
#make modules_install
你必须执行此一步骤,否则你的心核心将无法使用你的旧模组。新的模组将会被安装至/lib/modules/2.2.15目录下。


8.更新System.map
#cp /usr/src/linux/System.map /boot/System.map-2.2.15
#rm /boot/System.map
#ln -s System.map-2.2.15 System.map
每一版本的系统核心都有其特有的系统功能映射档System.map,以定义该版核心的所有功能资讯。


9.编辑lilo.conf,保留旧核心开机选项
没有人可以保证编辑的新核心一定可以开启系统,保留旧核心开机选项是一个保险做法。你的lilo.conf修改之后大约会像以下的内容:


boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
default=linux

image=/boot/vmlinuz
label=linux
read-only
root=/dev/hda1

image=/boot/vmlinuz-2.2.12-20
label=linux.old
read-only
root=/dev/hda1


执行过lilo -v -v -v之后你就可以准备重新开启新核心了。(By Reboot System)


10.uname -a 
检查新核心版本。(After Reboot)
[root@nmc ~]# uname -r
2.2.15 --> Kernel is now 2.2.15

嘎嘎,对任何一种LINUX都有用&内核几多都一样~!








[ 此消息由 19821119 在 2002-10-13.18:49:30 编辑过 ]
----------------------------------------------------------
今生无缘,泪如雨下,我试着忘记红尘中你留下的故事,可数日以来我始终无法走出你曾给我的感情世界,我深知让往事随风不是说说那么容易的. 天空下我们彼此站成了两个无法相溶的世界我却又总想忍住悲伤,而思念像穿透了灵魂一般不可抑制

编辑 删除 发表时间发表于 2002-10-13.18:02:06   MSIE 6.0b Windows 98IP: 已记录
扑街帅哥哦
级别:管理员
威望:4
经验:134
货币:6128
体力:100
来源:青山精神病院
总发帖数:2271
注册日期:2001-07-23
查看 邮件 主页 QQ 消息 引用 复制 下载 

我晕!!!小孩子你乱改文章标题干嘛???只是给痞菜看看噶!!哪里有投诉的,我要打12315消费电话。。。嘎嘎~
----------------------------------------------------------
今生无缘,泪如雨下,我试着忘记红尘中你留下的故事,可数日以来我始终无法走出你曾给我的感情世界,我深知让往事随风不是说说那么容易的. 天空下我们彼此站成了两个无法相溶的世界我却又总想忍住悲伤,而思念像穿透了灵魂一般不可抑制

编辑 删除 发表时间发表于 2002-10-13.18:56:19   MSIE 6.0b Windows 98IP: 已记录
19821119帅哥哦
级别:管 理 员
威望:3
经验:0
货币:6
体力:-0.0437
来源:19821119
总发帖数:1801
注册日期:2002-01-29
查看 邮件 主页 QQ 消息 引用 复制 下载 

原文由 扑街 发表:
我晕!!!小孩子你乱改文章标题干嘛???只是给痞菜看看噶!!哪里有投诉的,我要打12315消费电话。。。嘎嘎~


欢迎投诉邮箱: dansnow@21cn.com 欢迎指正!
----------------------------------------------------------
19821119 19821119 19821119 19821119 19821119 19821119 19821119 19821119 19821119 19821119 19821119 19821119 19821119 19821119 19821119 19821119 19821119 19821119 19821119 19821119 19821119 19821119 19821119 19821119 19821119 19821119 19821119 19821119 19821119 19821119

编辑 删除 发表时间发表于 2002-10-13.19:03:48   MSIE 5.0 Windows 98IP: 已记录
痞菜帅哥哦
级别:管理员
威望:9
经验:18
货币:99999
体力:100
来源:不知道
总发帖数:2602
注册日期:2001-04-13
查看 邮件 主页 QQ 消息 引用 复制 下载 

????????
----------------------------------------------------------

哈哈

编辑 删除 发表时间发表于 2002-10-16.04:52:07   MSIE 5.01 Windows 2000IP: 已记录
wendy帅哥哦
级别:精灵王
威望:0
经验:0
货币:1991
体力:73.3
来源:bbs.ccxx.net
总发帖数:985
注册日期:2002-03-11
查看 邮件 主页 QQ 消息 引用 复制 下载 

恭喜几天没来
不错马!
扑街


管 理 员
----------------------------------------------------------
hacker精神只是从各行各业中的最优秀精神的结晶,以此更正大家对它的认识!

欢迎到bbs.wwenglish.org

交流英语 或网络技术

编辑 删除 发表时间发表于 2002-10-16.22:26:26   MSIE 5.0 Windows 98IP: 已记录
选择回复        
 快速回复主题: >>>高级模式
  用户名: 没有注册? 密码: 忘记密码?
记住密码
HTML语法
禁止IDB代码
禁止表情字符

[按 Ctrl+Enter 快捷键可直接提交帖子]
 投票评分: 共 0 票  
所有时间均为: 北京时间 ↑TOP 
关闭主题 拉前主题 移动主题 主题置顶 取消置顶 总固顶主题 取消总固顶 加入精华 移出精华 删除主题