资源为vultr上的一台VPS,目标在于实现个人用途的服务器
Debian/Ubuntu
最新内核查看这里:
下载最新内核
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 | dpkg -l|grep linux-image |
也可以不调整内核启动顺序,ubuntu 跟debian 都会默认4.15.x启动的。
更新 grub 系统引导文件并重启
1 | update-grub |
CentOS
http://elrepo.org/tiki/tiki-index.php
1 | rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org |
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 |
|
make mrproper
1 |
|
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 |
|
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