文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何轻松升级CentOS内核

2023-06-16 20:38

关注

如何轻松升级CentOS内核,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

因要测试一些软件,需要2.6.30以上的内核,安装好CentOS  5.5,内核是2.6.18-194.el5.这次的升级还算比较顺利,具体的过程如下:

[root@localhost ~]# uname -r2.6.18-194.el5

1.下载linux-2.6.30内核包到/usr/src目录

cd /usr/srcwget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.tar.gztar -xzvf linux-2.6.30.tar.bz2 -C /usr/srccd linux-2.6.30make mrproper 清除环境变量,即清除配置文件make menuconfig 在菜单模式下选择需要编译的内核模块:

networking support—>networking options—>network packet filtering  framework(netfilter)

(1).core netfilter configuration

A 勾中”Netfilter connection tracking support” -m state相关模块是依赖它的,不选则没有。

B 将netbios name service protocal support(new) 编译成模块,不然后面升级iptables后启动时会出错

C 勾中“Netfilter Xtables support (required for ip_tables)”

(2).IP: Netfilter Configuration

A 将 “IPv4 connection tracking support (require for NAT)” 编译成模块。

B 勾中IP tables support (required for filtering/masq/NAT) 。

C 将 “Full NAT” 下的 “MASQUERADE target support” 和 “REDIRECT target support”  编译成模块

(3).其它模块可以根据自己的需要进行选择,若不懂可以参考内核配置手册.

make clean 确保所有东西均保持***状态.

make bzImage 生成内核文件

make modules 编译模块

make modules_install 安装模块

make install 安装

mkinitrd /boot/initrd_2.6.30.img 2.6.30 根据内核版本和指定参数生成映像文件

cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.30

cp /usr/src/linux-2.6.30/System.map /boot/System.map-2.6.30

2.在/etc/grub.conf添加如下2.6.30的信息,并把default=1改为default=0

[root@localhost ~]# cat /etc/grub.conf# grub.conf generated by anaconda## Note that you do not have to rerun grub after making changes to this file# NOTICE: You have a /boot partition. This means that# all kernel and initrd paths are relative to /boot/, eg.# root (hd0,0)# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00# initrd /initrd-version.img#boot=/dev/sdadefault=0timeout=5splashimage=(hd0,0)/grub/splash.xpm.gzhiddenmenutitle CentOS (2.6.18-194.el5)root (hd0,0)kernel /vmlinuz-2.6.18-194.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quietinitrd /initrd-2.6.18-194.el5.imgtitle CentOS (2.6.30)root (hd0,0)kernel /vmlinuz-2.6.30 ro root=/dev/VolGroup00/LogVol00 rhgb quietinitrd /initrd-2.6.30.img

3.此步若没有操作,重启会报错”insmod: error inserting ‘/lib/dm-region-hash.ko’: –1 File  exits”,原因是重复了,根据网上查到的资料,2.6.x自编译内核会有这个小bug,我测试过不修改直接重启,虽然有报错,但仍然可以进入系统的.

[root@localhost]cp /boot/initrd-2.6.30.img /tmp[root@localhost]cd /tmp/[root@localhost tmp]mkdir newinitrd[root@localhost tmp]cd newinitrd/[root@localhost newinitrd]zcat ../initrd-2.6.30.img |cpio -i[root@localhost newinitrd]vi init 删掉重复的如下两行:echo “Loading dm-region-hash.ko module”insmod /lib/dm-region-hash.ko[root@localhost newinitrd]# find .|cpio -c -o > ../initrd14765 blocks[root@localhost newinitrd]# cd ..[root@localhost tmp]# gzip -9 < initrd > initrd-2.6.30.img[root@localhost tmp]# lsgconfd-root initrd initrd-2.6.30.img mapping-root newinitrd scim-panel-socket:0-root[root@localhost tmp]# mv /boot/initrd-2.6.30.img /home/[root@localhost tmp]# cp initrd-2.6.30.img /boot/[root@localhost tmp]#reboot

4.重启成功后,再看看内核,是2.6.30,ok了。

[root@localhost ~]# uname -r2.6.30

看完上述内容,你们掌握如何轻松升级CentOS内核的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网行业资讯频道,感谢各位的阅读!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯