Catcrafts builds of the postmarketos image for the fairphone 6
  • Shell 84.2%
  • Python 15.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jorijn van der Graaf 719a10a997 aports: add soc-fairphone-fp6-audio (topology, amp config, UCM)
Files copied byte-identical from the tested dev phone; installed to the
exact deployed paths (the spaced tplg/UCM filenames come from the machine
driver's card name). Wired into the image via extra_packages.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 20:48:28 +02:00
.forgejo/workflows build.sh: write pmbootstrap config directly; propagate errors; keep checkout root-owned 2026-08-08 16:30:19 +02:00
aports aports: add soc-fairphone-fp6-audio (topology, amp config, UCM) 2026-08-08 20:48:28 +02:00
build.sh aports: add soc-fairphone-fp6-audio (topology, amp config, UCM) 2026-08-08 20:48:28 +02:00
README.md aports: add soc-fairphone-fp6-audio (topology, amp config, UCM) 2026-08-08 20:48:28 +02:00

fp6-img

Flashable postmarketOS images for the Fairphone 6, built nightly from the Catcrafts milos-linux combined-stable kernel branch, with imsd (userspace VoLTE) preinstalled.

Maintained by Jorijn van der Graaf (TheMightyCat) at Catcrafts.

Caution

Emergency calling is unverified. Calls (including 112/911) go through imsd, whose emergency path is spec-shaped but has never been verified against a live network. There is also a known kernel bug that can wedge the modem data path until reboot. Do not rely on a phone running this image to make emergency calls.

What works

Everything on the combined-stable branch: display, touch, wifi, cellular data, NFC (reader), speaker audio, microphone, IMU, magnetometer, barometer, ambient light/proximity — plus VoLTE calls (both directions) through imsd.

Verified on exactly one device / one carrier (KPN NL). Reports from other carriers are very welcome.

Flashing

Download boot.img and fairphone-fp6.img from the latest release, unlock the bootloader (Fairphone's official process), then:

fastboot flash userdata fairphone-fp6.img
fastboot flash boot boot.img
fastboot reboot

Default login: user / 147147 (same as official postmarketOS images — change it). Never re-lock the bootloader with a custom image installed.

VoLTE configuration

imsd is installed but needs your carrier's P-CSCF address:

# /etc/imsd.env
PCSCF=<your carrier's P-CSCF IPv6 address>

Find it in a stock-firmware capture or your carrier's IMS documentation, then systemctl restart imsd. See the imsd README for the full variable reference and carrier assumptions.

How it builds

build.sh drives pmbootstrap with the aports/ overlay in this repository:

  • device/linux-postmarketos-qcom-milos — the pmaports kernel aport, repointed at combined-stable (source tarball generated with git-archive; the Forgejo instance serves no source archives) with the exact kernel config the development FP6 runs.
  • modem/imsd — imsd, packaged from source. Its provides=81voltd keeps the conflicting modem-firmware IMS helper off the image (two IMS stacks cannot share one PDN).
  • main/postmarketos-config-nftables — adds the -imsd subpackage accepting imsd's IPsec-protected SIP ports on the IMS PDN (auto-installed alongside imsd).

Roadmap

  • End-to-end pipeline validation (first complete image built 2026-08-08)
  • Speaker-audio userspace files (soc-fairphone-fp6-audio: topology, amp config, UCM — byte-identical to the tested dev-phone set; blob provenance to be settled before this repo goes public)
  • imsd 0.3.0 tag (aport currently needs it published)
  • Nightly schedule once the first dispatched run is green