为树莓派打实时preempt_rt补丁

开发环境:树莓派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! 

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值