linux centos 内核升级

RPM方式升级

Kernel-lt 长期维护版(推荐)
Kernel-ml Linus亲自维护的主分支版本
CentOS6 x64

CentOS7 x64
CentOS7 x64

在这里插入图片描述

[root@newrain ~]# uname -a
Linux newrain 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 
x86_64 x86_64 GNU/Linux
# 在链接中下载对应的内核包
[root@newrain ~]# wget https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-lt-4.4.205-1.el7.elrepo.x86_64.rpm
# 安装
[root@newrain ~]# yum install -y kernel-lt-4.4.205-1.el7.elrepo.x86_64.rpm
# 查看当前内核的启动顺序
[root@newrain ~]# awk '$1=="menuentry" {print $2,$3,$4}' /etc/grub2.cfg
'CentOS Linux (3.10.0-514.el7.x86_64)
'CentOS Linux (0-rescue-8b99afb288c44ddfacf44a1c70405e6f)
# 修改配置文件 设置默认启动项,0是按menuentry顺序。比如要默认从第四个菜单项启动,数字改为3,若改为 saved,则默认为上次启动项。
[root@newrain ~]# sed -i "s/GRUB_DEFAULT=saved/GRUB_DEFAULT=0/g" /etc/default/grub
# 重写grub.cfg
[root@newrain ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
[root@newrain ~]# reboot
[root@newrain ~]# uname -a
Linux newrain 4.4.205-1.el7.elrepo.x86_64 #1 SMP Fri Nov 29 10:10:01 EST 2019 x
86_64 x86_64 x86_64 GNU/Linux

[root@newrain ~]# awk '$1=="menuentry" {print $2,$3,$4}' /etc/grub2.cfg   
'CentOS Linux (4.4.205-1.el7.elrepo.x86_64)
'CentOS Linux (3.10.0-514.el7.x86_64)
'CentOS Linux (0-rescue-8b99afb288c44ddfacf44a1c70405e6f)

源码方式升级

内核下载:kernel.org
名词解释

stable(稳定)
mainline(开发)
longterm(历史)

tarball:完整代码
pgp:验证签名
patch:补丁

makehelp支持更新模式进行配置
makemenuconfig基于curses的文本窗口界面
makegconfig基于GTK(GOME)环境窗口界面
makexconfig基于QT(KDE) 环境的窗口界面
makeoldconfig透过已经存在的./.config文件内容,并使用该文件内设定值为默认值,只将新版本核心的新功能列出让用户选择,可以简化核心功能挑选过程。对与升级内核很好选择。
makedefconfig基于内核为目标平台执行提供的“默认”配置进行配置
makeallyesconfig所有选项均回答为”yes”
makeallnoconfig所有选项均回答为”no”
makemrproper清理所有编译生成的文件、 config及某些备份文件
makeclean清理大多数编译生成的文件,但会保留config文件等
makedistcleanmrproper、 patches以及编辑器备份文件
# 准备编译环境

[root@newrain ~]#  yum -y groups install "Development Tools"   # 无法下载则跳过
[root@newrain ~]#  yum -y install ncurses-devel elfutils-libelf-devel bc openssl-devel.x86_64
[root@newrain ~]#  tar xvf linux-4.14.12.tar.xz
[root@newrain ~]#  cp /boot/config-3.10.0-693.el7.x86_64 /root/linux-4.14.12
[root@newrain ~]#  cd /root/linux-4.14.12/
[root@newrain ~]#  make menuconfig  # 如果报错则将终端放大
[root@newrain ~]#  make
[root@newrain ~]#  make modules_install
[root@newrain ~]#  make install
cat /boot/grub2/grub.cfg |grep Core
[root@newrain ~]# sed -i "s/GRUB_DEFAULT=saved/GRUB_DEFAULT=0/g" /etc/default/grub
# 重写grub.cfg
[root@newrain ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
[root@newrain ~]# reboot
[root@newrain ~]# uname -a
[root@newrain ~]# uname -r
4.4.206
[root@newrain ~]# hostnamectl 
   Static hostname: newrain
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 8b99afb288c44ddfacf44a1c70405e6f
           Boot ID: 8e995f1faf184a4d8e4d1f7536050cc6
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 4.4.206
      Architecture: x86-64

卸载内核

[root@newrain ~]#  cd /boot/
[root@newrain ~]#  rm -rf *-4*  # 谨慎,一般不进行
[root@newrain ~]#  vim /boot/grub2/grub.cfg
[root@newrain ~]#  reboot
[root@newrain ~]# uname -r
3.10.0-514.el7.x86_64

内核补丁

RT补丁
内核源码

以3.18.69版本举例:

# 下载补丁文件
wget https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/3.18/older/patch-3.18.69-rt75.patch.gz
# 下载内核文件
wget https://mirrors.edge.kernel.org/pub/linux/kernel/v3.x/linux-3.18.69.tar.gz

# 解压两个文件
gunzip -d patch-3.18.69-rt75.patch.gz
tar xvzf linux-3.18.69.tar.gz

# 将补丁文件放到内核目录中
mv patch-3.18.69-rt75.patch  linux-3.18.69
patch -p1 < patch-3.18.69-rt75.patch
使用zcat命令可以在不解压的情况下给内核打补丁
zcat patch-3.18.69-rt75.patch.gz | patch -d linux-3.18.69 -p1
查看linux-3.2.4目录下的Makefile文件,如果VERSION = 3,PATCHLEVEL = 2,SUBLEVEL = 4则表明打补丁成功。

编译内核 
cd linux-3.18.69
make -j 2

make modules_install 
make install  
cd /boot
mkinitramfs -k -o initrd.img-3.18.69-rt 3.18.69-rt75
编译时间两小时左右
重启后选择新的补丁
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值