ubuntu20.04 编译内核记录。
去堆叠模式下ubuntu22.04修改内核源码支持ARP双发-CSDN博客
锐捷模块安装:
cp /home/ows/bonding.ko /usr/lib/modules/5.4.0-144-generic/kernel/drivers/net/bonding/bonding.ko
reboot
在终端中运行以下命令查看当前系统上安装的所有内核版本:
Linux内核编译很简单,6步编译一个自己的内核-linux内核编译方法
dpkg --list | grep linux-image
获取最新的内核源代码
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.40.tar.xz
使用现有的配置作为基础,通常可以从当前运行的内核中获取配置:
先:
cp /boot/config-$(uname -r) .config
在:
make menuconfig
安装编译好的内核:
sudo make install
确保 GRUB 配置文件是最新的:
sudo update-grub
Debian 及其衍生版为内核模块使用一个签名证书。默认情况下,你的计算机并不包含这个证书。
我推荐关闭启用模块签名的选项。具体如下所示:
./scripts/config --file .config --set-str SYSTEM_TRUSTED_KEYS ''
./scripts/config --file .config --set-str SYSTEM_REVOCATION_KEYS ''
如果你不这么做,在后面你进行 Linux 内核构建时,可能会导致构建失败。要注意这点。
卸载make install安装的内核
由于我是自己安装的内核,需要手动去卸载,可以通过如下脚本进行
1、删除特定版本的内核及相关文件$KERNEL_VERSION为要删除的版本
sudo rm -rfv /boot/vmlinuz-$KERNEL_VERSION sudo rm -rfv /boot/initrd.img-$KERNEL_VERSION sudo rm -rfv /boot/config-$KERNEL_VERSION sudo rm -rfv /boot/System.map-$KERNEL_VERSION sudo rm -rfv /lib/modules/$KERNEL_VERSION sudo rm -rfv /var/lib/initramfs-tools/$KERNEL_VERSION
2、更新grub启动目录
sudo update-grub 或者 sudo update-grub2
3、重启机器
sudo reboot
如果已经更新了内核
Ubuntu20.04更换系统默认启动内核_修改ubuntu内核启动项-CSDN博客
禁止ubuntu20.04 自动升级内核
方法二:通过设置 GRUB
- 编辑 GRUB 配置:打开 GRUB 配置文件:
sudo nano /etc/default/grub
- 禁用内核自动更新:在
GRUB_CMDLINE_LINUX_DEFAULT
行中添加livepatch=0
:
GRUB_CMDLINE_LINUX_DEFAULT="livepatch=0"
- 更新 GRUB 配置:保存文件并更新 GRUB 配置:
sudo update-grub
方法三:使用 apt-mark
命令
您还可以使用 apt-mark
命令将内核包标记为手动安装,以阻止其自动更新:
sudo apt-mark hold linux-image-generic linux-headers-generic
请注意,禁用自动内核更新可能会导致系统安全性风险,因为内核更新通常包含安全修复和性能改进。确保您了解风险并定期手动更新内核以维持系统安全。