1. 下载好Linux kernel源码后解压:
tar -zxvf linux-4.18.14.tar.xz
2. 安装必要的依赖:
sudo apt-get install gcc make libncurses5-dev openssl libssl-dev build-essential pkg-config libc6-dev bison flex libelf-dev bc -y
3. 配置config文件(将当前内核config拷过来,config后跟的版本以当前版本为准)
cd ./linux-4.18.14/
cp /boot/config-4.15.0-20-generic .config
make menuconfig
make menuconfig后出现配置界面,如无特殊需求,按tab键并回车即可
4. 修改config文件,把.config文件中如下字段清空:
CONFIG_SYSTEM_TRUSTED_KEYS=""
CONFIG_SYSTEM_REVOCATION_KEYS=""
5. 开始编译
make -j64
make INSTALL_MOD_STRIP=1 modules_install
make install
6. 更新启动项
sudo update-grub
sudo update-grub2
***7. 使用kexec快速换内核:
7.1 在/etc/default/grub中添加如下字段:
GRUB_CMDLINE_LINUX="crashkernel=1024M,high nokaslr"
7.2 把vmlinuz修改成对应想要替换的内核,append中root后跟自己的系统盘
sudo kexec -l /boot/vmlinuz-xxx --append="root=/dev/sda2 ro"
sudo systemctl kexec