在 ubuntu 20.04.5 LTS(focal)上安装 PREEMPT_RT 内核

在 ubuntu 20.04.5 LTS(focal)上安装 PREEMPT_RT 内核

我正在尝试安装应用程序所需的真实内核(控制 UR 机器人),并遵循UR 驱动程序教程在 git hub 上了解如何安装它。

首先我运行以下命令:

$ uname -r
5.15.0-69-generic

事实上我运行 -a 来显示所有内容。

$ uname -a
Linux Hamza 5.15.0-69-generic #76~20.04.1-Ubuntu SMP Mon Mar 20 15:54:19 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

我还有一个 Intel® Core™ i5。

我现在想安装一个接近我的版本,即 5.14.2 版。以下是我执行的所有命令:

mkdir ~/kernel
cd ~/kernel
wget https://cdn.kernel.org/pub/linux/kernel/projects/rt/5.14/patch-5.14.2-rt21.patch.xz
wget https://cdn.kernel.org/pub/linux/kernel/projects/rt/5.14/patch-5.14.2-rt21.patch.sign
wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.14.2.tar.xz
wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.14.2.tar.sign
xz -dk patch-5.14.2-rt21.patch.xz
xz -d linux-5.14.2.tar.xz

然后是我跳过的验证步骤。

tar xf linux-5.14.2.tar
cd linux-5.14.2
xzcat ../patch-5.14.2-rt21.patch.xz | patch -p1
make oldconfig 

这里我按 4 Fully Preemptible Kernel (RT) (PREEMPT_RT_FULL) (NEW),其余的我按 Enter。

我最终构建了内核:

make -j `getconf _NPROCESSORS_ONLN` deb-pkg

我收到的错误:

make[2]: *** [debian/rules:7: build-arch] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
make[1]: *** [scripts/Makefile.package:77: deb-pkg] Error 2
make: *** [Makefile:1569: deb-pkg] Error 2

以下是我在编译过程中收到的不同警告。

dpkg-source: warning: source directory 'linux-5.14.2' is not <sourcepackage>-<upstreamversion> 'linux-upstream-5.14.2-rt21'
dpkg-source: warning: .orig directory name linux-5.14.2.orig is not <package>-<upstreamversion> (wanted linux-upstream-5.14.2-rt21.orig)
dpkg-source: warning: ignoring deletion of file .scmversion
dpkg-source: warning: the diff modifies the following upstream files: 
dpkg-source: warning: missing information for output field Standards-Version
arch/x86/hyperv/hv_apic.c:240:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wframe-larger-than=]
fs/jffs2/xattr.c:887:1: warning: the frame size of 1144 bytes is larger than 1024 bytes [-Wframe-larger-than=]887 | }

我真的希望有人能够看到我哪里出错了或者有更好的安装方法,因为其他类似的解决方案都没有起作用;这是最近的一个,但没有答案

答案1

我遇到了同样的问题,以下方法对我有用(Ubuntu 20 和内核 5.15.79):

  1. 编辑.config文件,注释掉,并从、、CONFIG_DEBUG_INFO_BTF中删除值CONFIG_MODULE_SIG_KEYCONFIG_SYSTEM_TRUSTED_KEYSCONFIG_SYSTEM_REVOCATION_KEYS
  2. 如果编译再次失败,请注释掉CONFIG_MODULE_SIG_FORCECONFIG_MODULE_SIG_ALL文件.config

我从这些手册中获得了需要编辑的参数:

相关内容