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.

  1. 01 01 · framing Why FreeBSD on a phone ● working
  2. 02 02 · boot Boot from SD with Honeyguide ● working
  3. 03 03 · build Building from source on honor ● working
  4. 04 04 · network USB-Ethernet up: SSH over USB-C ● working
  5. 05 05 · usb DWC3 gadget from scratch ● working
  6. 06 06 · touch Goodix and the PIC methods that didn't exist ◐ partial
  7. 07 07 · display Display from black ◐ partial
  8. 08 08 · gpu GPU under load: four patches for Panfrost ◐ partial
  9. 09 09 · bluetooth Bluetooth attached: BCM4345C5 firmware load ● working
  10. 10 10 · bluetooth The HOST_WAKE IRQ saga ◐ partial
  11. 11 11 · bluetooth SSP, Secure Connections, and the Murata firmware swap ● working
  12. 12 12 · bluetooth A2DP audio playing ● working
  13. 13 13 · audio On-device audio: I2S + RT5640 ○ blocked
  14. 14 14 · status Where we are now ● working
  15. 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.