1 个不稳定版本

0.2.0 2024年2月25日

#373 in 操作系统

MIT/Apache

7KB
150

名称

  • iron OS

描述

Iron OS 是一个基于linux/buildroot的操作系统,其GUI基于chromium。

Rust

MSRV: 1.67

镜像

Iron的镜像应为所有用途相同

镜像与包

在Iron中,有两种方式添加软件,要么在rootfs中,要么通过包。

rootfs每两年更新一次,如果发现更多漏洞。包具有较短的发布周期,应用于快速变化的软件。

服务引导加载程序

  • 启动Iron服务包

  • 支持通过stdin的API

  • 可以切换引导镜像

  • 从镜像文件更新镜像

  • 可以重启

  • 如果Iron服务在给定时间段内没有发送连接信号,则watchdog会重启Iron服务

  • 启动weston服务

服务

  • 启动chromium

  • 发送日志

  • 启动其他包的API

  • 与UI交互的API(重置,显示显示)

  • 启动frame包

iron UI

  • 扩展需要处理键盘
  • 允许安全存储
  • 设置要显示的页面
  • 我们需要iframes吗,或者后台服务可以重定向我们
  • 触发重置(当屏幕变暗或设备未使用时)

包文件夹

  • packages.fdb
  • chnobli_ui
  • package.fdb // 包含有关包信息的json_db

package.fdb

  • 名称
  • version_str
  • version // 哈希
  • signature // 当前版本的签名
  • current // 当前左|右的文件夹
  • binary // 可选

安装磁盘(尽可能小)

  • efi分区
  • rootfs分区
  • 数据分区

最终磁盘

  • efi分区
  • rootfs分区1(余量500MB)
  • rootfs分区2(余量500MB)
  • 数据分区(目标文件大小的50%)

待办事项

可能更新psplash https://git.yoctoproject.org/cgit/cgit.cgi/psplash/

  • 在没有互联网的情况下重新加载(chrome)(或扩展)
  • 系统模式下的pulseaudio
  • 无法加载固件rtl_nic/rtl8168g-2.fw

依赖项

~0.5–2.1MB
~39K SLoC