内核升级前的准备工作:
Linux系统进行内核升级或定制内核时需要安装GCC编译工具、make编译器,同时变异内核需要root权限。
安装GCC编译环境参考:www.fengwenxuan/rhelinux/248.html
操作系统:RHEL 5.5
开始安装:按照以下顺序安装所需要的包就可以完成GCC的安装了
1. rpm -ivh kernel-headers-2.6.18-194.el5.i386.rpm
2. rpm -ivh glibc-headers-2.5-49.i386.rpm
3. rpm -ivh glibc-devel-2.5-49.i386.rpm
4. rpm -ivh libgomp-4.4.0-6.el5.i386.rpm
5. rpm -ivh gcc-4.1.2-48.el5.i386.rpm
6. rpm -ivh libstdc++-devel-4.1.2-48.el5.i386.rpm
7. rpm -ivh gcc-c++-4.1.2-48.el5.i386.rpm
8. rpm -ivh ncurses-5.5-24.20060715.i386.rpm
9. rpm -ivh ncurses-devel-5.5-24.20060715.i386.rpm
注意:在升级编译完内核,重启后提示如下错误信息:
RedHat nash Version 5.1.19.6 startingrver(2.6.33.3)
mount: could not find filesystem ‘/dev/root’
setuproot: moving /dev failed: No such file or directory
setuproot: error mounting /proc: No such file or directory
setuproot: error mounting /sys: No such file or directory
switchroot: mount failed: No such file or directory
Kernel panic – not syncing: Attempted to kill init!
[Linux-initrd @ 0x1fc37000,0x228585 bytes]
于是在网上了很多,也尝试了很多加模块、重编译了N次、改fstab等方法,都不行。最后在一个网站上到解决方法。
方法:编译时修改.config文件中的“CONFIG_SYSFS_DEPRECATED_V2”,默认该选项为not set,被注释掉的,将其改为y。即修改为“CONFIG_SYSFS_DEPRECATED_V2=y”,修改后,再编译,重启即正常了。
内核升级命令:
make mrproper                  清理源代码树
make menuconfig                配置内核支持硬件参数
vim .config
make dep                        设定依赖关系
make bzImage                    编译内核
make modules                    编译可加载内核模块
make modules_install              安装编译的模块
make install                      安装新内核
vim /f                编辑开机菜单选项grub文件
下面是我的系统信息:
————————————-
Red Hat Enterprise Linux 5.5
kernel2.6.18-194.el5
————————————-
注意:内核升级有风险,可能会影响现有的应用程序。但是只要做好准备,就能将危险性降到最低。进行内核升级对应用程序运行的兼容性、稳定性等等都有好处。
下面进行内核升级:
1.使用命令uname  –r 查看自己linux系统的内核版本
2.进入解压后的内核源码包目录,接着使用命令 make mrproper ,命令的作用是在每次配置并重新编译内核前需要先执行 make mrproper”命令清理源代码树,包括过去曾经配置的内核配置文件“.config”都将被清除。即进行新的编译工作时将原来老的配置文 件给删除到,以免影响新的内核编译。
3.使用make menuconfig 命令,进行内核定制,选择自己想要的功能,这里以编译内核,让linux内核支持ntfs文件系统为例来讲解,具体过程见图:
4.调出文字界面的配置菜单,接下来选择文件系统选项:
5.敲回车后,继续选择能支持windows文件系统类型的选项
6.最后选择我们需要的NTFS文件系统类型,编译到内核模块里,并且选择exit退出:
7.最后选择退出:
8.选择yes,保存新的内核配置文件:
linux下gcc编译的四个步骤9.看一下生成的.config文件的位置和属性
10.在编译内核之前,需要使用“make dep”命令生成内核功能间的依赖关系,为编译内核做好准备。
11.使用“make bzImage”命令进行内核编译,编译过程将持续相当长的时间(20分钟以上),请耐心等候。
12.使用“make modules”命令编译内核模块,编译过程将持续相当长的时间(30分钟以上),请耐心等候。
13.内核模块编译好后需要安装到Linux系统的相应目录中才可以使用,使用“make modules_install”命令安装内核模块。“/lib/modules/”目录用于存放Linux系统中的内核模块,内核的各个版本都在该目录下建有子目录用于存放内核模块。
14.使用“make install”命令安装新内核到系统中,并且自动为是用新内核作必要的配置。
15.查看编译成功后,在/boot/目录下会生成vmlinuz-2.6.23.9 的文件和能看到/boot/f里的启动项。
16./lib/modules/2.6.23.9/kernel/fs 目录下查看新生成的支持NTFS文件系统的内核模块。
17.vim /f          #编辑开机菜单选项grub文件
18.重启计算机,看到开机画面后,敲回车键选择新的内核引导系统。
19.进入系统后可以使用“uname -r”查看新内核版本,至此内核编译已经成功完成。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。