Merge pull request #73 from ShueiTsuki/docs/pandora-port
docs: add Xiaomi 17 Pro (pandora) community port
This commit is contained in:
commit
b2360badae
5 files changed
+74
No files matched your search
@@ -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' },
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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.
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 文档记录移植及其状态,不接管维护。
|
||||
Reference in new issue
Block a user