础光Liux是面向汽车的实时操作系统,在原生Liux内核基础上,确保系统可靠的前提下,从中断线程化、调度策略、进程切换等方面进行了优化,构建了专注于仪表/娱乐/自动驾驶场景的安全、可靠、强实时的基础操作系统。
编译环境准备推荐个人电脑的系统为Ubutu18.04LTS及以上版本。安装基础依赖软件sudoaptistallgitbcbisoflexlibssl-devmake安装交叉编译器方式一:通过包管理器sudoaptistallgcc-aarch64-liux-gu方式二:手动安装#下载wgethttps://releases.liaro.org/compoets/toolchai/biaries/7.4-2019.02/aarch64-liux-gu/gcc-liaro-7.4.1-2019.02-x86_64_aarch64-liux-gu.tar.xz#解压tarxvfgcc-liaro-7.4.1-2019.02-x86_64_aarch64-liux-gu.tar.xz#当前用户的.barhrc文件中添加如下行,注意将路径替换为当前系统的值exportPATH=~/bi/gcc-liaro-7.4.1-2019.02-x86_64_aarch64-liux-gu/bi/:$PATH验证安装#输出信息中,确认Target:aarch64-liux-gu,即认为编译环境配置完成aarch64-liux-gu-gcc-v运行环境系统支持在以下平台运行:虚拟环境:QEMU硬件环境:树莓派4B及其它通用平台以下将以虚拟环境QEMU和树莓派4B作为示例介绍编译运行过程。编译与运行在QEMU平台上运行安装QEMUsudoaptistallqemu-system-aarch64下载源码gitcloehttps://gitee.com/kerelsoft/photo-liux.git编译#在photo-liux源码根目录中执行如下命令完成编译的配置(只需执行一次)cdphoto-liux./quick-start.shdevel#执行如下命令编译内核./quick-start.shimage准备rootfs.img#通过如下链接下载预制的版本并重命名为rootfs.img,保存到build目录mkdirbuild&&cdbuildwgethttps://www.kerelsoft.com/api/media?path=static/files/rootfs.img-Orootfs.img运行系统编译完成,可以通过QEMU运行PhotoLiux./quick-start.shru在树莓派4B上运行制作RsapberryPi启动盘在编译环境中进行以下操作制作启动盘:准备镜像:#从Raspberry官网(https://www.raspberrypi.com/software/operatig-systems/)下载RaspberryPi最新镜像wgethttps://dowloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2021-05-28/2021-05-07-raspios-buster-arm64.zip烧录镜像到SD卡中#1准备一个空白SD卡并插入到电脑#2下载镜像烧录工具RaspberryPiImager并安装,以Ubutu系统为例wgethttps://dowloads.raspberrypi.org/imager/imager_latest_amd64.debdpkg-ivhimager_latest_amd64.deb#3启动图形化烧录工具,选择镜像文件以及SD卡即可进行烧录修改默认配置:编辑SD卡第一分区/cofig.txt配置文件,追加下面两项配置以显示串口的打印输出:uart_2dstage=1eable_uart=1编辑SD卡第一分区/cmdlie.txt,去掉quiet参数,以显示内核打印信息。验证启动盘烧录成功:将SD卡启动盘插到树莓派4B上,查看是否可正常启动。本例中系统账户沿用树莓派的默认账户。登录账号:pi登录密码:raspberry交叉编译并替换原生Liux内核在编译环境中进行以下操作:交叉编译PhotoLiux内核cdphoto-liuxmakeARCH=arm64CROSS_COMPILE=aarch64-liux-gu-pi4b_defcofigmakeARCH=arm64CROSS_COMPILE=aarch64-liux-gu-Imagemodules-j4替换SD卡启动盘上原生Liux内核镜像和模块#插入SD卡,并手动挂载sd卡的2个分区makemodules_istallINSTALL_MOD_PATH=SD卡第二分区/cparch/arm64/boot/ImageSD卡第一分区/kerel8.img运行系统将SD卡插入树莓派,在树莓派上启动运行PhotoLiux:#验证内核安装成功,检查uame命令的输出是否为Chushi内核信息:pi@raspberrypi:~$uame-r5.10.147-22.08.chushi.aarch64-rt74性能测试开发者可将对比样本与PhotoLiux进行实时性的对比,我们通过调度延迟测试工具Cyclictest对不同优化措施的Liux系统进行了对比,得出如下实验结果:中断/调度延迟优化对比结果优化措施标准内核5.10PhotoLiux不加实时补丁,只打开抢占59ms4ms加入实时补丁1.7ms1.5ms实时性增强优化200us100us点击空白处退出提示










评论