础光 Linux 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
础光 Linux 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
础光 Linux 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 GPL
开发语言 C/C++
操作系统 未知
软件类型 开源软件
所属分类 操作系统
开源组织
地区 不详
投 递 者 罗奇奇
适用人群 未知
收录时间 2023-02-08

软件简介

础光 Linux 是面向汽车的实时操作系统,在原生 Linux 内核基础上,确保系统可靠的前提下,从中断线程化、调度策略、进程切换等方面进行了优化,构建了专注于仪表/娱乐/自动驾驶场景的安全、可靠、强实时的基础操作系统。

编译环境准备

推荐个人电脑的系统为 Ubuntu 18.04 LTS 及以上版本。

安装基础依赖软件

sudo apt install git bc bison flex libssl-dev make

安装交叉编译器

  • 方式一:通过包管理器
  sudo apt install gcc-aarch64-linux-gnu
  • 方式二:手动安装
  # 下载
  wget https://releases.linaro.org/components/toolchain/binaries/7.4-2019.02/aarch64-linux-gnu/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz
  # 解压
  tar xvf gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz
  # 当前用户的 .barhrc文件中添加如下行, 注意将路径替换为当前系统的值
  export PATH=~/bin/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/:$PATH
  • 验证安装
  # 输出信息中,确认 Target: aarch64-linux-gnu,即认为编译环境配置完成
  aarch64-linux-gnu-gcc -v

运行环境

系统支持在以下平台运行:

  • 虚拟环境:QEMU
  • 硬件环境:树莓派 4B 及其它通用平台

以下将以虚拟环境 QEMU 和树莓派 4B 作为示例介绍编译运行过程。

编译与运行

在 QEMU 平台上运行

  1. 安装 QEMU
sudo apt install qemu-system-aarch64
  1. 下载源码
git clone https://gitee.com/kernelsoft/photon-linux.git
  1. 编译
# 在 photon-linux 源码根目录中执行如下命令完成编译的配置(只需执行一次)
cd photon-linux
./quick-start.sh devel
# 执行如下命令编译内核
./quick-start.sh image
  1. 准备 rootfs.img
# 通过如下链接下载预制的版本并重命名为 rootfs.img,保存到 build 目录
mkdir build && cd build
wget https://www.kernelsoft.com/api/media?path=static/files/rootfs.img -O rootfs.img
  1. 运行系统

编译完成,可以通过 QEMU 运行 Photon Linux

 ./quick-start.sh run

在树莓派 4B 上运行

  1. 制作 Rsapberry Pi 启动盘

在编译环境中进行以下操作制作启动盘:

  • 准备镜像:
#从 Raspberry 官网(https://www.raspberrypi.com/software/operating-systems/)下载 Raspberry Pi 最新镜像
wget https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2021-05-28/2021-05-07-raspios-buster-arm64.zip
  • 烧录镜像到SD卡中
# 1 准备一个空白SD卡并插入到电脑
# 2 下载镜像烧录工具 Raspberry Pi Imager并安装,以 Ubuntu 系统为例
wget https://downloads.raspberrypi.org/imager/imager_latest_amd64.deb
dpkg -ivh imager_latest_amd64.deb
# 3 启动图形化烧录工具,选择镜像文件以及SD卡即可进行烧录
  • 修改默认配置:
    • 编辑SD卡第一分区/config.txt 配置文件,追加下面两项配置以显示串口的打印输出: uart_2ndstage=1 enable_uart=1
    • 编辑SD卡第一分区/cmdline.txt,去掉 quiet 参数,以显示内核打印信息。
    • 验证启动盘烧录成功: 将SD卡启动盘插到树莓派4B上,查看是否可正常启动。 本例中系统账户沿用树莓派的默认账户。
      • 登录账号:pi
      • 登录密码:raspberry
  1. 交叉编译并替换原生 Linux 内核

在编译环境中进行以下操作:

  • 交叉编译 Photon Linux 内核
cd photon-linux
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- pi4b_defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image modules -j4
  • 替换SD卡启动盘上原生 Linux 内核镜像和模块
# 插入SD卡,并手动挂载sd卡的2个分区
make modules_install INSTALL_MOD_PATH=SD卡第二分区/
cp arch/arm64/boot/Image SD卡第一分区/kernel8.img
  1. 运行系统

将SD卡插入树莓派,在树莓派上启动运行 Photon Linux:

# 验证内核安装成功,检查uname命令的输出是否为 Chushi 内核信息:
pi@raspberrypi:~$ uname -r
5.10.147-22.08.chushi.aarch64-rt74

性能测试

开发者可将对比样本与 Photon Linux 进行实时性的对比,我们通过调度延迟测试工具 Cyclictest 对不同优化措施的 Linux 系统进行了对比,得出如下实验结果:

中断/调度延迟优化对比结果

优化措施 标准内核5.10 Photon Linux
不加实时补丁,只打开抢占 59 ms 4 ms
加入实时补丁 1.7 ms 1.5 ms
实时性增强优化 200 us 100 us
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣 发布并加入讨论🔥
发表了资讯
2023/02/08 15:28

国科础石开源汽车操作系统并公布开源计划

2023年2月7日,国产汽车基础软件厂商国科础石正式对外发布础光操作系统整体规划及开源计划,并率先将应用在智能汽车座舱域、自动驾驶域的础光Linux进行开源,以此作为国科础石开源计划实施的起点。 开源地址:https://gitee.com/kernelsoft 国科础石计划在2023年逐步开源础光Linux、础光实时操作系统及础光虚拟机管理器(Hypervisor),2024年将面向自动驾驶域的础光智能操作系统进行开源;同时对于智能汽车更大算力、更高实时、...

2
5
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
0 评论
22 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部