Pineport · bring-up notebook
A FreeBSD phone, in fifteen essays.
Porting FreeBSD 15 to the Pine64 PinePhone Pro — commits, patches, and the working recipe at each step.
The PinePhone Pro is the most porting-friendly phone in existence and
mobile BSD is a rounding error. This notebook is the gap-closing work,
written as it happens. Fifteen essays in order, an appendix of
reference, and a live commit feed.
Read the journey
Each essay is one focused war story — the bug, the patch, the
recipe. Read in order for the narrative; jump straight to a subsystem
via the header nav.
- 01 01 · framing Why FreeBSD on a phone ● working
- 02 02 · boot Boot from SD with Honeyguide ● working
- 03 03 · build Building from source on honor ● working
- 04 04 · network USB-Ethernet up: SSH over USB-C ● working
- 05 05 · usb DWC3 gadget from scratch ● working
- 06 06 · touch Goodix and the PIC methods that didn't exist ◐ partial
- 07 07 · display Display from black ◐ partial
- 08 08 · gpu GPU under load: four patches for Panfrost ◐ partial
- 09 09 · bluetooth Bluetooth attached: BCM4345C5 firmware load ● working
- 10 10 · bluetooth The HOST_WAKE IRQ saga ◐ partial
- 11 11 · bluetooth SSP, Secure Connections, and the Murata firmware swap ● working
- 12 12 · bluetooth A2DP audio playing ● working
- 13 13 · audio On-device audio: I2S + RT5640 ○ blocked
- 14 14 · status Where we are now ● working
- 15 15 · next What's next: WiFi, modem, sensors ▸ next
Status snapshot
Subsystem-by-subsystem, derived from the most-recent essay touching
each one. The full breakdown lives in
essay 14 — where we are now.
Recent commits
Live from the project repository — the last twenty commits, each
one linked back to GitLab.
● 2026-04-22 326aa3d site: theme picker (modal+swatches) + phone screenshot pipeline + mobile breakouts ● 2026-04-22 b46ecb0 site: deploy at root (drop /pine64-freebsd base path) ● 2026-04-22 0cb2786 ci: fetch full git history (GIT_DEPTH: 0) ● 2026-04-22 c21ba06 docs: site v2 implementation plan ● 2026-04-22 81e7eb1 AGENTS.md: add site-evolution section ● 2026-04-22 72fa3da site: Phase 8 — essay/appendix routes + real landing page ● 2026-04-22 881527a site: write the eight appendix entries ● 2026-04-22 8133d93 site: essays 13-15 — on-device audio, status snapshot, roadmap ● 2026-04-22 f9cb4c3 site: essays 9-12 — Bluetooth arc from H4 framing to A2DP playing ● 2026-04-22 3874652 site: essays 5-8 — DWC3, Goodix, display, panfrost war stories ● 2026-04-22 3699c3b site: opening 4 essays — framing, SD boot, build pipeline, USB-Ethernet ● 2026-04-22 e78ff08 site v2: narrative MDX components (Verdict, Claim, WarStory + scaffolding, Reproduce, Diagram) ● 2026-04-22 ad2a9e6 site v2: coppice-shaped layout foundation ● 2026-04-22 4524b8b site: dts-load-node also matches anonymous nodes by name ● 2026-04-22 c64ada6 site: README with content + component reference ● 2026-04-22 b70915d ci: GitLab Pages deploy for site/ ● 2026-04-22 fb8633f site: v1 appendix (hardware, build-env, glossary) ● 2026-04-22 f6b0b27 site: unify REPO_ROOT in utils (process.cwd() based, prerender-safe) ● 2026-04-22 82860c1 site: v1 subsystem stubs (usb, bluetooth, display, audio, touchscreen, wifi, modem) ● 2026-04-22 39ff4da site: v1 chapters (00-getting-started through 99-current-state) Reference
The appendix shelf: hardware tables, build environment, the patches
index, the glossary, and longer-form research.