Repository map¶
The tree follows AOSP's idea: shared platform code in one place, then SoC trees (what every device with a chip shares), then device trees (what one phone adds).
shim/ shared bare-metal shim: start-up, MMU, FDT parser, loader, console, RAM log,
pstore, USB gadget protocol, userdata dump framing, host tests, build.sh
xnu/patches/ numbered patches to Apple's XNU, applied in order on xnu-8796 (fetched series + ours, e.g. 0080 gs101 UFS,
0095 touch, 0099 IONetworkStack stand-in)
qrlog/ QR frame builder + encoder shared by shim and kernel
tools/ ADT/payload builders, USB log + dump receivers, QR log reader, hardware test loop
(`xrun`, `probe-run`, `phone`, `phone-lock`, `ci-kernel`, `stack-apply`), quality gate
(`check-all.sh`), `pix` (device entry point)
soc/<vendor>/<soc>/ soc.json (GIC, timer, UFS base, watchdogs, CPUs, PSCI, boot header)
shim/ SoC code the shim compiles (e.g. gs101 UFS cold init, HS-G4, PHY tables)
docs/ datasheet-level research (e.g. gs101 UFS bring-up)
device/<vendor>/<codename>/ board.json (names its SoC; DRAM map, framebuffer, ...)
docs/ hardware/ gate results, raw captures from that phone
docs/ safety, build, automation, research notes, reviews, Wi-Fi coverage
upstream-patches/ our diffs against ios-sweet, applied by tools/setup-upstream.sh (being retired, see Credits)
The project is three repositories: pixelios-kernel (everything above),
pixelios-userland (the iOS root build: tools/build-ios-root*.sh, rootless guest scripts) and
pixelios-site (this site; tools/build-site.py assembles it).
Reading order¶
- AI-driven development: how the project is made, and how to read it.
- Status and Plan: where the project is and why it is shaped this way.
- Safety: the rules every change follows.
- Boot path: how a Pixel reaches our code.
- The device you care about under Devices, and its SoC under SoCs.
Commands¶
tools/pix devices # list device trees
tools/pix info bluejay # merged SoC + device values
tools/pix check bluejay # sanity checks (alignment, required keys)
tools/pix build bluejay --avb # build the shim for a device
tools/pix new-device google/oriole --soc google/gs101 --name "Pixel 6"
tools/pix probe ARGS... # one shim probe cycle: build, boot, capture, verdict