编译内核并替换内核

以5.3.8(最新)Linux 内核为例

  1. 下载内核源码

https://mirrors.edge.kernel.org/pub/linux/kernel下载所需的内核源码.

wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.3.8.tar.xz
  1. 安装内核编译所需的环境
sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison
  1. 解压内核源码
xz -d linux-5.3.8.tar.xz && tar xvf linux-5.3.8.tar
  1. 内核编译配置文件.config的生成

可以拷贝当前系统的内核配置文件到源码目录,也可以自己通过menuconofig选择需要编译的feature,当然也可以在当前系统的内核配置文件基础上运行menuconfig进行修改.

# 进入源码根目录 cd ~/下载/linux-5.3.8 # 拷贝当前系统内核配置文件 cp -v /boot/config-$(uname -r) .config # make menuconfig
  1. 编译内核
make -j $(nproc)
  1. 安装编译生成的modules
sudo make modules_install
  1. 安装新内核相关文件
sudo make install
  1. 重启
reboot
  1. 在重启的grub界面选择想要进入的内核版本即可

部分ubuntu版本在grub时默认显示可选择的内核版本,部分ubuntu版本在grub时需要进入ubuntu高级选项才能看到可选择的内核版本.


附:

ubuntu18.04在编译之后无法看到grub引导界面,而是直接以新内核启动了系统,因此无法选择需要启动的内核版本问题

该问题是由grub设置导致的,需要修改grub的配置文件

sudo vim /etc/default/grub

将文件中的GRUB_TIMEOUT_STYLE选项的值从hidden改为menu

如果GRUB_TIMEOUT选项的值为0,则修改为5或10,该选项在GRUB_TIMEOUT_STYLEmenu时,为grub进入默认引导项的倒计时等待时间.

修改grub配置文件后需要允许以下命令,以更新grub设置.

sudo update grub

然后重启即可.

reboot


__EOF__

本文作者EwanHai
本文链接https://www.cnblogs.com/haiyonghao/p/14440263.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   EwanHai  阅读(1130)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示