开发环境为vm-ware创建的ubuntu 20.04虚拟机,4G内存,80G硬盘,4核处理器。

一、准备工作

1.内核与补丁下载:

下载与Linux系统相近版本的内核源码(Linux系统版本可通过 uname -r 命令获取)

内核下载网站:https://mirrors.edge.kernel.org/pub/linux/kernel/

下载与内核源码对应版本的补丁

补丁下载网站: https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/

2.将下载的内核源码与补丁解压文件到对应的文件夹

已经提前在 /usr/src 文件夹下创建文件夹 rtlinux

3.准备内核编译环境

下载相应的资源包(后续编译过程报错,就根据报错内容继续安装)

apt-get -y update
apt-get install patch
apt-get install build-essential make gcc libncurses-dev libssl-dev libc6-dev libelf-dev bison dwarves zstd flex

二、配置RTLinux

1.将patch 复制到linux内核目录下

2.进入内核源码目录,给linux内核配置RT patch:(打补丁)

3.执行make clean 在编译前清除一下环境并拷贝与当前内核版本匹配的config文件到内核源码目录,并命名为.config

4. 执行make menuconfig 进行图形化内核配置

① "General setup" -> "Preemption Model" -> 选择 "Fully Preemptible Kernel(Real-Time)"

②"Device Drivers" -> 去掉"Staging drivers"(按空格)

③"Processor type and features"  ->  "Timer frequency" -> 选择"1000Hz "

5.编辑.config文件

删除或注释.config文件中CONFIG_SYSTEM_TRUSTED_KEYS与CONFIG_SYSTEM_REVOCATION_KEYS的配置参数

6.编译RTLinux内核(-jn表示n线程编译,n根据分配的处理器数量)

make -j4

  At least two hours later! 

7.进行各种install(如果没出错,80%概率已成功)

make modules_install -j4
make install
update-grub

三、校验结果

cd /boot
ls

查看/boot 目录下是否有生成的rt核心, 应该生成对应版本的config、System.map、initrd.img、vmlinuz文件。

重启后查看内核版本:

reboot
uname -r

内核版本已更新为 rt 版本。

四、启动设置(未成功)

如果重启后直接开机,没有出现选择内核的页面,则在进入系统后,执行下面的命令:

sudo gedit /etc/default/grub

GRUB_TIMEOUT=10  %超时时间,单位s

GRUB_DEFAULT="1>2"  %1代表默认启动内核,2代表所启动内核位于列表中第2个(序号从0开始)

然后更新grub

sudo update-grub

五、运行测试

1.安装rt_test

sudo apt-get install rt-tests 

2.运行测试(4个线程,线程优先级80,以ns显示时间)

sudo cyclictest -t 4 -p 80 -N

测试结果含义:

T: 0     序号为0的线程
P: 80    线程优先级为80
I: 1000  时间间隔为1000微秒(us)
C: ~     计数器。线程的时间间隔每达到一次,计数器加1
Min:     最小延时(us)
Act:     最近一次的延时(us)
Avg:    平均延时(us)
Max:    最大延时(us)  

参考:

硬实时RTLinux安装配置详解 (一):准备工作_HowieXue的博客-CSDN博客_rtlinux

硬实时RTLinux安装配置详解 (二):编译运行RTLinux_HowieXue的博客-CSDN博客_rtlinux

Ubuntu 20.04安装RT-PREEMPT实时内核补丁_看他个锤子的博客-CSDN博客_ubuntu 实时补丁

编译linux的RT实时内核_「已注销」的博客-CSDN博客_rt内核

硬实时RTLinux?为Linux打实时preempt_rt补丁相关推荐

  1. 【Linux进程、线程、任务调度】四多核下负载均衡 中断负载均衡,RPS软中断负载均衡 cgroups与CPU资源分群分配 Linux为什么不是硬实时 preempt-rt对Linux实时性的改造

    学习交流加 个人qq: 1126137994 个人微信: liu1126137994 学习交流资源分享qq群: 962535112 上一篇文章(点击链接:点击链接阅读上一篇文章)讲了: CPU/IO消 ...

  2. 硬实时RTLinux安装配置详解 (一):准备工作

    更多技术干货,欢迎扫码关注博主微信公众号:HowieXue,一起学习探讨软硬件技术知识经验,关注就有海量学习资料免费领哦: 硬实时RTlinux系统配置 1. Linux内核下载 2. 下载与Linu ...

  3. 硬实时RTLinux安装配置详解 (二):编译运行RTLinux

    硬实时RTlinux系统配置 4. 配置RTLinux 4.1 配置Patch 4.2 配置RTLinux内核 4.3. 编译Rtlinux内核 4.4 制作initramfs启动引导: 5. 大功告 ...

  4. linux实时进程优先级rt,Linux实时性- PREEMPT_RT实时抢占实现

    作者:Paul E. McKenney 翻译整理:土豆丝624 原文链接: 概述: 本篇文章主要讲Linux的实时包PREEMPT_RT 是如何实现的. PREEMPT_RT 的原理 PREEMPT_ ...

  5. Linux 内核实时补丁 PREEMPT_RT补丁 与 Linux4.1.15 + patch-4.1.15-rt18.patch 补丁,实测实时性差

    Linux4.1.15 + patch-4.1.15-rt18.patch 补丁,实测实时性差 开发环境 发行环境 该环境用于发行 Linux: 4.1.15 preempt_rt: patch-4. ...

  6. [收藏学习]Linux的实时监测命令

    十八.  和系统运行状况相关的Shell命令:    1. Linux的实时监测命令(watch):     watch 是一个非常实用的命令,可以帮你实时监测一个命令的运行结果,省得一遍又一遍的手动 ...

  7. VxWorks和Linux内核实时性

    通用的分时操作系统面向多用户的不同任务,意在追求系统整体运行的效率和资源的均衡利用,软件的执行在时间上要求并不严格. 实时操作系统不同于分时操作系统,它主要是对任务进行实时的处理,要求任务的运行具有可 ...

  8. 嵌入式Linux能提供最小延时,嵌入式Linux的实时性分析和改进

    嵌入式Linux的实时性分析和改进 孙晶华 (大连交通大学  软件学院,辽宁  大连  116028) 摘  要 Linux已经成为当今最流行的操作系统之一,对嵌入式Linux进行实时性改进是嵌入 式 ...

  9. linux实时还是分时,linux是实时系统仍是分时操做系统

    实时操做系统 实时操做系统 英文称Real Time Operating System,简称RTOS. 1.实时操做系统定义 实时操做系统(RTOS)是指当外界事件或数据产生时,可以接受并以足够快的速 ...

最新文章

  1. ios-晋级之路 CocoaPods引用第三方库不import不自动补齐
  2. 完整opencv(emgucv)人脸、检测、采集、识别、匹配、对比
  3. svn强制要求提交注释
  4. 浅拷贝+引用计数--写时拷贝---模拟实现string容器
  5. 互联网晚报 | 3月3日 星期四 |​ 苹果将于北京时间3月9日凌晨2点举办春季发布会;vivo子品牌NEX被砍掉...
  6. HDU 5970 CCPC2016合肥 求等差数列整除整数下取整求和
  7. AngularJS判断checkbox/复选框是否选中并实时显示
  8. 统计平方和三元组的数目
  9. 笔记本电脑华硕N56VZ的几种螺丝规格
  10. 用IDEA进行git版本控制
  11. 松下电视切换html,松下等离子电视如何用HDMI连接电脑?
  12. 惠普HP2132打印机 803墨盒的简单加墨方法
  13. OpenCv图像处理实战——银行卡卡号识别
  14. 五分钟教你学会写产品需求文档(PRD)
  15. 基恩士KV8000程序 基恩士KV8000,威伦通触摸屏,搭载KV-XH16EC总线模块进行分布式总线控制
  16. 安装SqlServer2000以及SP4补丁时的注意事项
  17. Matlab-RBF网络(径向基函数网络)-rbepnngrnn
  18. 赚钱 36 计 - 第三十二计:预收计
  19. LCD工作原理及结构
  20. 中间件是什么,常用的中间件有哪些(*)

热门文章

  1. Warning: Can save best model only with val_acc available, skipping
  2. [ 工具 ] ___ VT : VMware Tools
  3. in语句作用C语言,C语言中IN(ch,OP)是什么意思
  4. android水波纹动画制作,Framer之事件 | 如何制作安卓点击水波纹效果?
  5. Android安装busybox
  6. 搭建本地 Protractor 运行环境
  7. Luminati提供了哪些工具来帮助自动化操作?
  8. Windows支持WGET命令
  9. Yii2友好处理404
  10. 思科配置成网站服务器,思科路由器的配置NTP服务器的基本方法