龙空技术网

打造基于树莓派的实时系统

爱索创新 894

前言:

今天同学们对“树莓派centos7更新源”大体比较关切,看官们都想要学习一些“树莓派centos7更新源”的相关文章。那么小编同时在网上搜集了一些关于“树莓派centos7更新源””的相关内容,希望各位老铁们能喜欢,大家快快来了解一下吧!

硬件环境:Raspberry Pi 3 Model B

主 机:CentOS 7

树莓派支持的传统的Linux系统Raspbian是没有任何硬实时的支持,因此将树莓派核心板用于实现工业控制器时,一定需要对标准的Linux进行升级改造来提高其实时性,通过集成PREEMPT-RT实时内核补丁,将树莓派上标准的控制最差的响应延时从不确定的>200us(通常在200-500us,但随着处理器负荷提高,偶发性的响应延迟将达到ms级别以上)控制在确定的<120us以内

*本次配置和编译内核是在运行Linux的主机(x86 / x64)上执行的,而不是在Raspberry Pi上执行的。在Raspberry Pi上仅实现部署。

1.树莓派安装Raspbian

下载地址:

为了调试方便,选择的是desktop的版本,实际部署时,选择Lite版会更节省内存。

$ sudo dd bs=4m if=2018-11-13-raspbian-stretch-full.img of=/dev/rdisk2

2.在home目录下创建一个子目录

$ mkdir ~/rpi-kernel

$ cd ~/rpi-kernel

$ mkdir rt-kernel

3.克隆实时内核补丁和编译环境

$ git clone -b rpi-4.14.y-rt

$ git clone

4.配置环境变量

$ export ARCH=arm

$ export CROSS_COMPILE=~/rpi-kernel/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-

$ export INSTALL_MOD_PATH=~/rpi-kernel/rt-kernel

$ export INSTALL_DTBS_PATH=~/rpi-kernel/rt-kernel

5.构建内核配置

$ export KERNEL=kernel7

$ export INSTALL_MOD_PATH=~/rpi-kernel/rt-kernel

$ export INSTALL_DTBS_PATH=~/rpi-kernel/rt-kernel

$ cd ~/rpi-kernel/linux/

$ make bcmrpi_defconfig

6.检查修改配置

$ sudo yum install ncurses-devel

$ make menuconfig

启用CONFIG_PREEMPT_RT_FULL:Kernel Features → Preemption Model (Fully Preemptible Kernel (RT)) → Fully Preemptible Kernel (RT)

启用Enable HIGH_RES_TIMERS: General setup → Timers subsystem → High Resolution Timer Support

设置CONFIG_HZ为1000Hz: Kernel Features → Timer frequency = 1000 Hz

*如果找不到该CONFIG_PREEMPT_RT_FULL选项,则说明内核库没有切换分支,仍在master分支上。

*CONFIG_HZ默认情况下设置为100 Hz。如上文所述,如果需要较低的延迟,可以将其更改为1000Hz。选择1000 Hz而不是100 Hz将加快调度间隔,并且由于延迟会降低,因此响应速度会更快。IRQ的调度间隔也减少了。

7.编译内核

$ sudo yum install glibc.i686

$ yum whatprovides libstdc++.so.6

$ sudo yum install libstdc++-4.8.5-39.el7.i686

$ sudo yum install zlib-1.2.7-18.el7.i686

$ make -j4 zImage

$ make -j4 modules

$ make -j4 dtbs

$ make -j4 modules_install

$ make -j4 dtbs_install

$ mkdir $INSTALL_MOD_PATH/boot

$ ./scripts/mkknlimg ./arch/arm/boot/zImage $INSTALL_MOD_PATH/boot/$KERNEL.img

8.编译完成,迁移内核

$ cd $INSTALL_MOD_PATH

$ tar czf ../rt-kernel.tgz *

通过ssh协议将压缩文件迁移至tmp文件夹下

9.安装内核

$ cd tmp

$ tar xzf rt-kernel.tgz

$ cd boot

$ sudo cp -rd * /boot/

$ cd ../lib

$ sudo cp -dr * /lib/

$ cd ../overlays

$ sudo cp -d * /boot/overlays

$ cd ..

$ sudo cp -d bcm* /boot/

10.重新启动Raspberry Pi

检测内核是否正常运行

$ uname -r

4.14.52-rt34-v7+

标签: #树莓派centos7更新源 #树莓派4 centos7 #树莓派centos系统 #树莓派搭建centos7 #树莓派centos