Oceanix, 基于 Nix 的 OpenCore 配置管理工具

2022-08-29 09:56:12 +08:00
 LEXUGE

最近做了一个实现了一个基于 Nix 的 OpenCore 管理框架,名为 oceanix.

主要功能有:

  1. 根据 Sample.plist 自动设置 defaults oceanix 会读取对应版本的 OpenCore 的 Sample.plist 并以此补全合适的 section 作为 defaults 。这样配置时只需要编写 dortania guide 说明需要修改的部分来覆盖 defaults 即可。此外,在 OpenCore 更新时,这些 defaults 也会自动更新,所以在更新 OpenCore 时用户基本不需要干预。
  2. 可编程的配置 因为 oceanix 基于 Nix, 所以你可以实现在配置里写函数,写注释,分离配置等操作。比如你可以抽离敏感部分并加密,也可以根据本地环境不同自动更改配置。
  3. 包管理 Oceanix 对常用的 Kexts, Drivers 等做了打包,因此你可以非常方便的引入 Kexts ,而不需要下载解压复制等操作。此外,升级 /降级 Kexts 也异常简单,只需要修改一下需要引入的包名即可。
  4. 依赖解析 Oceanix 会自动引入 Kexts, Drivers, ACPI patches 并对 Kexts 做依赖解析来保证导入顺序的正确性。你也可以非常方便的启用 /关闭某个 Kexts 和其所有子插件。
  5. 可重现 基于 Nix, oceanix 可以 bit-by-bit 地保证你的 EFI 可重现性。

未来可能会支持:

  1. 自动 ocvalidate ,保证每次配置修改都是正确可靠的
  2. 自动进行 OC vaulting 来签名并保证配置的 integrity

最后,这是我基于 oceanix 的 OpenCore 配置: https://github.com/LEXUGE/opencore-cfg

项目还在非常初期阶段,文档不完善也可能有一些 Bugs ,如果你使用 Nix 并对 OpenCore 感兴趣,或是 OpenCore 用户但未接触过 Nix ,不妨来尝试一下

1605 次点击
所在节点    分享创造
3 条回复
yzld2002
2022-08-29 10:46:45 +08:00
强,已 star
yangbin9317
2022-08-29 14:00:54 +08:00
强,已 star
sxiaojian
2022-08-30 12:12:23 +08:00
支持一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/876093

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX