1.下载linux源码 http://ftp.sjtu.edu.cn/sites/ftp.kernel.org/pub/linux/kernel/
/*RFC标准文档 https://www.ietf.org/rfc/*/
2.查看并拷贝当前系统的config文件,因为linux源码中很多代码是要跑在硬件上的,很多不必要的代码不需要编译
cd /lib/modules/4.18.0-240.el8.x86_64
ll
#可以看到build后面链接的目录,我的是 /usr/src/kernels/4.18.0-240.el8.x86_64
cd /usr/src/kernels/4.18.0-240.el8.x86_64
ls -a
#可以看到 一个 .config文件 ,拷贝到linux源码目录下
cp .config /home/linux-5.10.5/
3.编译
make -j$(nproc)
make modules_install
make install
修改内核启动顺序
Centos 6:
1. 打开 /etc/grub.conf 查看系统内核的情况
2.在 grub.conf 文件中决定开机使用哪个内核版本做启动的参数是 default,默认为 0(代表从最新的内核启动,代表的内核版本从上往下依次是 0,1, 2 等)。
Centos 7:
1.登录Linux终端,执行cat /boot/grub2/grub.cfg |grep menuentry命令查看当前操作系统有几个内核版本
2.grub2-editenv list命令查看系统当前的默认内核,也可以使用uname -r查看
3.使用命令grub2-set-default 'Oracle Linux Server (3.10.0-693.el7.x86_64 with Linux) 7.4'设置默认启动内核为3.10.0。
ubuntu:
1.查看内核启动顺序
grep menuentry /boot/grub/grub.cfg
2.修改内核启动顺序
sudo gedit /etc/default/grub
方法1:
打开/etc/default/grub文件
将GRUB_DEFAULT=0注释,新增
GRUB_DEFAULT=“Advanced options for Ubuntu>Ubuntu, with Linux 5.4.0-91-generic”
注意:这里面的版本号选择自己电脑对应版本
方法2:
1.注释掉GRUB_TIMEOUT_STYLE=hidde, 将GRUB_TIMEOUT=0改成GRUB_TIMEOUT=10
2.update-grub
3.reboot
4.在开机界面选择Advanced options
5.选择自己想要的版本进入
卸载内核:
方法1:自己编译的内核
1.删除以下目录,KERNEL-VERSION代表你想卸载的内核的版本号
/boot/vmlinuz*KERNEL-VERSION*
/boot/initrd*KERNEL-VERSION*
/boot/System-map*KERNEL-VERSION*
/boot/config-*KERNEL-VERSION*
/lib/modules/*KERNEL-VERSION*/
2.终端执行命令 update-grub更新你的grub。
3.查看是否存在
grep menuentry /boot/grub/grub.cfg
方法2:系统自带内核
dpkg --get-selections|grep linux
sudo apt-get remove linux-image-XXXX