如何在Ubuntu 22.04上安装Linux 内核 6.0?

2022-11-16 09:17:42 浏览数 (1)

内核是任何基于 Linux 的操作系统的核心部分,它充当计算机系统软件和硬件之间的桥梁,还提供用户和应用程序与计算机交互所需的接口。内核提供了许多功能,包括进程调度、资源分配、设备管理、中断处理、内存管理和进程。

在撰写本文时,内核的最新版本为 6.0,其中包含许多修复、性能改进、增强功能和新硬件支持。

在本教程中,我将向您展示如何在 Ubuntu 22.04 上安装 Linux Kernel 6.0。

先决条件

  • 运行 Ubuntu 22.04 的服务器。
  • 一个有效的域名指向您的服务器 IP。
  • 在您的服务器上配置了 root 密码。

入门

在开始之前,建议更新并升级所有系统包到最新版本,您可以通过运行以下命令来更新所有这些:

代码语言:txt复制
apt update -y
apt upgrade -y

更新所有软件包后,重新启动系统以应用更改。

代码语言:txt复制
reboot

接下来,使用以下命令验证当前内核版本:

代码语言:txt复制
uname -a

您应该看到以下输出:

代码语言:txt复制
Linux ubuntu2204 5.15.0-33-generic #34-Ubuntu SMP Wed May 18 13:34:26 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

下载 Linux 内核 6.0

最新的内核不包含在 Ubuntu 22.04 默认存储库中,所以你需要下载内核源代码并在你的系统上编译它。

首先,使用以下命令安装编译内核所需的所有依赖项:

代码语言:txt复制
apt install build-essential dwarves python3 libncurses-dev flex bison libssl-dev bc libelf-dev zstd gnupg2 wget -y

接下来,使用以下命令下载内核 6.0:

代码语言:txt复制
wget https://git.kernel.org/torvalds/t/linux-6.0-rc7.tar.gz

下载完成后,使用以下命令解压缩下载的文件:

代码语言:txt复制
tar xvf linux-6.0-rc7.tar.gz

配置内核 6.0 模块

接下来,您需要指定编译内核所需的内核模块。

首先,导航到提取的目录并使用以下命令复制现有的内核配置:

代码语言:txt复制
cd linux-6.0-rc7/ 
cp -v /boot/config-$(uname -r) .config

接下来,使用以下命令配置内核:

代码语言:txt复制
make menuconfig

您应该看到以下屏幕:

您可以在此处进行更多配置,然后单击“保存”按钮。您应该看到以下屏幕:

接下来,使用以下命令 禁用SYSTEM_REVOCATION_KEYS :

代码语言:txt复制
scripts/config --disable SYSTEM_REVOCATION_KEYS
make localmodconfig

编译内核 6.0

创建 .config 配置文件后,使用以下命令编译内核:

代码语言:txt复制
make bzImage

您应该看到以下输出:

代码语言:txt复制
SYNC    include/config/auto.conf.cmd
  HOSTCC  scripts/kconfig/conf.o
  HOSTLD  scripts/kconfig/conf
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_32.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_64.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_x32.h
  SYSTBL  arch/x86/include/generated/asm/syscalls_32.h
  SYSHDR  arch/x86/include/generated/asm/unistd_32_ia32.h
  SYSHDR  arch/x86/include/generated/asm/unistd_64_x32.h

接下来,使用以下命令安装内核模块:

代码语言:txt复制
make modules
make modules_install

最后,使用以下命令安装 Linux Kernel 6.0:

代码语言:txt复制
make install

安装完成后,可以在/boot目录下验证新安装的内核:

代码语言:txt复制
initrd.img-6.0.0-rc7
vmlinuz-6.0.0-rc7

更新 Grub 引导装载程序

接下来,您还需要更新 Grub 引导加载程序以应用更改:

代码语言:txt复制
update-grub

您应该看到以下输出:

代码语言:txt复制
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.0.0-rc7
Found initrd image: /boot/initrd.img-6.0.0-rc7
Found linux image: /boot/vmlinuz-5.15.0-46-generic
Found initrd image: /boot/initrd.img-5.15.0-46-generic
Found linux image: /boot/vmlinuz-5.13.0-30-generic
Found initrd image: /boot/initrd.img-5.13.0-30-generic
Found memtest86  image: /boot/memtest86 .elf
Found memtest86  image: /boot/memtest86 .bin

接下来,重新启动系统以从新安装的内核引导。

代码语言:txt复制
reboot

系统重启后,使用以下命令验证您的系统内核:

代码语言:txt复制
uname -a

您应该在以下输出中看到新安装的内核:

代码语言:txt复制
Linux ubuntu2204 6.0.0-rc7

0 人点赞