Skip to content

命令行 ​

./unixnu <command> [options]

选项写在命令之后。驱动从 -D、UNIXNU_DEVICE 或 out/state.json 读取设备仓库。

命令 ​

defconfig ​

unixnu defconfig [NAME]

列出设备仓库的 configs/*_defconfig。指定名称时复制到 out/<board>/.config 并解析。

fetch ​

unixnu fetch [NAME...] [--update]

拉取 git 源码。指定名称时只拉取这些源码。--update 忽略 unixnu.lock 并移到最新 ref。commit 写入设备仓库的 unixnu.lock。

tree ​

unixnu tree

解析模块、拉取步骤需要的参考源码,并组装 out/<board>/tree。

ipsw ​

unixnu ipsw info
unixnu ipsw fetch [COMPONENT...]

info 打印产品、build、device class 和 manifest 中每个组件的大小与路径。fetch 提取指定组件,未指定时使用 [ipsw] fetch 列表。

build ​

unixnu build [kernel] [package] [firmware] [payload] [prelink] [userdata]

按 kernel、prelink、package、payload、firmware 顺序执行指定步骤。未指定时执行 kernel、package、firmware 和 payload。userdata 单独执行,all 覆盖其他四个步骤。

build prelink 只重做预链接。

build userdata --dry-run 检查 IPSW 和分区大小。

bootimg ​

unixnu bootimg [--fd FILE] [--dtb FILE] [--ramdisk FILE|none] [-o FILE]

打包启动镜像。固件卷默认取 --uefi 下的输出,ramdisk 默认取负载输出。

status ​

unixnu status

打印设备、输出根、配置路径和每个模块来源。标记本地模块并报告未固定的模块。

clean ​

unixnu clean

删除板级输出下的 tree、logs、kernel、package、boot 和 edk2-conf,保留已拉取源码。

选项 ​

选项含义
-D DIR、--device DIR设备仓库
--out DIR输出根
-j N、--jobs N并行任务
--local DIR与本仓库布局相同的本地树
--local-drivers DIR本地 drivers 目录
--local-kits DIR本地 kits 目录
--local-patches DIR本地 patches 目录
--local-scripts DIR本地 scripts 目录
--local-package DIR本地 package 目录
--local-module [KIND:]NAME=PATH单个本地模块,可重复
--uefi DIRMu-Silicium 仓库
--edk2 DIRMu_Basecore 仓库
--kernelcache FILE原始解压 kernelcache
--skip-preflight跳过板级预检
--kernel FILE负载使用的预链接内核
--kernel-arg NAME[=VALUE]追加内核参数,可重复
--trust-cache FILEtrust cache 包
--skip-setup在 Data 种子副本中标记 Setup 完成
--data-ramdisk FILEData ramdisk 种子
--unique-chip-id HEXADT 平台种子
--ipsw PATH_OR_URL目标 IPSW
--dry-runuserdata 试运行
--target DEBUG|RELEASEEDK II 目标
--fd FILEbootimg 的固件卷
--dtb FILEbootimg 的编译设备树
--ramdisk FILE|nonebootimg 的 ramdisk
-o FILE、--output FILE启动镜像输出

环境变量 ​

变量等价选项
UNIXNU_DEVICE-D
UNIXNU_OUT--out
UNIXNU_UEFI--uefi
UNIXNU_EDK2--edk2
UNIXNU_KERNELCACHE--kernelcache
UNIXNU_DTB--dtb
UNIXNU_IPSW--ipsw
UNIXNU_UNIQUE_CHIP_ID--unique-chip-id
JOBS-j

退出行为 ​

条件结果
缺少设备仓库提示 -D
内核构建缺少配置提示先运行 defconfig
固件缺少 Mu-Silicium 仓库拉取前报错
IPSW 身份不匹配报错并给出期望和实际镜像
sha256 不匹配报错并给出成员名
固件卷大小不匹配报错并给出大小
负载超过 size_mib报错并给出需要提高的大小
内核参数非法报错并给出参数
缺少平台种子提示 --unique-chip-id
示例设备仓库build 或 bootimg 前报错

下一步 ​

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