1、编译实时内核
参考:
https://blog.csdn.net/weixin_51760563/article/details/122231647
2、下载内核及补丁
内核下载网址: https://www.kernel.org/pub/linux/kernel
RT补丁下载网址: https://www.kernel.org/pub/linux/kernel/projects/rt/
下载:
linux-5.13.tar.gz 和patch-5.13-rt1.patch.gz --2个文件放到同一目录下。
3、打补丁
tar -xzvf linux-5.13.tar.gz
gunzip patch-5.13-rt1.patch.gz --注意2个gz的解压包,解压方式不一样。
cp patch-5.13-rt1.patch linux-5.13/
patch -p1 < patch-5.13-rt1.patch
4、编译
cd linux-5.13
make ARCH=arm64 CROSS_COMPILE=arm-linux-gnueabihf- defconfig 二选一
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- defconfig 二选一
make bcm2711_defconfig ----重要,更改linux内核的配置,设置为树莓派的cpu。-好像没有这一步
make menuconfig
general setup–>Preemption Model(Preemptible kernel)–>
这里没有实时内核选项。需要安装补丁。-有些安装补丁后,也看不到
make -j4 Image.gz modules dtbs
sudo make modules_install
sudo cp arch/arm64/boot/dts/broadcom/*.dtb /boot/
sudo cp arch/arm64/boot/dts/overlays/*.dtb* /boot/overlays/ ---可能没有overlays的目录。
sudo cp arch/arm64/boot/dts/overlays/README /boot/overlays/
sudo cp arch/arm64/boot/Image.gz /boot/$KERNEL.img
sudo cp arch/arm64/boot/Image.gz /boot/kernel8.img --上面的一行,可能是这个。
二、安装linuxcnc
git clone -b master ---下载源码
cd src
./autogen.sh
./configure --with-realtime=uspace
make clean -----这个步骤可以不用。
make
sudo make setuid -----setuid/setgid 使其他用户在执行程序时,具有用户程序文件拥有者一样的权限。
sudo make setgid ----这步可能没有。
cd ..
sudo ./scripts/rip-environment
./scripts/linuxcnc ----启动linuxcnc,
./scripts/latency-test ---启动线程精度测试窗口 ok
运行效果:
|