Skip to content

构建环境 ​

主机 ​

构建驱动在 macOS 上运行。内核步骤调用带 iphoneos SDK 的 xcodebuild,--skip-setup 调用 hdiutil。

工具用途安装方式
macOS 与 Xcode内核、skip-setupApp Store 或 developer.apple.com
Python 3.11 或更新所有步骤python.org 或 Homebrew
git、make拉取、固件Xcode command line tools 或 Homebrew
cmake、ninja内核参考源码brew install cmake ninja
unifdeflibdispatch 头文件brew install unifdef
LLVM 与 lld内核、固件、启动镜像brew install llvm
mtools负载卷brew install mtools
dtc设备树属性brew install dtc
QEMU 与 AAVMF可选冒烟测试brew install qemu

驱动会直接找到 Homebrew 的 /opt/homebrew/opt/llvm/bin,无需修改 PATH。其他工具需要在 PATH 中。

unixnu fetch 需要网络,用于拉取 Apple 源码参考和 Mu_Basecore 树。

外部输入 ​

以下输入位于 UniXNU 仓库之外。

输入使用步骤选项环境变量
设备的 Mu-Silicium 仓库固件、启动镜像--uefi DIRUNIXNU_UEFI
目标 IPSW,本地文件或 HTTPS URL内核预链接、userdata--ipsw PATH_OR_URLUNIXNU_IPSW
解压后的 kernelcache内核预链接--kernelcache FILEUNIXNU_KERNELCACHE
编译后的设备树启动镜像--dtb FILEUNIXNU_DTB
trust cache 包负载--trust-cache FILE
Data ramdisk 种子负载--data-ramdisk FILE
平台种子负载--unique-chip-id HEXUNIXNU_UNIQUE_CHIP_ID
预编译静态库内核负载可用 --kernel FILE
edk2 或 Mu_Basecore 树package、固件--edk2 DIRUNIXNU_EDK2

设备仓库提供板级描述、内核 defconfig 和生成设备静态库的脚本。

设备 ​

设备需要满足:

  • bootloader 可解锁并接受 fastboot boot。
  • UEFI 移植提供 framebuffer、输入、块 I/O 和文件系统。
  • bring-up 期间有 UART 或 USB 日志通道。
  • 内存足以容纳内核窗口、负载和 userdata 镜像。
  • 目标系统恢复镜像和匹配的设备身份。

下一步 ​

  • 构建介绍使用这些输入的命令。
  • 设备仓库介绍板级文件。
  • 设备列出设备仓库和各自的输入。

Released under the BSD-2-Clause-Patent License.