编译过后的内核实际上是通用的,所以可以把debian的linux内核移植到CentOS 7,实现懒人版的内核升级。
众所周知,两个发行版最大的区别就是包管理器不一样。debian采用deb包,而redhat采用rpm包,虽然有区别,但两者本质上都是压缩包,所以需要解压来手动安装。
一、下载内核二进制包
wget http://mirrors.kernel.org/debian/pool/main/l/linux/linux-p_w_picpath-4.9.0-rc8-amd64-unsigned_4.9~rc8-1~exp1_amd64.deb
二、解压安装
ar x linux-p_w_picpath-4.9.0-rc8-amd64-unsigned_4.9~rc8-1~exp1_amd64.debtar -Jxf data.tar.xzinstall -m644 boot/vmlinuz-4.9.0-rc8-amd64 /boot/vmlinuz-4.9.0-rc8-amd64cp -Rav lib/modules/4.9.0-rc8-amd64 /lib/modules/depmod -a 4.9.0-rc8-amd64
三、加入引导
dracut -f -v --hostonly -k '/lib/modules/4.9.0-rc8-amd64' /boot/initramfs-4.9.0-rc8-amd64.img 4.9.0-rc8-amd64grub2-mkconfig -o /boot/grub2/grub.cfg
四、修改引导顺序
1. 查看引导内有哪些内核
cat /boot/grub2/grub.cfg |grep menuentry
输入结果:
[root@centos-512mb-sgp1-01 ~]# cat /boot/grub2/grub.cfg |grep menuentry if [ x"${feature_menuentry_id}" = xy ]; then menuentry_id_option="--id" menuentry_id_option=""export menuentry_id_optionmenuentry 'CentOS Linux (4.9.0-rc8-amd64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-4.9.0-rc8-amd64-advanced-508f0c60-8ce4-48fa-a00e-8db45fa56da8' {menuentry 'CentOS Linux (3.10.0-327.36.3.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.36.3.el7.x86_64-advanced-508f0c60-8ce4-48fa-a00e-8db45fa56da8' {menuentry 'CentOS Linux (0-rescue-d45b6a27fe9641bd8979101342a4f20b) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-d45b6a27fe9641bd8979101342a4f20b-advanced-508f0c60-8ce4-48fa-a00e-8db45fa56da8' {
2.配置从默认内核启动,下面命令的内核名称根据系统内部查到的实际名称来替换:
grub2-set-default 'CentOS Linux (4.9.0-rc8-amd64) 7 (Core)'
3.验证是否配置成功:
grub2-editenv list
输入结果:
saved_entry=CentOS Linux (4.9.0-rc8-amd64) 7 (Core)
重启就可以完成更新内核了!
原文出自: