1 个不稳定版本
0.2.0 | 2024年2月25日 |
---|
#373 in 操作系统
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