Ubuntu18.04安装实时内核Preempt-RT

2023-05-16

文章目录

    • 1. 安装环境
    • 2. 安装依赖包
    • 3. 查看内核版本
    • 4. 下载新的内核和对应的Preempt-RT补丁
    • 5. 解压缩
    • 6. 打补丁
    • 7. 配置内核
    • 8. 编译内核
    • 9. 校验结果
    • 10. 重启
    • 11. 测试
    • 12. 调整分辨率

1. 安装环境

  • Ubuntu18.04
  • 内核版本:4.15.0-208

2. 安装依赖包

sudo apt-get update
sudo apt-get install make
sudo apt-get install gcc
sudo apt-get install build-essential libncurses5-dev bison flex libssl-dev
sudo apt-get install kernel-package
sudo apt install autoconf automake libtool net-tools
sudo apt-get install build-essential flex libelf-dev libc6-dev-amd64 binutils-dev libdwarf-dev

不然后面编译会各种报错

3. 查看内核版本

uname -r

我的内核版本为4.15.0-208

4. 下载新的内核和对应的Preempt-RT补丁

  • 内核下载地址:here,我下载的是linux-4.19.72.tar.gz
  • 补丁下载地址:here,我下载的是patch-4.19.72-rt25.patch.gz
    内核版本要和补丁版本保持一致

5. 解压缩

  • 将第四步下载的两个文件解压缩,并将patch文件拷贝到内核文件夹中
  • 在/usr/src中新建文件夹rt-preempt-linux,并把linux-4.19.72文件夹拷贝到这个文件夹当中:
sudo mkdir /usr/src/rt-preempt-linux     
sudo mv linux-4.19.72 /usr/src/rt-preempt-linux/    #注意要在linux-4.19.72路径下执行该语句,否则找不到文件

6. 打补丁

cd /usr/src/rt-preempt-linux/linux-4.19.72/
sudo patch -p1 <patch-4.19.72-rt25.patch 

7. 配置内核

  • 第一步:首先执行以下指令:
cd /usr/src/rt-preempt-linux/linux-4.19.72/
sudo make mrproper # 删除目录下残留的.o文件和其他从属文件
  • 第二步:将 /boot文件夹下的config-4.15.0-208-generic文件拷贝到linux-4.19.72目录中
  • 第三步:sudo cp /boot/config-4.15.0-208-generic .config #对应你自己的内核版本
  • 第四步:开始配置
1. General setup/Processor type and features ---> Preemption Model ---> Fully Preemptible Kernel(RT)
2. Kernel hacking ---> compile-time checks and complier options ----> warn for stacks frames larger than ---> 4096
3. Device Drivers ---> [] staging drivers  #按n键取消选择

记住要保存

  • 第五步: sudo gedit .config
将语句:   CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem"
替换成:   CONFIG_SYSTEM_TRUSTED_KEYS=""

8. 编译内核

sudo make -j12
sudo make modules_install 
sudo make install  

结尾提示done说明安装成功

9. 校验结果

cd /boot
ls

查看/boot 目录下是否有生成的rt核心,发现boot中已经有initrd.img-4.19.72-rt25文件了,用这个生成内存镜像文件:

sudo mkinitramfs -k -o initrd.img-4.19.72-rt25 4.19.72-rt25

10. 重启

reboot
uname -r

检查当前内核版本号,若为linux-4.19.72-rt25,则说明实时内核安装成功。

11. 测试

sudo apt-get install rt-tests 
sudo cyclictest -t 5 -p 80 -n    ##us显示
#sudo cyclictest -t 5 -p 80 -N  ##ns显示

12. 调整分辨率

在更换实时内核后,由于当前显卡不支持该实时内核(实际上第一次安装Ubuntu系统时,当时的内核版本已经和显卡自动匹配了),会出现屏幕分辨率不正常的现象,影响我们后续的使用。由于我的系统安装的是集成显卡,不是N卡,所以通过更新N卡驱动的方法对有集成显卡的系统并不适用,下面介绍我自己修改成功的一种方法。

  • 修改/etc/default/grub文件,打开文件:
sudo gedit grub
  • 找到设置#GRUB_GFXMODE=640x480,并修改成:GRUB_GFXMODE=“自己显示器支持的分辨率” (去掉前面的#)
  • 保存刚刚修改的grub文件,并使用命令行更新grub:
sudo update-grub

重启系统即可。


关于Preempt-RT的使用,参见wiki.linuxfoundation.org

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu18.04安装实时内核Preempt-RT 的相关文章

随机推荐

  • CVPR2019目标检测方法进展

    目标检测是很多计算机视觉应用的基础 xff0c 比如实例分割 人体关键点提取 人脸识别等 xff0c 它结合了目标分类和定位两个任务 现代大多数目标检测器的框架是 two stage xff0c 其中目标检测被定义为一个多任务学习问题 xf
  • ubuntu16.04+cuda8.0+cudnn+opencv3.0+caffe

    一 ubuntu16 04安装 开机F12进入BIOS的设备启动菜单 xff0c 选择U盘启动 安装类型 xff0c 选择其他选项 xff0c 进行分区 Swap xff1a 逻辑分区 xff0c 20GB 空间起始位置 交换空间 boot
  • Linux 用户态通过中断切换到内核态详解

    文章目录 一 用户态与内核态二 中断三 任务状态段四 Linux 进程从用户态切换到内核态的过程五 参考资料 一 用户态与内核态 Linux 把内存主要分为 4 个段 xff0c 分别是内核代码段 内核数据段 用户代码段 用户数据段 内核两
  • PX4中串口名称、设备名称、端口名称对应关系

    这里规定了各种uart usart的波特率 bufsize等配置 xff0c boards px4 fmu v5 nuttx config nsh defconfig CONFIG STM32F7 UART4 span class toke
  • PX4调试过程中的小问题

    使用USB直连飞控可以开始校准 xff0c 但是用无线的方式开始任一传感器的校准都报错 xff1a Transition denied SHUTDOWN to INIT 明明飞控正常上电 xff0c 也许报了个错说 critical bat
  • PX4中IMU传感器的数据经过了哪些处理后被使用的?

    注 xff1a 所用PX4的代码版本为当前master最新版9e309f62a9b1731caae96000b824aa96661e67ad 2019年11月所写 xff0c 新版本有所不同 xff0c 尚未更新 IMU的数据 xff1a
  • WARNING: [Vivado 12-13340] WARNING: [Vivado 12-13277]

    仿真的时候遇问题 xff1a WARNING Vivado 12 13340 Unable to auto find GCC executables from simulator install path path not set WARN
  • 二.因子图优化学习---董靖博士在深蓝学院的公开课学习(2)

    专栏系列文章如下 xff1a https blog csdn net weixin 36773706 article details 122440411 https blog csdn net weixin 36773706 article
  • 四.因子图优化学习---对因子图优化的粗浅理解

    专栏系列文章如下 xff1a 一 因子图优化学习 董靖博士在深蓝学院的公开课学习 xff08 1 xff09 goldqiu的博客 CSDN博客 二 因子图优化学习 董靖博士在深蓝学院的公开课学习 xff08 2 xff09 goldqiu
  • 多传感器融合SLAM、导航研究和学习专栏汇总

    从2021年9月份开始学习多传感器融合SLAM xff0c 期间也发了不少博客记录学习过程 xff0c 自己对SLAM的认识也逐渐加深 xff0c 以前一些博客中会有一些错误的地方还未及时去修正 xff0c 敬请谅解 由于课题组需要和自身发
  • 启航篇——四旋翼飞行器之入坑两年心路历程和毕设总结

    笔者今年大四毕业 xff0c 由于之前参加比赛及准备考研 xff0c 没有时间总结这两年来做四旋翼飞行器的心得体会 现在借毕业设计这个契机 xff0c 想把这件事做了 xff0c 算是两年的收尾工作 xff0c 也是个新的开始 先从介绍这两
  • Gazebo学习笔记(一)

    搭建一个移动车 ctrl 43 m 进入到gazebo编辑界面 ctrl 43 m 进入到gazebo编辑界面 1 搭建一个车底盘 xff0c 选择simple shapes 的box xff0c 点击后在编辑框中释放 2 利用resize
  • 1分钟教会你二进制撩妹(汉)读心术

    近些年来 xff0c 小魔发现 xff0c 对于年轻的男女而言 xff0c 一些传统的节日似乎都变成了情人节或者脱单节 xff0c 就连 光棍节 xff0c 实际上很多人都是抱着节前或者是当天脱单而过的 双11 光棍节 即将来临 xff0c
  • 树莓派光敏传感器控制LED小灯的开关

    今天来做一个关于光敏传感器的使用demo xff0c 如图 xff0c 我采用的是普通用于开发的光敏传感器 传感器的基板上有两个LED xff0c 上一个是表示DO的高低电平 xff0c 下一个表示是否通电 当挡住传感头之后 xff0c D
  • Opencv+YOLO3目标检测/C++

    1 引言 YOLO3能够快速识别图片和视频中的80种物体 xff0c 而且实时性强 xff0c 准确度接近SSD Opencv是目前最流行的开源图像处理库 xff0c 使用Opencv能够非常方便的对图像进行处理 Opencv4 0已经包含
  • Linux安装Docker

    安装前菜 如何卸载Docker 1 查询docker安装包 yum list installed grep docker 2 删除安装包 yum remove docker 3 删除镜像 容器等 rm rf var lib docker 下
  • 北邮初试+复试经验分享

    初试情况 xff1a 政治 53 英语 70 数学 122 计算机综合 xff08 803 xff09 110 一些相关的基本情况 xff1a 本科专业数学 本科期间学过数据结构 通过了英语四六级 本科成绩还算可以 初试材料选择 xff08
  • apt命令概述

    目录 Linux软件仓库 软件源配置 apt命令 常见的命令如下 xff1a 常见的用法 示例 xff1a 使用apt安装redis软件 Linux软件仓库 Ubuntu采用集中式的软件仓库机制 xff0c 将各式各样 的软件包分门别类地存
  • 索引覆盖与回表

    懂的越多 xff0c 不懂的越多 上回书说到 xff1a 什么情况下 xff0c 索引下推没办法提高sql查询效率 xff1f 表info主键id名称name值value别名realname 对于info表 xff0c 我们现在有 xff0
  • Ubuntu18.04安装实时内核Preempt-RT

    文章目录 1 安装环境2 安装依赖包3 查看内核版本4 下载新的内核和对应的Preempt RT补丁5 解压缩6 打补丁7 配置内核8 编译内核9 校验结果10 重启11 测试12 调整分辨率 1 安装环境 Ubuntu18 04内核版本