admin管理员组

文章数量:1530518

1. 首先git clone 最新的Armbian

apt-get -y install git
git clone --depth=1 --branch=main https://github/armbian/build

笔者git下来的版本号是 ca7f437fb5fb52f6c3cdb30eacdf6c3d3f34e18f  其余版本未经测试不保证能成功。

2.先编译一遍Armbian

cd build
./compile.sh

选择Do not change the kernel configuration  ----->   orangepi5--------> legancy  -----------> bookworm  --------> Image with desktop environment ---->xfce desktop

编译这一遍目的1是下载好编译环境,2是在生成的镜像中获得dtb文件(当然从源码中直接取dtb文件也是可以的)

由于墙的问题在国内访问github异常不稳定,解决办法请问度娘。经过漫长的等待编译完成,这时在 build/output/images 目录下应该生成了类似Armbian_23.08.0-trunk_Orangepi5_bookworm_legacy_5.10.160_xfce_desktop.img这样的镜像文件。

此时镜像文件可以直接烧录到SD卡插到orangepi5 就可以启动了。但是这时内核时非实时的。

3.修改Armbian将linux内核指定为rt内核

下载修改的文件

链接:https://pan.baidu/s/1cep0tEf3koViRvkPEXL5kw
提取码:hiel

一共修改了两个文件  build/config/sources/families/rockchip-rk3588.conf

和build/config/kernel/linux-rockchip-rk3588-legacy.config

第一个文件主要修改了所使用内核的github地址和分支,第二个文件是修改的内核配置文件。

按照对应的目录替换掉Armbian中的文件。然后重新编译(这次快多了,因为环境和大部分软件包在第一次编译时已经下好了)

cd build
./compile.sh

Show a kernel configuration  ----->   orangepi5--------> legancy  -----------> bookworm  --------> Image with desktop environment ---->xfce desktop

弹出内核配置后找到Preempt选项勾选real-time选项,保存后开始编译。

general setup ------->  Preemption Model ------> Fully Preemptiable Kernel (Real-Time)

编译完成后可以看到新生成的

Armbian_23.08.0-trunk_Orangepi5_bookworm_legacy_5.10.110_xfce_desktop.img

将新生成的img文件烧录的SD卡。

如果此时将SD可插入OPI5 ,内核启动时会出错,提示  can‘t find rk3588s-orangepi-5.dtb  这是缺少设备树文件导致的

4.添加dtb文件

从下面链接下载   rk3588s-orangepi-5.dtb  文件,当然也可以从步骤2生成的img文件中提取dtb

链接:https://pan.baidu/s/1-tmPycM-X5fDTB-qKNx5PQ
提取码:sgzt

将烧录好镜像的SD卡接到电脑上,会看到有boot分区,将rk3588s-orangepi-5.dtb 文件复制到该分区的 /dtb/rockchip 目录下。

重新将SD卡插到OPI5开发板上启动,初始化设置后顺利进入系统,打开终端输入uname -a 有Preempt-RT字样,说明已经更换为实时内核了。

本文标签: 适用于内核preemptRtArmbian