红联Linux门户
Linux帮助

RF6.3升级内核到2.6.35.4

发布时间:2010-09-25 11:16:53来源:红联作者:okzokz123
前言:本次升级内核原方法是从网络上获得(2.4内核到2.6内核;RF6.3是2.6版本内升级)经由本人多次试验并做了相应修改目前在RF6.3两个版本里都已升级通过并完美运行,其中如果有不正确的步骤请指出,RF6.3是支持EFI的,本人未在EFI机器上试验。本贴将在本社区和linux人红旗版块一同发布。请有按本贴升级成功的回来顶贴。 源码下载http://www.kernel.org/


1 编译内核需要root权限
ncurses-dev 编译之前需要安装这包(RF6.3不需再安)
2 内核拷贝到/usr/src/下
#cp linux-2.6.35.4.tar.bz2 /usr/src
3 解压缩下载的内核源程序
#tar xjf linux-2.6.35.4.tar.bz2
4.建立符号链接
#cd /usr/src
#ln -s linux-2.6.35.4 linux
5 删除所有配置文件和*.o文件
#cd linux
#make mrproper
配置内核命令
#make config 基于文本最为传统
#make menuconfig 基于文本选单
#make xconfig 基于图形界面(英文太多看不懂使用默认吧 看懂英文也要对硬件相当了解才行 记得按保存键)
#make oldconfig 基于原来内核小修改
Y- 将该功能编译进内核
N- 不讲该功能编译进内核
M- 将该功能编译成在需要时动态插入到内核中的模块
以下是第一次升级内核,使用make menuconfig命令,根据需求进行不同的选择
make menuconfig //出现图形配置界面,可根据自己需求选择不同的选项(看不懂移动到最下面选倒数第二项退出并保存)
6 设定依赖关系
cd /usr/src/linux
make dep
7 确定源代码没有文件
make clean
8 编译内核,默认没选第1个
1)make bzImage (避免编译出来的内核庞大)
2)make zImage (编译时产生的内核大)

9 编译内核模块
make modules

注:同为2.6内核中 8和9可合并为make (如果安完不能启动一般是在/boot/中缺少vmlinuz-2.6.35.4这个文件 ,
可在13步执行完后再回到安装目录下make inatall一次,如此可跳过不执行后面第14步直接重启,或用老内核启动到/usr/src/linux/下make instll即可)

10 安装编译的模块
make modules_install
11 创建模块的链接
depmod -a
12 创建新的连接
cp System.map /boot/System.map-2.6.35.4
cp arch/i386/boot/bzImage /boot/vmlinuxz
13 新映像文件创建
cd /boot/
new-kernel-pkg --mkinitrd --depmod --install 2.6.35.4 必须与/lib/modules/目录下相应的文件夹同名

14 修改grub或LILO
vi /boot/grub/menu.lst
找到 对应的以下4行,并进行修改如下
title Red Flag Desktop (2.6.31-5_1)[本机已通过YUM升级一次] //下面的也这样修改即可,根据上面产生的文件名对应
root(hd0.0)kernel /boot/vmlinuxz ro root=LABEL=/ rhgb quiet //查看对应/boot目录下的对应文件名vmlinuxz
initrd /boot/initrd-2.6.35.4.img //initrd-2.6.35.4.img 可以查看 /boot目录下的对应文件名initrd-2.6.35.4.img
15 init6 重启
开机选项多出了2.6.35.4内核选项,选择进入Linux

附加内容:
如果只需要升级一个版本
修补文件放置位置
Linux-2.6.35.1升级到linux-2.6.35.4
#cd /usr/src
#gzip -cd patch-2.6.35.4.gz|path -p0
重新编译内核

升级注意事项:
1注意阅读联机文档,弄清楚选项的每个正确航意后再进行选择
2用不到的驱动要尽可能的删除
3对于属于“evelopment”"experimental" "debugging"选项 一般选择“N”这样生成的内核将更加稳定
4对于内核配置的局部修改可以使用“make oldconfig”这样速度会快一些
5 2.6版内核的配置过程会发现新增或改动功能
6 ALSA是更为改进的声音系统,对于拥有好的声卡和好的音级用户必须安

简化步骤:
首先复制源码包到具有root权限的目录下(为了安全起见)
1 tar xjf XXXX.tar.bz2 (解压这个不多说了只是注意你下载的内核压缩属性以修改解压参数)
2 ln -s xxxx xxx (此后3--11操作在目录xxx里进行)
3 make mrproper (删除所有配置文件和*.o文件)
4 make xconfig (编译前的配置)
5 make dep (设定依赖关系)
6 make clean (确定源代码没有文件)
7 make (编译源码 非常耗时可以出去打酱油了)
8 make modules_install (安装编译好的模块)
9 depmod -a (创建模块的连接)
10 cp System.map /boot/System.map-xxxx (xxxx为版本号)
11 cp arch/i386/boot/bzImage /boot/vmlinuxz (10和11是创建新的连接)
12 cd /boot/ (此时改变工作路径到boot)
13 new-kernel-pkg --mkinitrd --depmod --install 2.6.35.4 必须与/lib/modules/目录下相应的新内核文件夹同名(创建新镜像文件)
14 make installl (回到原make目录即前面的XXX目录下再次安装加入vmlinux-2.6.35.4并自动生成启动菜单)
15 reboot (你可以使用新内核的系统了)
文章评论

共有 8 条评论

  1. okzokz123 于 2010-10-28 10:27:06发表:

    关于内核配置,个人以为不要被kernel众多选项所迷惑,只要清楚自己的机器配置,如CPU型号,主板芯片组具体型号采用的那些芯片,你希望达到哪些功能配置。了解这些就够了。具体比如选择CPU类型和工作节能模式...关于是否有SCSI设备,选取对应的声卡网卡驱动,文件系统对于NTFS支持,网络连接模式,NAT及SMB支持........不必所有的都选上,默认kernel配置比较保守但一般也可以正常工作。

  2. hxues 于 2010-10-05 09:15:51发表:

    高人详细讲一下如何配置?

  3. xbonline 于 2010-09-28 22:52:41发表:

    大,哥,说说新 内核的新功能或改进啊。

  4. 王中云 于 2010-09-26 08:00:53发表:

    学习

  5. mikeli 于 2010-09-25 17:15:12发表:

    好东西,收藏了。

  6. xvnera 于 2010-09-25 11:48:08发表:

    向高人学习

  7. gzl1100 于 2010-09-25 11:47:44发表:

    简化步骤:
    1、进入安装kernel目录 $cd /usr/src/
    2、解压kernel $tar xvf kernel.tar.gz
    3、进入kernel $cd kernel
    4、清理kernel $make mrproper
    5、配置 $make menuconfig
    6、编译 $make
    7、安装 $make modules_instal && make install
    8、重启 $reboot
    配置有3种方法:
    1)make menuconfig(类似DOS界面)
    2)make xconfig(图形界面)
    3)make oldconfig(字符界面)

  8. gzl1100 于 2010-09-25 11:42:31发表:

    我要说的是:安装LFS文档的建议,现在的kernel不建议使用软链接的。(即:ln -s xxx xxx)