type
status
date
slug
summary
tags
category
icon
password
下载安装
1.查看自己系统目前的内核版本
2.下载安装实时内核文件
目前系统版本是Ubuntu 22.04.5 LTS,内核版本是 6.8.0-40。因此我需要安装6.8.2版本的PREEMPT_RT内核,在这个网站。(安装和当前默认内核最接近的RT内核,遇到问题的可能性最小)
下载 patch-6.8.2-rt11.patch.gz
../incr/ 03-Apr-2024 15:36 -
older/ 03-Apr-2024 15:36 -
patch-6.8.2-rt11.patch.gz 03-Apr-2024 15:36 59K
patch-6.8.2-rt11.patch.sign 03-Apr-2024 15:36 438
patch-6.8.2-rt11.patch.xz 03-Apr-2024 15:36 51K
patches-6.8.2-rt11.tar.gz 03-Apr-2024 15:36 106K
patches-6.8.2-rt11.tar.sign 03-Apr-2024 15:36 438
patches-6.8.2-rt11.tar.xz 03-Apr-2024 15:36 83K
sha256sums.asc 03-Apr-2024 15:40 1253
这个网站linuxfoundation可以查看最新的PREEMPT_RT内核。
创建一个新的文件夹:
进入这个文件夹:
从这个网站 https://mirrors.edge.kernel.org/pub/linux/kernel/v6.x/ 去下载 6.8.2版本的内核文件:
你也可以手动下载这个文件,然后复制到kernel文件夹。
解压:
下载对应的rt_preempt patch, 对我们来说就是刚刚的patch-6.8.2-rt11.patch.gz
你也可以手动下载,然后拷贝到kernel文件夹。
解压
切换目录,打实时补丁
复制当前引导的内核配置作为新实时内核的默认配置
打开“软件和更新”。在 Ubuntu 软件菜单中勾选“源代码”框
我们需要一些工具来构建内核,安装它们:
启用所有 Ubuntu 配置,我们只需使用:
然后我们需要在内核中启用rt_preempt:
并设置以下内容:
保存以上配置,退出 。
编译内核:
如果需要编译src pkg,请运行”make deb-pkg”,但是你必须通过git拉取linux kernel的源代码树,并checkout v6.8.2 tag,然后按上面的过程打实时补丁,并修改内核配置文件。
根据CPU性能大概需要10-30分钟。
然后我们安装所有内核 debian 软件包
现在应该安装实时内核了。重新启动系统并检查新的内核版本
测试实时性
1.git 仓库源码安装
2.进入git仓库
3.安装依赖并使用make编译
4.编译
4.测试
我使用这个命令测试的结果如下:
输出结果含义:
T: 0 序号为0的线程
P: 80 线程优先级为80
C: 7348 计数器。线程的时间间隔每达到一次,计数器加1
I: 10000 时间间隔为10000微秒(us)
Min: 最小延时(us)
Act: 最近一次的延时(us)
Avg:平均延时(us)
Max: 最大延时(us)
所以我们当前的机器上最小延时为2,平均为2,最大的为 11。