码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 为树莓派打实时preempt_rt补丁


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

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

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

    一、准备工作

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

    1. sudo mkdir /usr/src/rtlinux
    2. 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.因为补丁版本和系统内核版本不一致,需要修改系统版本

    1. cd linux
    2. 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.应用初始配置

    1. KERNEL=kernel8
    2. make bcm2711_defconfig

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

    apt install libncurses5-dev

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

    make menuconfig

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

        选择 Fully Preemptible Kernel 

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

    7.编译内核,并安装module

    1. make -j4 Image.gz modules dtbs
    2. make modules_install

        1.5 hours later 

    8.添加相关核心文件

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

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

    uname -a

    Successful! 

  • 相关阅读:
    Flask 接口
    智慧零售解决方案-最新全套文件
    赋值运算符与逻辑运算符
    Altium Designer20.2.3安装详解
    Elasticsearch核心技术与实战-05-elasticsearch的安装与简单配置-Windows
    openai assistants(机器人助理)彩色图片转黑白
    [PAT练级笔记] 22 Basic Level 1022 D进制的A+B
    【C++】设计模式之观察者模式
    8月23日计算机视觉理论学习笔记——图像检索
    Excel中高级筛选多个条件怎么做?
  • 原文地址:https://blog.csdn.net/qq_44786250/article/details/125890673
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号