ubuntu18.04替换启动内核
为了验证程序是否支持x86_64平台上某Linux kernel版本,需要调整某些内核配置型,并更换为这一内核版本,于是在ubuntu中编译并安装了这一内核。
本文在 ubuntu 18.04 版本下完成。
- 下载 Linux 内核源码,并进入内核源码目录
- 安装编译时需要使用的工具,按照编译时给出的编译提示,灵活安装所需的工具链
sudo apt-get update
sudo apt-get install libncurses5-dev build-essential kernel-package openssl-dev
- 拷贝原系统中的配置文件做为编译内核源码使用的默认配置
cp -v /boot/config-$(uname -r) .config
make localmodconfig
- 按照自己需求配置待编译内核
make menuconfig
- 编译内核源码,需要注意的是,内核编译产物较多,将会占用十几甚至数十GB的存储空间,编译前使用
df
命令查看当前系统中剩余可用的存储空间,保证其足以完成内核编译任务
make -j4
- 安装编译产物
sudo make modules_install
sudo make install
- 更新
grub
令其知道当前系统中有哪些内核可用
sudo update-grub
- 查看更新过的
grub
信息,是否有新增加的内核项
cat /boot/grub/grub.cfg | grep menuentry
- 修改
grub
配置文件/etc/default/grub
中的GRUB_DEFAULT
项,如
GRUB_DEFAULT="Ubuntu, with Linux 4.15.19"
- 更新
grub
信息
sudo update-grub
- 按照上一条命令执行给出的提示再次修改
grub
配置文件,如
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 4.15.19"
- 再次更新
grub
配置信息
sudo update-grub
- 重启系统,将会从指定内核启动
sudo reboot
- 启动后使用如下命令查看内核版本以及内核编译日期
uname -a