今天是 Android 17 的正式发布日。我们已经将 GrapheneOS 完全移植到 Android 17,并正在将其代码推送至我们的公共存储库中。我们今天会基于 Android 16 QPR2 构建最后一个正式版本,并于明天发布 Android 17 的初始版本。我们已经在 Pixel 6a、7、7a、8、10a、10 和 10 Pro Fold 上测试了 GrapheneOS 的 Android 17 移植版。在我们完成代码推送后,用户今天晚些时候即可自行开始构建和测试。我们将于明天开启正式版本的公开测试流程。关于第二段的补充说明:我们已将 GrapheneOS 移植到 Android 17,适配所有受支持的设备。上述列表仅为我们已完成构建和测试的设备。我们的首个公开版本将适用于所有受支持的设备,届时我们会在每款设备上完成测试。
作者介绍了他的 NAS “frood”,该系统完全运行在单个声明式 initramfs 中。通过将整个系统加载到内存,此设置消除了系统存储的磨损,并避免了 Alpine 传统“无盘”模式及 `lbu` 工具的复杂性,作者认为这些传统工具容易出错。
该系统通过一个简单的根目录骨架定义,文件被准确放置在实时系统所需的位置。利用 `alpine-make-rootfs`,环境可以通过 QEMU 进行构建、打包和测试。更新管理方式是将新的内核和 initramfs 镜像同步(rsync)到引导驱动器,并使用 `extlinux --once` 安全地引导至新版本,从而提供了一种便捷的回滚机制。
这种方法提供了一种不可变、由 Git 追踪且极简的架构,避免了复杂的领域特定语言(DSL)或臃肿的初始化系统。虽然持久化仅限于少数必要项(如 Tailscale 状态和随机数种子),但作者认为这种“抹除你的心头好(erase your darlings)”的方法对于可靠性而言非常理想。该项目仍然是一个简单的自定义实现,作者鼓励他人对其进行分支和改造,而不是使用预先构建且过度抽象的工具。