共计 1453 个字符,预计需要花费 4 分钟才能阅读完成。
导读 | 为什么要折腾安装最新的内核?因为它就在那里 |
sudo apt update -y &&
sudo apt install make gcc bc -y &&
sudo apt install pkg-config libncurses-dev -y &&
sudo apt install flex -y &&
sudo apt install bison -y &&
sudo apt install -y libncurses5-dev flex bison libssl-dev dpkg-dev libelf-dev&&
sudo apt install -y wget curl &&
sudo apt install fakeroot -y&&
sudo apt install rsync kmod cpio -y
从 kernel.org 下载 6.1rc3 的压缩包有 220MB,由于国内网络的特殊情况下载会非常的慢,请自备加速手段或者耐心。
wget https://git.kernel.org/torvalds/t/linux-6.1-rc3.tar.gz
tar zxvf linux-6.1-rc3.tar.gz
cd linux-6.1-rc3
编译内核需要硬盘 50G 左右的空间!!!
以下操作均在 linux-6.1-rc2 目录中进行。
使用 make menuconfig
命令生成.config 文件。不明白裁剪内核的操作,在进入蓝色背景的界面后,直接右方向键选择 save 即可,保持默认配置。然后 exit 退出。
这样默认生成的.config 文件,会有两个参数带值:CONFIG_SYSTEM_TRUSTED_KEYS
和 CONFIG_MODULE_SIG_KEY
可能会让编译出错。修改.config 文件,将这两个参数的值置空。
使用 make 命令编译。make 默认单线程编译,会非常慢,可以加上 - j 参数指定用几个 CPU 核心编译,-j4 就是用 4 个 CPU 核心,-j8 就是用 8 个 CPU 核心。-j$(nproc)就是用上所有的 CPU 核心。
sudo make -j12 all 或者用 make -j$(nproc) all
在 make all 编译过程中,可能会因为各种各样的报错中断编译。上面置空两个.config 的值只是相对常见,还有好多因为缺少包导致的编译报错,遇到报错仔细看,不懂就百度谷歌搜搜,非常多的解决办法。
make 安装模块后,使用 make modules 安装模块。
sudo make INSTALL_MOD_STRIP=1 modules_install > /dev/null &&
sudo make modules_install
使用 make 安装编译后的内核。
sudo make install
更新 GRUB,应用上最新的 6.1rc3 内核。
sudo update-grub
如果想制作 deb 包, 在其他的 Ubuntu 系统上免去编译直接安装 6.1 内核。在当前目录使用 make -j$(nproc) deb-pkg
命令,命令跑完会在上层目录生成几个文件,其中后缀是.deb 的三个包就是我们需要的。这三个文件复制到其他的 Ubuntu 系统上,直接全部安装就可以了:apt install ./linux*.deb -y
这个是我编译的适用于 debian11/ubuntu 的 Linux kernel6.1 的 deb 安装包,https://www.123pan.com/s/8KbDVv-eC4JA。直接安装重启就可以使用。不做任何可靠性保证,请避免在生产机器上使用。