Merge pull request #73 from ShueiTsuki/docs/pandora-port

docs: add Xiaomi 17 Pro (pandora) community port
This commit is contained in:
UniXNU Docs committed 2026-10-23 00:26:29 +08:00
commit b2360badae
5 files changed
+74

No files matched your search

+2
View File
@@ -123,6 +123,7 @@ export default withMermaid(defineConfig({
{ text: 'DroidVM 客户机', link: '/zh/devices/droidvm' },
{ text: 'QEMU virt', link: '/zh/devices/qemu' },
{ text: '联想小新 Pad 2022(tb128fu)', link: '/zh/devices/tb128fu' },
{ text: '小米 17 Pro(pandora)', link: '/zh/devices/pandora' },
{ text: '小米 13(fuxi)', link: '/zh/devices/fuxi' },
{ text: '一加 7 Pro(guacamole)', link: '/zh/devices/guacamole' },
{ text: '一加 Ace 5(giulia)', link: '/zh/devices/giulia' },
@@ -313,6 +314,7 @@ export default withMermaid(defineConfig({
{ text: 'DroidVM guest', link: '/devices/droidvm' },
{ text: 'QEMU virt', link: '/devices/qemu' },
{ text: 'Lenovo Xiaoxin Pad 2022 (tb128fu)', link: '/devices/tb128fu' },
{ text: 'Xiaomi 17 Pro (pandora)', link: '/devices/pandora' },
{ text: 'Xiaomi 13 (fuxi)', link: '/devices/fuxi' },
{ text: 'OnePlus 7 Pro (guacamole)', link: '/devices/guacamole' },
{ text: 'OnePlus Ace 5 (giulia)', link: '/devices/giulia' },
+1
View File
@@ -15,6 +15,7 @@ The ports listed here are independent. Their maintainers own the repositories; t
| [DroidVM guest (crosvm on Gunyah)](/devices/droidvm) | crosvm-gunyah | iPadOS 17 home screen; CPU presentation; Metal widgets and icons; virtio-net works | Droid-VM |
| [QEMU virt](/devices/qemu) | QEMU virt | iPadOS 17 home screen and Settings; Metal on the Mac GPU with `--metal` | xVanTuring |
| [Lenovo Xiaoxin Pad 2022 (tb128fu)](/devices/tb128fu) | SM6225 | iPadOS 17 home screen with touch; Metal frames presented by the GPU; Adreno 610 runs | xVanTuring |
| [Xiaomi 17 Pro (pandora)](/devices/pandora) | SM8850 | iOS 16.7.16 lock screen with touch and buttons; own loader, no UEFI chain | ShueiTsuki |
| [Xiaomi 13 (fuxi)](/devices/fuxi) | SM8550 | Kernel links and prelinks; stage B archive chain near complete; no hardware run | matejkoo217, hanzi123-bilp |
| [OnePlus 7 Pro (guacamole)](/devices/guacamole) | SM8150 | iOS 16.7.16 userland reached; GPU pending | wochgn |
| [OnePlus Ace 5 (giulia)](/devices/giulia) | SM8650 | Hello/Setup and GUI progress reached; touch and installation pending | jasper2863, tycykp |
+35
View File
@@ -0,0 +1,35 @@
# Xiaomi 17 Pro (pandora)
pandora is the Xiaomi 17 Pro with the SM8850 SoC. The port below is an independent community project. The UniXNU organization does not maintain it. It runs the iPhone X iOS 16.7.16 userland on an xnu-8796 kernel built from the ios-sweet patch series. A small loader started by `fastboot boot` replaces the UEFI boot chain. The kernel uses the UniXNU native 4 KiB patches, and the original Apple kexts are prelinked with NativePrelink.
| Repository | Maintainer | State |
| --- | --- | --- |
| [ios-pandora](https://github.com/ShueiTsuki/ios-pandora) | [ShueiTsuki](https://github.com/ShueiTsuki) | iOS 16.7.16 lock screen with touch and buttons on hardware |
## State
| Stage | State |
| --- | --- |
| Boot | `fastboot boot` of a loader image that carries the kernel, the ADT and the payload; Android and every partition stay unchanged |
| CPU | 8 cores, 4 KiB pages |
| Storage | native UFS driver; the root file system is a pinned file in the Android userdata partition, read and written through its extents, without a wipe |
| Display | 1220x2656 panel through the bootloader framebuffer; brightness through DSI DCS |
| Input | Synaptics touch over GPI DMA; power and volume buttons |
| Userland | iOS 16.7.16 (20H392) lock screen; wallpaper and widgets missing |
| Original kexts | AMFI and its dependencies prelinked with NativePrelink; QEMU and hardware runs in progress |
| GPU, audio, camera | not available |
## Build
The kernel is built by the `xnu.yml` GitHub Actions workflow with `machine_config=PANDORA`. The scripts in the repository build the ADT and the payload in WSL and the loader with the Android NDK:
```sh
python3 tools/mkprelink.py <kernel> <kernelcache> <out>
KERNEL=<out> tools/boot_ios.sh --file /data/local/tmp/iosroot.img --run <N> --rd ufsroot0
```
`tools/boot_ios.sh` resolves the extents of the pinned root file, builds the payload and the loader image, and starts it with `fastboot boot`. The kernel, the kernelcache, the root image and the trust caches are external inputs and are not stored in the repository.
## Maintenance
The maintainer owns the repository and its release decisions. UniXNU documentation lists the port and its state; it does not take over maintenance.
+1
View File
@@ -15,6 +15,7 @@
| [DroidVM 客户机(Gunyah 上的 crosvm)](/zh/devices/droidvm) | crosvm-gunyah | iPadOS 17 主屏幕,CPU 呈现,Metal widget 和图标,virtio-net 工作 | Droid-VM |
| [QEMU virt](/zh/devices/qemu) | QEMU virt | iPadOS 17 主屏幕和 Settings;使用 `--metal` 时在 Mac GPU 上运行 Metal | xVanTuring |
| [联想小新 Pad 2022(tb128fu)](/zh/devices/tb128fu) | SM6225 | 已到 iPadOS 17 主屏幕,触控可用;Metal 帧由 GPU 呈现;Adreno 610 已运行 | xVanTuring |
| [小米 17 Pro(pandora)](/zh/devices/pandora) | SM8850 | 已到 iOS 16.7.16 锁屏,触控和按键可用;自有加载器,不经 UEFI 链 | ShueiTsuki |
| [小米 13(fuxi)](/zh/devices/fuxi) | SM8550 | 内核可链接和预链接,阶段 B archive 链接近完成,未在真机运行 | matejkoo217、hanzi123-bilp |
| [一加 7 Pro(guacamole)](/zh/devices/guacamole) | SM8150 | 已到达 iOS 16.7.16 用户态,GPU 待完成 | wochgn |
| [一加 Ace 5(giulia)](/zh/devices/giulia) | SM8650 | 已到 Hello/Setup 和 GUI 进度条,触控和安装待完成 | jasper2863、tycykp |
+35
View File
@@ -0,0 +1,35 @@
# 小米 17 Pro(pandora)
pandora 是搭载 SM8850 的小米 17 Pro。下面的移植是独立的社区项目,UniXNU 组织不维护它。它在由 ios-sweet 补丁系列构建的 xnu-8796 内核上运行 iPhone X 的 iOS 16.7.16 用户态。由 `fastboot boot` 启动的小型加载器取代 UEFI 启动链。内核使用 UniXNU 的原生 4 KiB 补丁,原版 Apple kext 用 NativePrelink 预链接。
| 仓库 | 维护者 | 状态 |
| --- | --- | --- |
| [ios-pandora](https://github.com/ShueiTsuki/ios-pandora) | [ShueiTsuki](https://github.com/ShueiTsuki) | 已在真机到达 iOS 16.7.16 锁屏,触控和按键可用 |
## 状态
| 阶段 | 状态 |
| --- | --- |
| 启动 | `fastboot boot` 启动携带内核、ADT 和负载的加载器镜像;不修改 Android 和任何分区 |
| CPU | 8 核,4 KiB 页 |
| 存储 | 原生 UFS 驱动;根文件系统是 Android userdata 分区中的固定文件,按其 extent 读写,无需清除数据 |
| 显示 | 1220x2656 面板,使用引导程序的帧缓冲;亮度通过 DSI DCS 调节 |
| 输入 | Synaptics 触控走 GPI DMA;电源键和音量键 |
| 用户态 | iOS 16.7.16(20H392)锁屏;壁纸和小组件缺失 |
| 原版 kext | AMFI 及其依赖用 NativePrelink 预链接;QEMU 和真机运行进行中 |
| GPU、音频、相机 | 不可用 |
## 构建
内核由 GitHub Actions 工作流 `xnu.yml` 以 `machine_config=PANDORA` 构建。仓库中的脚本在 WSL 中构建 ADT 和负载,用 Android NDK 构建加载器:
```sh
python3 tools/mkprelink.py <kernel> <kernelcache> <out>
KERNEL=<out> tools/boot_ios.sh --file /data/local/tmp/iosroot.img --run <N> --rd ufsroot0
```
`tools/boot_ios.sh` 解析固定根文件的 extent,构建负载和加载器镜像,并用 `fastboot boot` 启动。内核、kernelcache、根镜像和信任缓存是外部输入,不存放在仓库中。
## 维护
维护者拥有仓库和发布决定。UniXNU 文档记录移植及其状态,不接管维护。