Skip to content

iOS 27 on the Pixel 10: PIXEL10.md, loader adt_layer=s9, UFS driver for FRANKEL, root recipe DEVICE=frankel (draft, QEMU only) - #305

Draft
claudiusthebot wants to merge 7 commits into
s9/p1-everydayfrom
p10/ios27-frankel
Draft

claudiusthebot wants to merge 7 commits into
s9/p1-everydayfrom
p10/ios27-frankel

Conversation

@claudiusthebot

@claudiusthebot claudiusthebot commented Nov 14, 2026 •

Copy link
Copy Markdown
Collaborator

Draft. The scion-kernel side of iOS 27 on the Pixel 10 (frankel, Tensor G5), with Scion-Project/xnu#24 (the FRANKEL board). Based on the S9 integration branch s9/p1-everyday (read only). QEMU only; nothing has run on a phone, and nothing here writes to a Pixel.

  • docs/ios27/PIXEL10.md: what exists on each line (16.5, 26 incl. ios-on-pixel-10 with credit, 27); Tensor G5 against the Exynos 9810 (pointer authentication and the instruction classes from Arm's TRMs for the A520, A725 and X4: the S9's AOT/PAC rewrite is not needed); the driver table; the kernel and the loader; where QEMU stops and why; the root recipe changes; the first-test plan.
  • xnuloader: adt_layer=s9 (off by default; the tree is unchanged for every other kernel): the device tree the S9's layer reads, for the FRANKEL kernel: 256-byte seed, google,lga compatible, arm,armv9 CPUs, timer INTID, /defaults serial-device + UART phandle (PL011 in QEMU, snps,dw-apb-uart with reg-shift 2 on frankel: platform_frankel.dw_uart), disp0 and sweet-fbcon from the firmware framebuffer.
  • profiles/ios-27.copy: Scion's UFS driver and PCI bridge go into the ios-27 tree; only FRANKEL compiles them (the S9 build is unchanged: see the xnu PR's byte check, made with this branch).
  • hakios.ufs.c: hakios_ufs_dev_by_name() (a root on a partition), and an unmapped buffer is mapped for the read (buf_map) instead of being copied to NULL (the first iOS 27 root mount in QEMU faulted there). This file is shared with the 16.5 builds: the change only affects buffers that had no data pointer, which faulted before.
  • tools/ios27/fullroot/build-full-root.sh: DEVICE=frankel: stock shared cache (no rewrite pipeline), skips 10-macho-a64e, 80-metal-ca, 85-textdata-restore; a frankel overlay; flash refuses. Not run (the build needs 62 GB free; the mini has about 40).
  • profiles/ios-27.copy also carries the lga frame kicker (hakios.lga_dpu.c) for FRANKEL.
  • boot-args docs regenerated (adt_layer).

Checks: tools/docs-check.py and tools/boot-args.py --check pass; tools/drivers-check.py reports the one problem it reports on the base (hakios.ext4ro.h); provenance 0 problems.

🤖 Generated with Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant