AI机器人 统计
  • 文章总数:248 篇
  • 评论总数:34 条
  • 分类总数:11 个
  • 最后更新:8小时前
原创Linux教程

Ubuntu22.04编译实时内核安装preempt_rt实时补丁

本文阅读 2 分钟
首页 Linux教程 正文

查看内核版本安装必要包

前面是内核版本

[scode type="yellow" size=""]安装必要包[/scode]

apt install autoconf automake libtool make libncurses-dev flex bison libelf-dev libssl-dev zstd net-tools

下载内核以及补丁

https://mirrors.edge.kernel.org/pub/linux/kernel/

下载Linux内核,找你的版本,不是上面几十兆的文件,往下翻有Linux开头的100多M的

我的版本

https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/

下载实时补丁,注意找和内核一样的

对应内核

解压以及打补丁

tar -zxvf linux-5.19.tar.gz
xz -d patch-5.19-rt10.patch.xz

解压后

cd linux-5.19/
patch -p1 < ../patch-5.19-rt10.patch

内核配置

make menuconfig

[scode type="blue" size=""]进入界面化配置后的操作[/scode]

General Setup -> Preemption Model 设置为 Fully Preemptible Kernel(RT)
General Setup -> Timers subsystem -> Timer tick handling 设置为 Full dynticks system
General Setup -> Timers subsystem 开启 High Resolution Timer Support
Processor type and features -> Timer frequency 设置为 1000 HZ

记得保存后exit

vi .config

CONFIG_SYSTEM_TRUSTED_KEYS=""

CONFIG_SYSTEM_REVOCATION_KEYS=""

把上面两项设置为空

保存退出

编译安装

make -j`nproc`

有点漫长

make modules_install
make install

配置GRUB启动项

vim /etc/default/grub

1,注释掉下面这行将会显示引导菜单

GRUB_TIMEOUT_STYLE=hidden

2,适当修改超时时间

GRUB_TIMEOUT=5 超时时间,单位s

3,更新启动项配置

update-grub

重启

GUN GRUB

选择内核

成功

测试

apt-get install rt-tests 
cyclictest -t 5 -p 80 -i 1000

cyclictest将以最高优先级在5秒钟内进行1000次循环测试,以测量Linux系统的实时性能。测试完成后,cyclictest会输出一些有关测试结果的统计信息

虚拟机

T表示线程号,P表示线程优先级,I表示测试的迭代次数,C表示已完成的迭代次数。MinActAvgMax分别表示测试中的最小、实际、平均和最大延迟时间。这些延迟时间以纳秒为单位给出。

我这是在虚拟机中,效果一般,受主机的限制太大。

chartGTP的回答

原创文章,作者:忆秋先生,如若转载,请注明出处:https://www.ycyaw.com/Linux/167.html
Linux提示空间快满了,使用rm删除很大的垃圾文件后,空间仍未释放,为什么,如何解决
« 上一篇 03-24
Linux文件目录结构说明,Linux系统文件应该怎么放?
下一篇 » 03-25

发表评论

发表评论

作者信息

动态快讯

    请配置好页面缩略名选项

热门文章

标签TAG

热评文章