为树莓派打实时preempt_rt补丁

2023-05-16

开发环境:树莓派4B,树莓派系统为Raspberry Pi OS Lite 64bit。

本地进行,windows系统 + PuTTY 即可。

非 4B 或 64bit 版本,可能有些许差别,详情参考:Raspberry Pi Documentation - The Linux kernel

一、准备工作

1.在 /usr/src 目录下创建文件夹 rtlinux,后续操作将在此文件夹下执行

sudo mkdir /usr/src/rtlinux
cd /usr/src/rtlinux

2.安装任务所需资源包

sudo apt install git bc bison flex libssl-dev make

3.下载Raspberry Pi OS内核源码

    可以事先到github查看默认的系统内核版本

    https://github.com/raspberrypi/linux  

git clone --depth=1 https://github.com/raspberrypi/linux

4.下载RT-Patch

    可以事先到补丁下载网站查询合适的版本

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

wget https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/5.15/patch-5.15.49-rt47.patch.xz  

5.解压补丁

xz -d patch-5.15.49-rt47.patch.xz

    如果不愿意通过命令行下载,可以直接到两个网站下载文件,通过U盘将文件复制到树莓派中。

    可以参考:Linux命令行访问U盘内容_From now on...的博客-CSDN博客 

二、配置环境 (在root权限下)

1.因为补丁版本和系统内核版本不一致,需要修改系统版本

cd linux
vim Makefile

    上图的三个数字即代表版本为 5.15.49 ,可根据补丁的版本进行适当的修改

2.将补丁移动至内核目录下

mv ../patch-5.15.49-rt47.patch ./

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

cat patch-5.15.49-rt47.patch | patch -p1

4.应用初始配置

KERNEL=kernel8
make bcm2711_defconfig

5.下载图形化配置所需包

apt install libncurses5-dev

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

make menuconfig

    先关闭 KVM support (Enter 进入,Space实现反选)

    选择 Fully Preemptible Kernel 

    然后选择 Exit 退出,是否保存? Yes

7.编译内核,并安装module

make -j4 Image.gz modules dtbs
make modules_install

    1.5 hours later 

8.添加相关核心文件

cp arch/arm64/boot/dts/broadcom/*.dtb /boot/
cp arch/arm64/boot/dts/overlays/*.dtb* /boot/overlays/
cp arch/arm64/boot/dts/overlays/README /boot/overlays/
cp arch/arm64/boot/Image.gz /boot/$KERNEL.img

9.重启,查看内核版本。

uname -a

Successful! 

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

为树莓派打实时preempt_rt补丁 的相关文章

  • 使用ORB-SLAM2算法和Turtlebot3机器人在自己构建的室内场景中建图

    本文叙述了在gazebo仿真环境和rqt可视化工具的背景下 xff0c 使用ORB SLAM2算法和turtlebot3 burger机器人在自己构建的室内场景中建图过程 目前存在的问题是运行RGBD节点时无法显示图像 xff0c 报错 W
  • 关于运行rqt_image_view命令后不显示相机图像信息的问题的解决方法

    本文叙述了在gazebo中添加完kinect V1相机 xff0c 开启机器人和场景后 xff0c 运行rqt image view命令不显示相机图像信息 xff0c 并且查询不到相关相机话题的问题的解决方法 1 问题描述 在gazebo中
  • QGC校准部分

    QGC校准 xff1a 主要是点击校准开始时发送校准的指令 xff0c 校准的逻辑时飞控里实现 xff0c 根据飞控回传的校准数据显示校准的步骤 开始校准 SensorsComponentController cpp中调用 startLog
  • ROS入门教程(二)—— ROS的版本选择与安装

    上篇文章我们介绍了VMware与Ubuntu的安装 xff0c 本文将继上文介绍安装完Ubuntu18 04后一些基本设置 xff0c 并且介绍如何根据Ubuntu版本选择正确的ROS版本 目录 前期准备 1 切换镜像源 2 安装中文输入法
  • ROS入门教程(三)—— 用C++或Python实现Hello world

    上篇文章我们介绍了ROS的版本选择与安装 xff0c 本文将继上文介绍安装完ROS Melodic Morenia后 xff0c 如何用C 43 43 或Python编写我们的第一个程序 目录 前言 Hello world实现流程 Pyth
  • ROS-Melodic升级Gazebo11

    ROS Melodic Full xff08 完整版 xff09 内置了Gazebo9 xff0c 但在Gazebo9中搭建自己的机器人环境时插入门窗会导致Gazebo9卡死 xff0c 建议升级成Gazebo11可以缓解该情况 注 xff
  • ROS入门教程(五)—— RViz仿真

    上篇文章我们介绍了URDF文件的导出 xff0c 本文将继上文介绍安装完导出URDF文件后 xff0c 如何在机器人操作系统 ROS 中显示 xff0c 并且让它动起来 目录 前言 RViz机器人模型可视化 launch启动RViz配置文件
  • ROS入门教程(六)—— Gazebo仿真

    作者环境已更新为Gazebo11 xff0c 读者可参照作者转载文章升级Gazebo11 xff0c 上篇文章我们介绍了RViz仿真 xff0c 本文将在Gazebo仿真环境中显示我们的机器人 目录 前言 Gazebo机器人模型可视化 前言
  • noVNC 源码安装步骤

    noVNC 源码安装步骤 在12 04 的ubuntu 中安装openstack novnc一直就是一个拦路虎 xff0c 今天受到启发 xff0c 所以写篇文章记录一下 以便于查看 noVNC 源码安装步骤 感谢林敏提示 设置nova c
  • ROS入门教程(七)—— Gazebo与RViz联合仿真

    通过Gazebo仿真和RViz仿真的学习后 xff0c 本文将通过Gazebo与RViz联合仿真实现机器人在Gazebo仿真环境中运动 目录 前言 URDF文件改写 Gazebo与RViz联合仿真 前言 机器人操作系统 ROS 提供了Gaz
  • .NET编程——利用C#显示图片(WinForm)

    目录 前言 程序设计 前言 在Visual Studio下用C 实现导入图片并显示图片 xff0c 同时可以通过按键来切换图片 程序设计 功能及使用流程 该程序可实现从文件夹中批量导入图片并显示 获取图片左侧显示图片列表 xff0c 右侧显
  • .NET编程——利用C#实现基于Socket类的聊天室(WinForm)

    目录 引言数据库设计登录注册窗体设计控件选择程序设计step1 连接数据库step2 注册step3 登录 源码 创建聊天室 服务器 窗体设计控件选择程序设计step1 定义变 常 量step2 创建服务器并监听客户端连接step3 接受连
  • C#语法——访问修饰符、枚举、结构体、类

    目录 访问修饰符枚举语法说明例子定义枚举调用枚举可访问性 小结 结构体语法说明例子定义结构体调用结构体可访问性 小结 类语法说明例子定义类调用类可访问性 小结 访问修饰符 访问修饰符属于关键字 xff0c 可用于修饰类型 变量和函数等等 x
  • LeetCode笔记——169. 多数元素

    题目 给定一个大小为 n 的数组 nums xff0c 返回其中的多数元素 多数元素是指在数组中出现次数 大于 n 2 的元素 你可以假设数组是非空的 xff0c 并且给定的数组总是存在多数元素 示例 1 xff1a 输入 xff1a nu
  • ubuntu python serial实现串口数据收发

    目录 1 ubuntu python serial实现串口数据收发1 1 ubuntu设置python31 2 安装python3 pip1 3 安装串口通信库pyserial1 4 安装串口调试软件cutecom1 5 serial 收发
  • 多传感器融合定位ch1

    多传感器融合定位ch1 目录 多传感器融合定位ch11 数据集下载2 数据集测试 深蓝学院多传感器融合定位课程笔记 采用的软硬件环境如下 硬件 华擎DeskMini X300W迷你主机 软件 ubuntu18 04 autolabor提供的
  • Docker网络network详解

    一 概述 Docker容器每次重启后容器ip是会发生变化的 这也意味着如果容器间使用ip地址来进行通信的话 xff0c 一旦有容器重启 xff0c 重启的容器将不再能被访问到 而Docker 网络就能够解决这个问题 Docker 网络主要有
  • ROS Ydlidar X3 激光雷达 读取数据 并计算XY坐标

    学习过程中为了防止遗忘 以此文字记录 如有错误 多多包涵 怕什么真理无穷 进一寸有一寸的欢喜 胡适 前置内容 xff1a 无 学习目标 xff1a ROS Ydlidar X3 激光雷达 读取数据 并计算XY坐标 学习内容 xff1a C

随机推荐

  • 个人博客项目

    一 项目功能描述 xff1a 主要分为4大功能模块 xff0c 用户登录功能 xff0c 文章评论功能 xff0c 发布和修改文章功能 xff0c 文章分类 登录首页之后可以查看所有文章的信息 xff0c 但是此时只能查看 xff0c 不能
  • 系统调用、API之间的关系(图)

    1 为什么用户程序不能直接访问系统内核模式提供的服务 xff1f 在linux中 xff0c 将程序的运行空间分为内核空间与用户空间 xff08 内核态和用户态 xff09 xff0c 在逻辑上它们之间是相互隔离的 xff0c 因此用户程序
  • Linux常用命令(面试版)

    常用指令 span class token function ls span 显示文件或目录 l 列出文件详细信息l span class token punctuation span list span class token punct
  • 带时间窗的车辆路径规划问题(VRPTW)

    车辆路径规划问题是运筹学中经典的NP难问题 xff0c 本文将选取其变种问题 xff0c 结合实际生产中遇到的配送问题进行综合考虑 xff0c 给出了相应的解决算法 一 VRP问题 车辆路径规划问题 Vehicle Routing Prob
  • Matlab 线性规划练习题

    文章目录 Q1Q2Q3Q4Q5 Q1 问题 数学建模某鸡场有1000只鸡 xff0c 用动物饲料和谷物混合喂养 每天每只鸡平均食混合饲料0 5KG xff0c 其中动物饲料所占比例不能少于20 动物饲料每千克0 30元 xff0c 谷物饲料
  • 机器学习 决策树ID3算法 连续值处理

    文章目录 1 开发环境2 1 决策树算法3 1 信息熵3 2 信息增益 一 过程1 计算信息熵2 对连续值进行处理3 选择最优的属性划分4 按照列的属性值划分数据子集4 根据 96 pandas DataFrame类型 96 建立决策树5
  • Python Pandas DataFrame value_counts() 函数 统计属性取值的个数

    文章目录 1 value counts 函数介绍2 统计属性的个数 1 value counts 函数介绍 返回DataFrame数据中其中一列属性取值的个数 比如 xff1a span class token keyword print
  • IDEA FileInputStream 读取文件路径

    文章目录 1 读取绝对路径2 读取相对路径2 1 相对于工程 1 读取绝对路径 相对路径相对于盘符 InputStream re span class token operator 61 span span class token keyw
  • ITK-Snap 处理医疗影像

    文章目录 0 引言1 ITK Snap基本功能1 1 ITK Snap视图介绍1 2 File菜单1 3 Edit编辑菜单1 3 1 个性化标注 1 4 Segmentation 图像标注1 5 Workspace 2 Tool 工具的使用
  • Ubuntu Linux 编译安装的基本步骤

    文章目录 1 基本步骤若报错 xff1a No such file or directory 2 解压 tar bz2文件参考 xff1a 1 基本步骤 解压 xff1a tar zxvf file tar gz 进入解压后的文件夹 xff
  • Ubuntu Linux 安装 QQ音乐打不开的问题

    文章目录 Ubuntu22 04 QQ音乐闪退问题1 修改 desktop 的配置 不生效则重启后生效 Ubuntu22 04 QQ音乐闪退问题 应该是与sandbox有冲突 1 修改 desktop 的配置 span class toke
  • Python os.path.join(a, b) a,b 包含根Linux路径时合并根路径

    文章目录 1 代码 1 代码 span class token operator gt gt span span class token operator gt span a span class token operator 61 spa
  • 推荐几本学uc/os-II的书

    1 xff08 比较难买 xff09 嵌入式实时操作系统uc os II教程 西安电子科技大学出版 这本书对UCOS的源代码分析的非常清楚 比作者原著 在某种程度上要好 xff0c 这本书对关键的代码都给出了流程图 xff01 2 xff0
  • Python os.path.join(a, b) a,b 包含根Linux路径时合并根路径

    文章目录 1 代码 1 代码 span class token operator gt gt span span class token operator gt span a span class token operator 61 spa
  • 1 Mac安装minconda 与 Pytorch

    文章目录 1 miniconda 安装2 配置清华镜像3 下载Pytorch参考 1 miniconda 安装 使用清华镜像 xff1a https mirrors tuna tsinghua edu cn anaconda minicon
  • python:invalid literal for int() with base

    文章目录 1 出现原因2 出现的情景3 解决字符串类型的数据转化 1 出现原因 使用了int 函数且int 转化的对象为非数字型字符串或者浮点型数字字符串 2 出现的情景 数字型字符串无法转化 span class token builti
  • JavaWeb

    JavaWeb Java web 1 基本概念 1 1 前言 web开发 xff1a web xff1a 网页的意思 www baidu com 静态web html Css提供给所有人看的数据始终不会发生变化 xff01 动态web 淘宝
  • 将Windows复制的文字或文件粘贴到VMware

    如果想将Windows中的文件复制到VMware的Linux虚拟机中 xff0c 或者将Windows中复制的命令粘贴到VMware中 xff0c 该怎么办呢 xff1f 需要安装 VMware Tools 安装VMware Tools最简
  • 硬实时RTLinux?为Linux打实时preempt_rt补丁

    开发环境为vm ware创建的ubuntu 20 04虚拟机 xff0c 4G内存 xff0c 80G硬盘 xff0c 4核处理器 一 准备工作 1 内核与补丁下载 xff1a 下载与Linux系统相近版本的内核源码 xff08 Linux
  • 为树莓派打实时preempt_rt补丁

    开发环境 xff1a 树莓派4B xff0c 树莓派系统为Raspberry Pi OS Lite 64bit 本地进行 xff0c windows系统 43 PuTTY 即可 非 4B 或 64bit 版本 xff0c 可能有些许差别 x