导读 为什么要折腾安装最新的内核?因为它就在那里

安装必要的编译环境
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
下载最新的Linux Kernel6.1.0 rc3

从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 目录中进行。

生成.config文件

使用make menuconfig命令生成.config文件。不明白裁剪内核的操作,在进入蓝色背景的界面后,直接右方向键选择save即可,保持默认配置。然后exit退出。

修改.config排错

这样默认生成的.config文件,会有两个参数带值:CONFIG_SYSTEM_TRUSTED_KEYSCONFIG_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包

如果想制作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 。直接安装重启就可以使用。不做任何可靠性保证,请避免在生产机器上使用。

本文原创地址:https://www.linuxprobe.com/ubuntu-makeinstall-linuxkernel-61rc2.html编辑:倪家兴,审核员:逄增宝