Linux Ubuntu 22.04 安装实时内核补丁 PREEMPT_RT
前言
通过 uname -r 命令查看当前版本内核,注意选择自己目前内核最接近的内核补丁和 RT 补丁并下载。根据描述在 5.15.0-64-generic 的基础上,分别安装了 5.15.167-rt79 和 5.10.225-rt117,都是可以正常运行 RT 内核的,实时性都是 OK 的。
Ubuntu 提供了 Ubuntu Pro(原 Ubuntu Advantage)的实时内核(Real-time Kernel)支持,从 Ubuntu 22.04 LTS 开始,Canonical 提供了官方维护的 PREEMPT_RT 内核作为 Ubuntu Pro 的一项服务(适用于 x86_64 和 ARM64 架构)。如果你需要订阅 Ubuntu Pro 的实时内核,可以通过下面命令进行安装:
sudo apt install linux-realtime
如果不是那么接下来需要手动编译或从第三方源获取 PREEMPT_RT 补丁。
1. 准备工作
查看当前内核版本
uname -a
本文使用环境为 Ubuntu 24.04.3 LTS,Linux 6.8.0-40-generic PREEMPT_DYNAMIC。
2. 下载内核源码和 RT 补丁
正常顺序应该是,先查 RT 补丁,再下对应主线程内核源码。
例如,你发现 patch-6.8.2-rt11.patch.xz 存在,那就说明 linux-6.8.2.tar.xz 这个主线内核版本有对应的 RT 补丁,可以组合使用。
为什么不建议先下内核再找补丁?
- RT 补丁并非对所有主线版本都可用,很多主线版本根本没有对应补丁。
- 即使版本接近(如 6.8.2 和 6.8.3),也可能存在不兼容,导致补丁失败或内核不稳定。
RT 补丁下载地址:https://www.kernel.org/pub/linux/kernel/projects/rt/ Linux 内核源码下载地址:https://www.kernel.org/pub/linux/kernel
本例使用:
- RT 补丁:patch-6.8.2-rt11.patch.xz
- 内核补丁:linux-6.8.2.tar.xz
3. 安装依赖
sudo apt update
sudo apt-get install libncurses-dev libssl-dev build-essential openssl zlibc libelf-dev minizip libidn11-dev libidn11 bison flex zstd
4. 解压内核和把 RT 补丁打进去
sudo mkdir /usr/src/rt_kernel
# 可根据下载位置进行拷贝,当然不复制也没啥~
sudo cp /path/to/linux-6.8.2.tar.xz /usr/src/rt_kernel/
sudo cp /path/to/patch-6.8.2-rt11.patch.xz /usr/src/rt_kernel/
/usr/src/rt_kernel/


