ubuntu18.04替换启动内核

有时我们需要将 ubuntu 内核替换为我们需要的版本,这里给出了一个实现方式,在此实现中两个内核版本较为接近。
本文在 ubuntu 18.04 版本下完成。

  1. 下载 Linux 内核源码,并进入内核源码目录
  2. 安装编译时需要使用的工具,按照编译时给出的编译提示,灵活安装所需的工具链
sudo apt-get update
sudo apt-get install libncurses5-dev build-essential openssl openssl-dev flex bison libssl-dev #kernel-package
  1. 拷贝原系统中的配置文件做为编译内核源码使用的默认配置
cp -v /boot/config-$(uname -r) .config
# make localmodconfig # 这一命令不需要执行
  1. 按照自己需求配置待编译内核
make menuconfig
make savedefconfig #生成默认配置文件到本源码目录中
  1. 编译内核源码,需要注意的是,内核编译产物较多,将会占用十几甚至数十GB的存储空间,编译前使用 df 命令查看当前系统中剩余可用的存储空间,保证其足以完成内核编译任务
make -j4 #依据自己的CPU数自行编辑,或使用shell指令替换
  1. 安装编译产物
# sudo make modules_install
# 在ubuntu 16.04会有ramdisk过大而不能正常启动的情况出现,则使用下面的指令,裁剪一下
sudo make INSTALL_MOD_STRIP=1 modules_install
sudo make install
  1. 更新 grub 令其知道当前系统中有哪些内核可用
sudo update-grub
  1. 查看更新过的 grub 信息,是否有新增加的内核项
cat /boot/grub/grub.cfg | grep menuentry
  1. 修改 grub 配置文件 /etc/default/grub 中的 GRUB_DEFAULT 项,如
GRUB_DEFAULT="Ubuntu, with Linux 4.15.19"
  1. 更新 grub 信息
sudo update-grub
  1. 按照上一条命令执行给出的提示再次修改 grub 配置文件,如
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 4.15.19"
  1. 再次更新 grub 配置信息
sudo update-grub
  1. 重启系统,将会从指定内核启动
sudo reboot
  1. 启动后使用如下命令查看内核版本以及内核编译日期
uname -a

我的博客
参考博客1
参考博客2

posted @ 2024-03-10 13:55  ArvinDu  阅读(181)  评论(0编辑  收藏  举报