English | 简体中文
优麒麟树莓派版本是为树莓派提供定制的发行版本,旧有项目采用 bash 脚本进行构建,现迁往 docker/qemu 工具链进行自动化安装。
本项目希望通过 docker/qemu 工具链,为优麒麟树莓派版本的镜像构建提供自动化支持。
- 支持树莓派3后的所有机型;
- 为 ukui-kwin 启用性能占用更低的默认设置;
- 目标 image 支持在 x86、aarch64 上进行构建工作;
必要
- docker
- bash
可选
无
Docker;树莓派;
本项目最终提供的版本构建工具的工作主要分为以下几个阶段:
- 构建环境准备
- 内核预构建
- 版本文件系统构造
- 镜像导出、分区设置、uboot 设置
- 集成测试
构建环境依据宿主机架构的不同需要探讨是否需要单独引入 qemu 对树莓派进行仿真,Docker 提供了一定程度的跨架构支持(buildx),未知的是它是否适用于树莓派。如需单独引入 qemu,则需要考虑在 x86 上的 aarch64 仿真以及 aarch64 上的 x86 仿真。此外,该环境也应当提供最基础的工具支持,诸如 apt、dpkg、debootstrap 等。
特别的,内核预构建并非是最终构建所得镜像所需要用到的,这是为了验证构建版本是否正常工作提供的一个最小化内核,主要用于提供集成测试最初的上下文环境。
当拥有构建环境之后,我们需要构建树莓派版本的一个 stage 文件系统,它将被用于导出最终的构建版本。该文件系统包含完整的 UKUI 桌面环境,还有一些我们期望集成的第三方软件。
从 stage 文件系统导出镜像是简单的,值得注意的是此过程中分区表的写入设计、uboot 如何进行通用的预设置等。
集成测试在这里并非是通常意义上集成测试,而是指 UKUI 桌面环境与 Ubuntu Kylin 默认应用集成后的测试。这一步验证的是,在无依托硬件时,该构建版本能否正常工作。
-
硬件支持
硬件型号 支持 树莓派3B ☐ 树莓派3B+ ☐ 树莓派4B(4GB) ☐ 树莓派4B(8GB) ☐ -
构建支持架构
架构 支持 amd64 ☐ aarch64 ☐ -
预构建内核
内核版本 支持 5.4 ☐ 5.10 ☐
目前为该构建工具的实现划分为了多个阶段:
一至两周,调研 docker 提供的 buildx 是否适用于树莓派的跨架构仿真。
构建工具的实现,能够生成 stage 文件系统,并由此导出构建镜像。此构建镜像应能在物理设备上正常工作。
使构建工具支持内核的预构建,并使用 docker 或 qemu 验证所得内核能否正常引导前一阶段所得的镜像
本文使用授权协议 Creative Commons Attribution-ShareAlike 4.0 International License。