我正在尝试在 ubuntu 20.04 上安装实时补丁,我遵循了许多步骤,每次尝试大约需要 4 个小时才能完成。不幸的是,这些尝试都没有成功(在下面的链接中)。如果您能给我提供确切的步骤建议,我将不胜感激,因为我是 Linux 新手。非常感谢。
https://docs.ros.org/en/foxy/Tutorials/Building-Realtime-rt_preempt-kernel-for-ROS-2.html
https://stackoverflow.com/questions/51669724/install-rt-linux-patch-for-ubuntu/51709420#51709420
https://hmenn.github.io/pages/UbuntuRT_patch.html https://lists.debian.org/debian-kernel/2016/04/msg00579.html
约翰
答案1
我能够在 Ubuntu 20.04 上构建 PREEMPT-RT 内核,主要基于本指南如下:
sudo apt install build-essential git libssl-dev libelf-dev flex bison
下载该版本的内核源代码和补丁:
wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.4.143.tar.xz
wget https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/5.4/patch-5.4.143-rt64-rc2.patch.xz
解压并应用补丁:
tar -xf linux-5.4.143.tar.xz
cd linux-5.4.143
xzcat ../patch-5.4.143-rt64-rc2.patch.xz | patch -p1
配置,并在被要求时抢占模型选择完全可抢占的内核. 其余部分接受默认值:
cp /boot/config-5.4.0-81-generic .config
make oldconfig
编辑.config
文件并更改CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem"
为CONFIG_SYSTEM_TRUSTED_KEYS=""
构建内核:
make -j8 deb-pkg
安装生成的软件包,然后重新启动系统。
sudo dpkg -i ../linux-headers-5.4.143-rt64-rc2_5.4.143-rt64-rc2-1_amd64.deb ../linux-image-5.4.143-rt64-rc2_5.4.143-rt64-rc2-1_amd64.deb ../linux-libc-dev_5.4.143-rt64-rc2-1_amd64.deb
重启后你应该能够看到如下内容:
# uname -a
Linux vod 5.4.143-rt64-rc2 #1 SMP PREEMPT_RT Tue Sep 7 20:19:55 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
这指导建议了其他几个步骤,但我还没有测试过。