跳到主要内容

Operating Systems and Virtualization Workspace

TGOSKits面向系统软件研发的一体化工作区

ArceOS、StarryOS、Axvisor 三套系统与它们共享的组件、内存、驱动、虚拟化和平台实现,位于同一个包含 193 个成员的 Cargo workspace 中。 cargo xtask 统一承担配置解析、构建、镜像生成、QEMU 与板卡运行以及分层验证,使同一处组件改动可以在多个系统与目标架构上直接复现,而不需要为每套系统维护独立的构建脚本。

3核心系统
193工作区成员
4目标架构
xtask统一命令入口
运行流程示意 · 非实时日志
$

Core Capabilities

可组合的系统软件基础能力

工作区按领域划分出 components/、memory/、drivers/、fs/、net/、virtualization/ 与 platforms/ 七类目录,每一类只暴露明确的能力边界。三套系统按各自需求选择组合这些能力,组件本身不绑定任何一套系统的运行语义。

TGOSKits 系统与组件能力全景左侧七类领域组件汇聚至中央 TGOSKits 工作区,右侧连接 ArceOS、StarryOS 与 Axvisor。上方 cargo xtask 编排构建与验证,下方列出四种目标架构。连线表示能力组合,不是逐包依赖图。UNIFIED ORCHESTRATIONcargo xtaskcomponents/任务 · 调度 · CPU 抽象 · 基础工具memory/内存分配 · 地址空间 · 页表 · DMA / MMIOdrivers/块设备 · 网络设备 · USB · 中断与设备接口fs/VFS · 文件系统 · 页缓存与块设备集成net/网络协议栈 · Socket · 网络设备适配virtualization/VM · 虚拟设备 · 客户机地址空间platforms/平台契约 · 启动与固件 · 硬件资源CARGO WORKSPACETGOSKits共享组件 · 系统集成配置 · 构建 · 运行 · 验证明确接口边界,按需组合能力ArceOS模块化运行时StarryOSLinux 用户态兼容AxvisorType-I HypervisorARCHITECTURE TARGETSAArch64RISC-Vx86_64LoongArch

Systems

面向不同运行目标的三套系统

三套系统各自维护启动入口、配置集合、运行时语义和测试套件,同时复用同一批组件与 ArceOS 基础能力。每张卡片自下而上展示该系统的复用基础、实现主体和运行目标。

Architecture

四层职责架构

四层描述的是职责归属而不是目录等级:场景入口选择能力与运行配置,系统语义定义接口行为和生命周期策略,领域能力沉淀可跨系统复用的实现,平台边界隔离 CPU、固件与板级差异。层与层之间只通过依赖声明、trait 和能力接口连接,完整依赖关系以组件关系图和构建配置为准。

TGOSKits four-layer architectureFour conceptual responsibility layers show scenario entry, system semantics, shared capabilities and platform contracts; this is not a complete Cargo dependency graph.04ENTRY场景入口configuration03SYSTEM系统语义OS lifecycle & policy02SHARED领域能力reusable no_std crates01PLATFORM平台边界arch · MMIO · DMA · IRQSTABLE CONTRACTSworkspace dependencies · traits · capability APIs
04
ENTRY

场景入口

定义目标系统的能力选择、构建参数与运行场景,同一批领域实现通过不同的 package 与 feature 组合装配成面向该场景的镜像。

feature / package selectionboard / VM configuration
03
SYSTEM

系统语义

实现内核生命周期、接口语义与运行策略:ArceOS 的模块化运行时、StarryOS 的 Linux 兼容语义和 Axvisor 的 VMM 都位于这一层。

OS lifecycle / syscall semanticscrate composition / policy
02
SHARED

领域能力

沉淀跨系统复用的内存、调度、I/O 与虚拟化机制,通过 no_std crate 与 trait 暴露能力,不引入具体系统的运行策略。

no_std reusable cratestraits / capability APIs
01
PLATFORM

平台边界

适配 CPU 架构、固件、板级资源与设备访问,把启动、内存布局、时钟、中断和设备发现事实转换为上层可消费的稳定接口。

arch / board adaptersMMIO / DMA / IRQ contracts
01

职责分层与实际依赖

四层用于解释代码应该放在哪里、允许依赖谁,不是严格的 Cargo 拓扑。例如 axvm 依赖 ArceOS 的运行时服务,部分领域组件之间也存在直接依赖;评估改动影响时,应核对直接依赖与 feature 条件,而不是只看目录层级。

02

水平切分的复用边界

同一层的 crate 通过 trait 或能力接口解耦,系统以组合方式获取能力,而不是通过继承或全局单例;新的系统集成需求应落在接口层,而不是扩散到具体实现。

03

副作用止于边界

MMIO、DMA、IRQ、固件与调度能力只通过显式 API 跨层传递,避免组件内部隐式访问硬件。能力契约可以隔离大部分系统与平台差异,但具体耦合仍需按组件逐一审查。

Component Workspace

Git Subtree 组件同步工作流

scripts/repo/repos.csv 登记 41 条组件来源映射,每条记录包含上游地址、分支、目标目录与分类;其中 39 个目标目录当前存在,另有 2 条记录指向已移除的目录,同步前需要先清理。同步动作由维护者通过 repo.py 显式执行,组件改动不会自动写回上游仓库。

41 条 Git Subtree 映射记录:外部仓库 ↔ 统一工作区 ↔ 上游
axcpucomponents/axcpu
arm_vgicvirtualization/arm_vgic
rockchip-npudrivers/npu/rockchip-npu
TGOSKits统一集成工作区
外部仓库汇聚41 条映射记录39 个目标目录存在
Subtree 同步工具repo.py list / pull / push集成验证后同步回上游
来源边界清晰repos.csv · target_dir · category
axcpu独立仓库
arm_vgic独立仓库
rockchip-npu独立仓库
$ python3 scripts/repo/repo.py list查看组件仓库映射与同步状态
← 组件仓库集成验证上游仓库 →
$ repo.py pull$ repo.py pushrepos.csv

Hardware Enablement

四架构平台与设备使能

四种架构都具备 ArceOS、StarryOS 与 Axvisor 的 QEMU 构建与测试入口,差异集中在虚拟平台模型和启动路径上。drivers/ 按设备类型组织驱动核心与具体实现,通过 rdif-* 等能力接口接入系统。物理板卡用例登记在 CI 清单中,实际执行取决于变更路由、自托管运行器和硬件可用性。

01

四架构 QEMU 配置

三套系统均有对应构建与测试入口

aarch64
aarch64-unknown-none-softfloatQEMU virt;板卡验证以 OrangePi-5-Plus 为主
ArceOS · StarryOS · Axvisor
riscv64
riscv64gc-unknown-none-elfQEMU virt;Axvisor 启用 sstc
ArceOS · StarryOS · Axvisor
x86_64
x86_64-unknown-noneq35 · ACPI;Axvisor 的 QEMU 用例需要 KVM 与 Intel VMX / AMD SVM
ArceOS · StarryOS · Axvisor
loongarch64
loongarch64-unknown-none-softfloatQEMU virt;Axvisor 使用动态 UEFI/OVMF,需要 LVZ 容器
ArceOS · StarryOS · Axvisor
02

drivers/ 设备类别

设备核心实现通过 RDIF 等能力接口接入系统

块设备

sdhci-host · dwmmc-host · phytium-mci-host · nvme-driver

网络

realtek-rtl8125 · eth-intel · fxmac_rs · rd-net

中断控制器

arm-gic-driver · ax-riscv-plic · rdif-intc

PCIe

pcie · rk3588-pci · rdif-pcie

USB

crab-usb · usb-if · usb-serial

AI 与多媒体

rockchip-npu · k230-kpu · sg2002-tpu · rockchip-rga · rockchip-jpeg

平台设备

rockchip-pwm · ax-arm-pl031 · some-serial · arm-scmi-rs

Self-hosted CI

实体板卡验证

当前 CI 清单登记的板卡与验证场景

平台支持范围
  • OrangePi-5-Plus

    • ArceOS PMU
    • StarryOS suites
    • Axvisor Linux/Starry Guest
  • Phytium Pi

    • Axvisor Linux Guest
  • ROC-RK3568-PC

    • Axvisor Linux Guest
  • ASUS NUC15 CRH

    • Axvisor Linux Guest
  • AKA-00-SG2002

    • StarryOS suites
  • VisionFive 2

    • StarryOS suites
  • JL LSGD2K10

    • StarryOS suites

Verification

从组件检查到真实板卡的三级验证

验证按成本和覆盖面从低到高分为三级:先在宿主机上以最短反馈路径发现组件问题,再用 QEMU 运行完整系统镜像检查集成与运行语义,最后在自托管板卡上确认平台适配和真实设备行为。CI 按改动的影响范围选择其中若干级执行。

Documentation Map

面向研发任务的文档导航

文档按研发任务组织:从环境准备和快速上手,到构建配置与测试判定,再到架构说明和仓库协作流程,每类任务的入口如下。

系统上手

分别查阅 ArceOS、StarryOS 与 Axvisor 的环境准备、rootfs 或 Guest 准备以及 QEMU 启动步骤。