概述
主要参考文档:
http://blog.csdn.net/hfw_1987/article/details/5356964
在使用rhel中,我们时常会遇到内核对某一功能件的支持,比如我现在的内核不支持ntfs格式的文件系统,而我却想挂载我本地ntfs的硬盘,这种情况下就需要重新编译内核,将ntfs的支持模块添加到内核中去。又或者,新内核中增加了其他高级模块,需要对内核进行升级,这就用到了rhel内核的编译升级。在aix中,实现了内核的模块化,所以若想在内核中增加新模块,只需要编译安装特定的模块就可以了,不需要重新启动。而rhel中却必须重新编译安装整个内核。
编译安装过程
1、使用命令uname -r查看当前内核版本号2、进入 https://www.kernel.org/下载要安装的内核包。
下载格式为tar.xz。
首先需要使用xz -d命令解压,若系统中没有xz命令,可下载对应的安装包,进行编译安装或者yum安装。
然后使用tar -xvf 命令解包。网上流传的版本都是把这些包的解压解包放置在/usr/src目录下进行,应该不是必须条件,未做测试。
3、进入内核包解压缩后的目录下,执行make menuconfig
这一步打开一个配置内核模块的图形界面,可以对内核模块进行定制。
4、修改.config文件
在内核包解压缩后的目录下,执行vi .config。
文件内搜索CONFIG_SYSFS_DEPRECATE_V2。修改行
#CONFIG_SYSFS_DEPRECATED_V2 is not set为CONFIG_SYSFS_DEPRECATED_V2=y。
若不修改此行,则编译重启后无法加载VG,从而导致系统无法启动。
5、执行make all开始编译内核。此过程需要时间较长。
6、make modules_install。安装加载模块。
7、make install。安装内核。
8、进入/boot/grub目录,修改grub.conf文件,修改"default=0"使得默认启动过程中加载新内核。
9、reboot重启。
重启成功即可使用新内核。
此外,在重启过程中会报错:
insmod: error inserting ‘/lib/dm-region-hash.ko’: –1 File exits去除这个报错的方法参见: http://hi.baidu.com/linuxnature/item/345ae55bad1f2ac59e266787
我使用的是vmware虚拟机环境,在升级完新内核后,还需要执行
vmware-config-tools.pl重新配置vmware-tool。
此脚本位于/usr/bin目录下,另外,此目录下还有vmware-tool的几个其他维护工具,如卸载工具、vmware-toolbox配置界面等。
最后
以上就是重要金针菇为你收集整理的rhel升级内核过程的全部内容,希望文章能够帮你解决rhel升级内核过程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复