linux内核编译安装(Ubuntu替换内核)
前言:Ubuntu替换内核一般是不会删除自己Ubuntu里面的东西的(只是内核改变,其它影响,放心搞就是了,而且可以变回原来的内核)
实验环境:
OS:Ubuntu 20.04.2 LTS
Old Kernel:linux 5.15.0
New Kernel: linux 5.15.0(我测试过的只有原版本,升级其它版本试了不能开机)
注: 查看当前内核版本命令 "uname -r"
源码获取:
从官网获得:https://kernel.org/
https://www.kernel.org/pub/ -> linux/kernel/ -> 自己选一个版本
编译:
(1)解压
tar –czf file.tar.gz
(2)安装必要包
# 首先更新软件源 sudo apt-get update sudo apt-get install libncurses5-dev build-essential kernel-package flex bison libelf-dev libssl-dev
(3)清理内核
sudo make clean
sudo make mrproper
(4)复制配置文件
# 进入解压后的文件路径 # 拷贝一个已有的配置文件 sudo cp /boot/config-x-x-x .config # 根据自己的需要去配置内核 sudo make menuconfig
注意:在我们把文件拷贝过来的时候要修改一下.config文件,不然会报错
把上图框选的两个东西删除
(5)编译
sudo make -j8
sudo make modules -j8
安装:
sudo make modules_install
sudo make install
更改启动内核:
(1)修改启动方式
sudo vim /etc/default/grub
更改为一下内容
#file::/etc/default/grub #2、开机进入grub菜单可以主动选择以哪个内核进入系统 GRUB_DEFAULT=0 #************* Display grub ************* GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TIMEOUT=10 #************** End Display ************* GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX=""
(2)更新grub文件
sudo update-grub
重启:
sudo reboot
(1)选择Advanced options for Ubuntu
(2)选择新添加的内核版本
结束
参考文档:https://blog.csdn.net/qq_36393978/article/details/118391685