嵌入式舰队平台

一套栈。整支舰队。零版税。

Xenolith Fleet OS 是面向自助终端与 HMI 的精简 Linux 设备系统与控制平面:原生 Vulkan UI 直达显示,应用与系统 OTA,引擎无 per-device 版税。

60fps UI + ~150 MB 镜像 + fleet/OTA —— 一个产品,替代 Qt + Yocto + Mender。


60 fps
Raspberry Pi 4 GPU
~150 MB
系统镜像(GPU)
<512 MB
内存占用
$0
引擎 per-device 版税

运行于
Raspberry Pi 4 aarch64 · V3DVQEMU aarch64 · lavapipeRockchip 规划中ARM · RISC-V BSP 目标

缺口

三个问题,一套破碎的技术栈

成本与碎片化

OEM 需要拼凑 GUI 框架、Yocto 镜像、OTA 厂商与 MDM —— 四张账单、数月 NRE,以及拖垮中等批量经济性的 per-device 版税。

许可与主权

许多厂商无法获得或受制裁限制的商业 GUI 栈与平台 SDK。锁定设备难以履行 LGPL relink 义务 —— 关键基础设施需要可信软件栈。

体积与性能

Chromium 自助终端空闲就吃掉 >512 MB,在 Pi 级硬件上卡顿。Android 需要数 GB 与 30–60 秒启动。合成器栈在绘制首个像素前就损失 30–40% 帧时间。


生命周期

开发 → 刷写 → 运行 → Fleet OTA

从桌面 Xenolith 应用到不可变设备舰队的一体化路径 —— 无需单独嵌入式工具链,设备上也无需容器运行时。

开发。

在 Windows、Linux 或 macOS 上用 Xenolith SDK 构建并调试同一应用。

刷写。

生成可启动镜像 —— rootfs + 内核 + 你的二进制 —— 无需 Yocto 咨询项目。

运行。

一个原生 aarch64 二进制通过 Vulkan 直达 DRM/KMS。无合成器,无容器。

Fleet OTA。

无重启推送应用更新;通过 A/B 分区推送系统镜像并自动回滚。

开发。 刷写。 运行。 Fleet OTA。

桌面即设备。Linux aarch64 二进制就是你已在桌面运行的同一应用 —— 不是移植。


核心系统

自助终端设备系统,而非完整发行版

带完整性校验的不可变 Linux、直接显示输出,以及适合廉价闪存与紧张内存预算的体积。

直接 DRM/KMS

Vulkan 通过 VK_KHR_display 呈现 —— 场景图与面板之间无 X11、Wayland 或合成器。

不可变 + 可验证

带 dm-verity 的 squashfs 根。只读系统分区;应用与舰队状态在独立数据卷。

GPU 或软件 ICD

硬件 Vulkan(Pi 上 V3DV)可达 60 fps;无成熟驱动的板卡与 QEMU 使用 lavapipe —— 每个镜像变体一个 ICD。

单一原生二进制

载荷是直达 KMS 的 Xenolith ELF —— 不是容器、snap 或浏览器。应用替换即文件拷贝。


舰队控制

监控、更新、诊断 —— 面向舰队规模

设备代理加操作员控制台,覆盖完整设备生命周期:开通、心跳、OTA、控制台、退役。

UpdateApp

将新 ELF 推入数据槽并重启自助终端进程 —— 无需重启,无需重建完整镜像。

UpdateSystem

将 squashfs 写入非活动 A/B 槽、重启、验证,启动失败时自动回滚。

遥测与心跳

设备上报状态与指标,控制台可看到在线、过期或故障设备。

操作员控制台

带设备列表、部署操作与远程 SSH 终端的 Web 仪表盘。


开发体验

刷写一次。秒级迭代。

桌面 = 设备

aarch64 Linux 二进制就是你在桌面调试的同一 Xenolith 应用 —— 无模拟器鸿沟,无需仅设备重写。

应用替换

系统刷写后,通过 SSH 或 FAT 在数秒内替换自助终端二进制。仅在基础镜像变化时才完整重建 OS。

无需 Yocto NRE 的镜像

xl-builder / flashing SDK 将 rootfs + 内核 + 应用变成可启动 SD/USB 镜像 —— 分钟级,而非 3–6 个月 Yocto 项目。

AI 原生工具

栈随附 AGENTS 与 SKILLS,编码代理开箱即懂构建系统、部署路径与舰队工作流。


xenolith remote

数据必须留在服务器时的瘦客户端

可选的 QUIC 远程渲染:终端只画像素;应用逻辑与敏感数据留在服务器 —— 适用于支付自助机、ATM 与医疗终端。

实验性 —— 场景序列化与传输已存在;尚非主舰队路径。


对比

坦诚对照

与成熟舰队平台相同的 golden-image 模式 —— 差异在于加载模型与一体化 GUI 栈。

Xenolith Fleet OSQt / Boot to QtChromium 自助Android + MDMbalena / Torizon
UI 模型原生 Vulkan → KMSQt + 合成器浏览器Android UI容器化应用
镜像体积~120–150 MBGB 级 YoctoGB 级2–4 GB+容器层
引擎版税$0按设备 / 席位$0$0不适用
Fleet / OTA内置另加 Mender 等自建 / MDMMDM 订阅
桌面 = 设备部分

适用场景

为无人值守 GUI 设备而生

自助与 POS

需要在预算 ARM 板上获得灵敏 UI 的自助机、收银终端与市政设备。

HMI 与 SCADA 面板

GPU UI 与可信软件栈比桌面 OS 更重要的操作员面板。

数字标牌

可靠播放,无需 Chromium 内存泄漏与夜间 cron 重启。

充电、停车、票务

BOM、闪存与启动时间预算紧张的户外与半户外设备。

高保障终端

偏好瘦客户端远程渲染、数据不落设备的支付与医疗场景。

自主可控栈

需要主权工具链路径的制造商 —— 自有 LLVM 工具链、栈内 GOST 密码学、可登记软件路线图。


状态

已交付 —— 以及接下来

我们更愿展示实测结果,而不是过度承诺。以下是今天可运行的部分与仍在产品化的部分。

已交付

RPi4 设备 + GPU 路径

带 V3DV(60 fps)与 lavapipe 变体的可启动镜像;硬件上验证了不可变根与自助应用槽。

已交付

应用 OTA 与替换

无需重刷 OS 即可推送新二进制 —— 通过舰队路径或开发者直接 SSH/FAT 替换。

部分完成

Fleet Control PoC

设备注册、心跳、UpdateApp/UpdateSystem、Web 控制台与 QEMU 多设备演示 —— 正硬化至生产级 PKI。

开发中

QUIC 网关与秒开

双向 TLS 设备门户、金丝雀发布,以及开机到可交互目标(含 1–2 秒 instant-on)。


下一步

试点舰队。交付设备。

面向构建自助机、HMI 面板与标牌舰队的 OEM 与集成商 —— 一套栈覆盖 UI、镜像与 OTA,引擎无 per-device 版税。底层开源引擎;Fleet OS 负责设备生命周期。

申请试点 Xenolith Engine GitHub