Linux编译并更新内核(替换Linux内核)
实验环境: OS: Ubuntu20.10LTS Old Kernel: linux 5.8.0 New Kernel: linux 5.13.0 注: 查看当前内核版本命令 "uname -r"
1、获取Linux Kernel源码
可以通过官网下载原始版本的内核代码,也可以使用其它厂商或自己修改过的内核代码。 官网下载链接:https://kernel.org 由 Linus Torvalds 提交的各种版本内核的官网下载链接:https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/refs/?h=v5.13 所有版本版本内核的官方库: https://mirrors.edge.kernel.org/pub/linux/kernel/
2、编译并安装新内核
(1) 首先将下载的内核代码解压,并放置在/usr/src目录下。如下linux-5.13.0-im是linux 5.13.0版本内核修改过的内核版本。
imaginemiracle:src$ ls
linux-5.13.0-im linux-headers-5.8.0-25-generic linux-headers-5.8.0-59-generic
linux-headers-5.8.0-25 linux-headers-5.8.0-59
(2) 在编译内核之前安装一下编译所必要的工具和库文件。
# 首先更新软件源
imaginemiracle:src$ sudo apt-get update
imaginemiracle:src$ sudo apt-get install libncurses5-dev build-essential kernel-package flex bison libelf-dev libssl-dev
(3) 进入新添的内核主目录
imaginemiracle:src$ cd linux-5.13.0-im
(4) 清理内核
imaginemiracle:linux-5.13.0-im$ sudo make clean
imaginemiracle:linux-5.13.0-im$ sudo make mrproper
(5) 配置内核 将的当前使用的内核配置文件拷贝到新内核目录下。
imaginemiracle:linux-5.13.0-im$ sudo cp /boot/config-$(uname -r) .config
# 根据自己的需要去配置内核
imaginemiracle:linux-5.13.0-im$ sudo make menuconfig
(6) 编译内核
imaginemiracle:linux-5.13.0-im$ sudo make -j8
imaginemiracle:linux-5.13.0-im$ sudo make modules -j8
(7) 安装内核
imaginemiracle:linux-5.13.0-im$ sudo make modules_install
imaginemiracle:linux-5.13.0-im$ sudo make install
安装完成后可以使用如下命令查看当前内核的启动顺序。
imaginemiracle:linux-5.13.0-im$ grep menuentry /boot/grub/grub.cfg
(8) 更新gurb菜单 编辑/etc/default/grub文件,需要将GRUB_HIDDEN_TIMEOUT和GRUB_HIDDEN_TIMEOUT_QUIET注释掉,或者直接拷贝下面的内容替换该文件,其中GRUB_DEFAULT可以为其指定默认选择的内核(如:**“GRUB_DEFAULT=Ubuntu, Linux 5.13.0-rc5+”**这种形式,当然这里的内核改为读者自己想要的默认内核)。 注: 下面提供两个版本,1、开机不进入grub菜单直接选择最新内核进入系统;; 2、开机进入grub菜单可以主动选择以哪个内核进入系统。
imaginemiracle:linux-5.13.0-im$ sudo vim /etc/default/grub
隐藏grub: 开机不进入grub菜单直接选择最新内核或指定的内核进入系统
#file::/etc/default/grub
#1、开机不进入grub菜单直接选择最新内核进入系统
GRUB_DEFAULT=0
#开机不显示grub菜单,并直接指定Linux5.13.0-rc5+内核进入Ubuntu系统
#GRUB_DEFAULT=Ubuntu,Linux5.13.0-rc5
#************* Hide grub ************
GRUB_TIMEOUT_STYLE=hidden
GRUB_HIDDDEN_TIMEOUT=0
GRUB_TIMEOUT=0
#************** End Hide ************
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
显示grub: 开机进入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=""
在修改好grub文件后,需要更新。
imaginemiracle:linux-5.13.0-im$ sudo update-grub
(9) 重启系统并选择新添加的内核进入系统 重启命令: sudo reboot 1、选择Advanced options for Ubuntu 2、选择新添加的内核版本
(10) 查看内核是否替换成功
imaginemiracle:~$ uname -r
5.13.0-rc5+
到此Linux内核替换完成
觉得这篇文章对你有帮助的话,就留下一个赞吧 ^v^* 请尊重作者,转载还请注明出处!感谢配合~ [作者]: Imagine Miracle [版权]: 本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。 [本文链接]: https://blog.csdn.net/qq_36393978/article/details/118391685