ArturR0k3r/AkiraOS

GitHub: ArturR0k3r/AkiraOS

一个基于 Zephyr 与 WebAssembly 沙盒的嵌入式安全平台,通过能力守卫与免烧录 OTA 解决受限设备安全隔离与快速迭代问题。

Stars: 34 | Forks: 5

# AkiraOS **WebAssembly 运行时,适用于微控制器** 每个应用程序都是一个沙盒化的 `.wasm` 模块。通过空中部署。不需要固件烧录。 [![版本](https://img.shields.io/badge/version-1.4.9%20"Gl1tch"-7f5af0?style=flat-square)](https://github.com/ArturR0k3r/AkiraOS/releases) [![Zephyr](https://img.shields.io/badge/Zephyr-4.3.0-3b82f6?style=flat-square)](https://zephyrproject.org) [![WAMR](https://img.shields.io/badge/WAMR-2.x-22c55e?style=flat-square)](https://github.com/bytecodealliance/wasm-micro-runtime) [![许可证](https://img.shields.io/badge/license-Apache%202.0-22c55e?style=flat-square)](LICENSE) [![OSHWA](https://img.shields.io/badge/OSHWA-MD000003-f59e0b?style=flat-square)](https://certification.oshwa.org/md000003.html) [![星标](https://img.shields.io/github/stars/ArturR0k3r/AkiraOS?style=flat-square&color=7f5af0)](https://github.com/ArturR0k3r/AkiraOS/stargazers) [**快速开始**](#quick-start) · [**架构**](#architecture) · [**AkiraSDK**](#wasm-app-development) · [**硬件**](#supported-hardware) · [**文档**](https://docs.akiraos.dev)
## 什么是 AkiraOS? AkiraOS 是一个基于 Zephyr 的嵌入式操作系统,可在微控制器上运行**沙盒化的 WebAssembly 应用程序**。 核心思想是将操作系统与应用程序分离。固件保持稳定。应用程序是 `.wasm` 二进制文件——隔离、可移植,且无需触碰操作系统即可通过空中部署更新。 ``` Your App (C/C++/Python) → compile → app.wasm → SecureDeploy → runs on device OS unchanged ``` **这很重要:** - 在不进行固件烧录周期的情况下更新应用程序 - 一个二进制文件可在 ESP32-S3、nRF5x 或 STM32 上运行——无需重新编译 - 应用程序崩溃?运行时在边界处捕获它。设备保持运行。 - 每个应用程序仅获得其明确请求的硬件访问权限 ## 架构 ``` ┌─────────────────────────────────────────────────────┐ │ USER SPACE — WASM Apps │ │ [app1.wasm] [app2.wasm] [your_app.wasm] │ │ 50KB–200KB per app · max 8 installed · 2 running │ └──────────────────────┬──────────────────────────────┘ │ capability-checked calls ┌──────────────────────▼──────────────────────────────┐ │ AKIRAZ RUNTIME │ │ App Manager · Capability Guard · Native Bridge │ │ UI Framework (32 widgets) · Shell · 18 API modules │ │ WAMR: interpreter (1x) or AOT (10–50x perf) │ └──────────┬──────────────────────┬───────────────────┘ │ │ ┌──────────▼──────────┐ ┌───────▼───────────────────┐ │ CONNECTIVITY │ │ ZEPHYR RTOS │ │ HTTP · OTA │ │ Scheduler · Network Stack │ │ BLE · AkiraMesh │ │ Drivers · LittleFS │ └─────────────────────┘ └────────────────────────────┘ ``` **能力守卫** — 每个原生 API 调用都经过内联权限检查(约 60 纳秒开销)。应用程序在清单中声明所需的能力。没有能力 = 无法访问。就是这样。 ``` { "name": "my_sensor_app", "capabilities": ["gpio.read", "display.write", "sensor.read"] } ``` 完整的架构文档 → [docs.akiraos.dev/architecture](https://docs.akiraos.dev/architecture) ## 快速开始 ### 先决条件 - Linux 或 WSL2(Ubuntu 20.04+) - Python 3.8+ - `west` — `pip install west` ### 1 — 克隆 ``` mkdir akira-workspace && cd akira-workspace git clone --recurse-submodules https://github.com/ArturR0k3r/AkiraOS.git cd AkiraOS west init -l . && cd .. && west update ``` ### 2 — 安装 Zephyr SDK ``` cd ~ wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.17.4/zephyr-sdk-0.17.4_linux-x86_64.tar.xz tar xvf zephyr-sdk-0.17.4_linux-x86_64.tar.xz cd zephyr-sdk-0.17.4 && ./setup.sh ``` ### 3 — 构建并运行 ``` cd akira-workspace/AkiraOS # 在主机上运行 - 无需硬件 ./build.sh # 构建并刷写至 ESP32-S3 cd .. && west blobs fetch hal_espressif && cd AkiraOS ./build.sh -b esp32s3_devkitm_esp32s3_procpu -r a west espmonitor ``` 完整设置指南 → [QUICKSTART.md](QUICKSTART.md) ## WASM 应用程序开发 安装 [WASI SDK](https://github.com/WebAssembly/wasi-sdk/releases),然后: ``` # 构建您的第一个应用 cd AkiraSDK/wasm_apps/hello_world ../../build_wasm_app.sh -o hello_world.wasm main.c # 通过 WiFi 部署到运行设备 - 无需重新刷写 curl -X POST -F "file=@hello_world.wasm" http:///upload ``` **`AkiraSDK/wasm_apps/` 中的示例应用程序:** | 应用程序 | 描述 | |---------|------| | `hello_world` | 最小启动器 | | `sensor_demo` | 读取硬件传感器 | | `display_graphics` | 图形渲染 | | `gui_demo` | 包含 32 种控件类型的完整 UI | | `hid_keyboard_demo` | USB HID 输入 | | `blink_led` | GPIO 控制 | | `logic_analyzer` | 数据采集 | **原生 API 模块(总计 18 个):** BLE · 显示器 · GPIO · HID · I²C · IPC · 生命周期 · 内存 · 网络 · 电源 · PWM · 射频 · 传感器 · 存储 · 定时器 · UART · 等等。 完整的 API 参考 → [docs.akiraos.dev/api-reference](https://docs.akiraos.dev/api-reference) ## 支持的硬件 | 平台 | 状态 | 架构 | 等级 | 说明 | |------|------|------|------|------| | **AkiraConsole** | ✅ 支持 | Xtensa LX7 | Tier 1 | ESP32-S3 · 定制硬件 | | ESP32 | ✅ 支持 | Xtensa LX7 / RISC-V | Tier 1 | -S3 (LX7) · -H2 · -C6 (RISC-V) | | native_sim | ✅ 支持 | 主机 (x86_64) | Tier 1 | 快速迭代,无需硬件 | | nRF54L15 | ✅ 支持 | ARM Cortex-M33 | Tier 2 | BLE 5.4 · Nordic | | STM32 | ✅ 支持 | ARM Cortex-M | Tier 2 | B-U585I-IOT02A · STEVAL-STWINBX1 · H753 · H723 | **推荐:** ESP32-S3 开发套件 — 或 [AkiraConsole V3](https://akiraos.dev/akiraconsole)(即将在 CrowdSupply 上市)。 ## AkiraConsole V3 AkiraOS 的参考硬件平台。 **OSHWA 认证 — UID: [MD000003](https://certification.oshwa.org/md000003.html)** 修订版 A.2 · 工程样品已量产 · CrowdSupply 活动即将推出。 → ESP32-S3 双核 240MHz · 8MB PSRAM → TFT 显示器 · ~33 FPS(AkiraOS 下) → 8 个触控按钮 · 旋转编码器 → CC1121 子 GHz 射频 · LoRa → MicroSD · USB-C · 扩展引脚 [akiraos.dev/akiraconsole](https://akiraos.dev/akiraconsole) ## v1.4.9 "Gl1tch" 中包含什么 125 次提交 · 350 个文件 · 约 40,600 行变更 - **WAMR 运行时** 取代旧版 OCRE 引擎 - **能力守卫** 安全模型 — 每个应用程序的权限强制 - **完整的 WASM 外设 API** — GPIO、显示器、蓝牙 HID、传感器、存储 - **AkiraSDK** 作为独立的 git 子模块 - **AkiraConsole** 板级支持完成 [完整更新日志 →](CHANGELOG.md) ## 构建系统 ``` ./build.sh -b esp32s3_devkitm_esp32s3_procpu # ESP32-S3 ./build.sh -b esp32_devkitc_procpu # ESP32 ./build.sh -b esp32c3_devkitm # ESP32-C3 ./build.sh -b native_sim # Simulation ./build.sh -b esp32s3_devkitm_esp32s3_procpu -r all # Clean rebuild ``` 关键配置文件:`prj.conf` · `boards/*.conf` · `boards/*.overlay` · `west.yml` ## 安全模型 1. **WASM 沙盒** — 无直接内存访问内核空间,堆栈/堆隔离,每个应用程序独立 2. **能力守卫** — 每次原生 API 调用都进行内联检查,权限由清单声明 3. **安全启动** — MCUboot 验证固件签名,WAMR 验证模块校验和 4. **空中更新安全** — SHA-256 完整性,原子更新,失败时回滚 [安全架构 →](https://docs.akiraos.dev/architecture/security.html) ## 贡献 ``` git checkout -b feature/your-feature ./build.sh # test on native_sim first ./build.sh -b esp32s3_devkitm_esp32s3_procpu -r a # then on hardware ``` 参见 [CONTRIBUTING.md](CONTRIBUTING.md) · 代码风格:Zephyr C · 提交格式:符合约定 ## 链接 | | | |--|--| | 📖 文档 | [docs.akiraos.dev](https://docs.akiraos.dev) | | 🖥️ 硬件 | [akiraos.dev/akiraconsole](https://akiraos.dev/akiraconsole) | | 🏷️ OSHWA | [certification.oshwa.org/md000003.html](https://certification.oshwa.org/md000003.html) | | 💬 讨论 | [GitHub Discussions](https://github.com/ArturR0k3r/AkiraOS/discussions) | | 📢 电报 | [@theguywithpen](https://t.me/theguywithpen) | | 🛒 CrowdSupply | 即将上市 — [akiraos.dev/akiraconsole](https://akiraos.dev/akiraconsole) | ## 感谢 [Zephyr 项目](https://zephyrproject.org) · [Bytecode Alliance / WAMR](https://github.com/bytecodealliance/wasm-micro-runtime) · [Espressif Systems](https://espressif.com) · [Nordic Semiconductor]() · [MCUboot](https://mcuboot.com)
**如果 AkiraOS 对您有用 — 一个 ⭐ 可以帮助他人找到它。** [GitHub 上星标](https://github.com/ArturR0k3r/AkiraOS) · [关注更新](https://t.me/theguywithpen) · [文档](https://docs.akiraos.dev) *Apache 2.0 · 版权 © 2026 PenEngineering S.R.L · [商业许可可用](COMMERCIAL.md)*
标签:AI工具, Apache 2.0, C/C++/Python编译, MD000003, OCRE, OSHWA认证, OTA更新, WAMR, WASM, WebAssembly, Zephyr RTOS, 安全嵌入式, 安全边界, 客户端加密, 容器技术, 崩溃隔离, 嵌入式操作系统, 开源OS, 微控制器, 微服务边缘计算, 无固件更新, 模块化操作系统, 沙箱, 硬件访问控制, 资源受限设备, 运行时隔离