Linux升级内核

  1. 1. Debian/Ubuntu
  2. 2. CentOS

资源为vultr上的一台VPS,目标在于实现个人用途的服务器

Debian/Ubuntu

最新内核查看这里:

Debian Kernel

Ubuntu Kernel

下载最新内核

1
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15/linux-image-4.15.0-041500-generic_4.15.0-041500.201801282230_amd64.deb

安装内核

1
dpkg -i linux-image-4.15.*.deb

删除其余内核或调整内核启动顺序

1
2
dpkg -l|grep linux-image 
apt-get purge 旧内核

也可以不调整内核启动顺序,ubuntu 跟debian 都会默认4.15.x启动的。

更新 grub 系统引导文件并重启

1
2
update-grub
reboot

CentOS

http://elrepo.org/tiki/tiki-index.php

1
2
3
4
5
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
yum install yum-plugin-fastestmirror
yum --enablerepo=elrepo-kernel install kernel-ml
grub2-set-default 0

yum install -y ncurses-devel elfutils-libelf-devel bc # 安装需要的软件

1
截至至发稿日,[www.kernel.org](https://www.kernel.org/)最新的Stable Kernal为4.15.1,于是有了一下命令:

wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.15.1.tar.xz –no-check-certificate #下载内核,并忽略验证证书
tar -xvf linux-4.15.1.tar.xz #解压内核
cd linux-4.15.1

1
2
3
4
5

如果是第一次编译内核则可以跳过不执行下面步骤。
删除之前编译所生成的文件、配置文件和备份文件等。
与之相似的命令还有 make clean、make distclean。
删除范围是distclean > mrproper > clean。

make mrproper

1
2

查看一下当前的内核

uname -a

1
于是有了下面的命令,其他人请根据自己的环境自行修改。

cp /boot/config-3.10.0-693.11.6.el7.x86_64 .config
sh -c ‘ y“” | make oldconfig’ #centos7中使用这个命令
make menuconfig #这里我用的是menuconfig,有图形化界面比较方便,这里界面弹出来之后直接exit就好。
make #编译内核,3.10的版本内核直接make就好了,老版本的内核可能要分别执行几个命令。这一步时间要比较久。
make modules
make modules_install
make install
[root@docker-dev linux-4.9.39]# awk -F' ‘$1==”menuentry “ {print $2}’ /etc/grub2.cfg
[root@docker-dev linux-4.9.39]# grub2-set-default 0 && init 6

1
2

完事重启,检查是否为新的内核

uname -a



centos 6.x是通过/etc/grub.conf就行内核启动顺序修改的,而且比较直观查看。但centos 7的系统和6就不一样了,是通过grub2为引导程序。下边简单说下centos 7的内核启动顺序如何修改。
1,首先查看当前系统有几个内核。比如:

cat /boot/grub2/grub.cfg |grep menuentry


2,设置默认的启动内核,选择CentOS Linux (4.12.0-rc5)7 (Core)这个内核为默认启动。

grub2-set-default "CentOS Linux (3.10.0-327.el7.x86_64)7 (Core)


验证是否修改成功:grub2-editenv list


3,重启机器观察。
重启成功以后查看下机器的内核是不是该内核:

在虚拟机启动的时候出现多个内核引导项,选第一个进入系统


进入系统后查看内核版本,成功升级成4.12