跳转到内容
返回官网

系统架构

理解 JelinaOS 的架构,只需抓住四个关键词:双系统、只读根、独立数据、云端协同。这套设计共同构成了系统高可靠、易维护、可管理的基础。

JelinaOS 在存储介质上采用清晰的分区布局,各分区职责单一、互不干扰。分区以固定名称(Label)标识,跨平台一致——无论底层设备节点如何变化(x86 为 sda/nvme、ARM 为 mmcblk),系统都通过分区名称定位:

┌────────────────────────────────────────────────┐
│ jelina-boot 引导分区:启动加载器与环境变量 │
│ jelina-kernel-1 内核 1(与 2 互为备份,只读) │
│ jelina-kernel-2 内核 2 │
│ jelina-system-1 系统 1(只读,出厂状态) │
│ jelina-system-2 系统 2 │
│ jelina-data 数据分区:所有用户数据与写入 │
│ jelina-recv 恢复分区:系统修复与恢复出厂 │
└────────────────────────────────────────────────┘
  • A/B 双分区:内核与系统各保留两份完整副本,互为备份;
  • 只读挂载:系统分区在运行期以只读方式挂载,内容不会被任何程序篡改;
  • 独立数据分区:所有用户数据、配置与运行期写入,统一落在 Data 分区。

无论底层是哪一种硬件平台,JelinaOS 的启动链路都遵循同一套逻辑:

硬件固件 → 启动加载器 → 选择 A/B 分区 → 加载内核 → 组装系统 → 业务应用启动
│ │ │
平台相关 平台相关 平台无关,以下流程所有平台完全一致
  1. 硬件固件与启动加载器完成平台初始化(不同平台各有差异,用户无需感知);
  2. 启动加载器读取启动策略,决定从 A 还是 B 分区启动,并校验系统健康状态;
  3. 内核启动后,系统将只读的系统分区与可写的数据分区组装为统一的运行视图;
  4. 系统服务与业务应用依次启动,设备进入工作状态。

系统更新遵循同一套链路:新版本写入备用分区,切换后自动校验,失败自动回退;带宽受限的现场还可使用增量更新,只传输变化部分。

这套流程保证:更新只影响备用分区,当前系统运行不受影响;启动时自动校验,异常自动切换。

运行期,系统内部的数据流向遵循严格的隔离原则:

┌────────────────────────────┐
│ 应用层(容器 / 原生应用) │
└──────────────┬─────────────┘
│ 读取:只读系统
│ 写入:数据分区
┌──────────────┴─────────────┐
│ 系统层(只读,不可篡改) │
├────────────────────────────┤
│ 数据分区(所有用户写入) │
└────────────────────────────┘
  • 应用只能读取系统内容,无法修改系统本体;
  • 所有写入操作被重定向到数据分区,与系统完全隔离;
  • 恢复出厂设置会将系统与用户写入恢复到出厂状态,重要数据请提前备份。

设备通过内置的设备代理与 JelinaCloud 云端平台协同工作:

┌──────────┐ 状态上报 / 日志 ┌─────────────┐
│ 边缘设备 │ ─────────────────────────▶ │ JelinaCloud │
│ JelinaOS │ ◀───────────────────────── │ 云端平台 │
└──────────┘ 更新下发 / 远程运维 └─────────────┘
  • 上行:设备状态、运行指标、日志持续上报,云端实时可视;
  • 下行:系统更新、应用发布、配置策略云端统一编排;
  • 安全通道:生产模式下,设备仅通过加密通道与云端通信,远程运维不经公网暴露。
层次 组成 职责
应用层 容器应用、原生应用 承载业务逻辑
运行层 容器运行时、服务管理、设备代理 应用编排、系统服务、云端协同
系统层 只读系统(Debian / Ubuntu / Kylin 等) 提供稳定、不可篡改的系统底座
硬件层 ARM64(全志 / 瑞芯微 / NXP i.MX)、x86_64 多平台统一适配

这套架构的最终效果:系统更安全、更新更可靠、运维更简单——这正是 JelinaOS 面向工业边缘场景的架构答卷。