fp6-img/README.md
Jorijn van der Graaf 507dac02b5
Build a Phosh image next to the Plasma Mobile one
FP6IMG_UI selects the postmarketOS UI (plasma-mobile, the default, or
phosh). The package set is the same except that the Phosh image adds
imsd's opt-in imsd-ofono subpackage, the GNOME Calls backend; everything
else in it is UI-agnostic. The archive is named after the UI
(fp6-img-phosh.tar.xz), build-info.txt records it, and the workflow runs
the Phosh build as a second step of the same job with FP6IMG_KEEP_DIST=1
so both archives land in one release. Both knobs are carried across the
su into the build user.

The Phosh variant needs imsd 0.3.8 in the registry: that release ships
the preset that enables imsd-ofonod and keeps GNOME Calls alive across
imsd restarts.
2026-09-20 16:58:49 +02:00

59 lines
2.2 KiB
Markdown

# fp6-img
Flashable [postmarketOS](https://postmarketos.org/) images for the
**Fairphone 6/6+**, built nightly from the
[Catcrafts milos-linux](https://forgejo.catcrafts.net/Catcrafts/milos-linux)
`combined-stable` kernel branch, with
[imsd](https://forgejo.catcrafts.net/Catcrafts/imsd) (userspace VoLTE)
preinstalled.
Maintained by [Jorijn van der Graaf](https://catcrafts.net/about)
(TheMightyCat) at [Catcrafts](https://catcrafts.net/).
## What works
Everything on the `combined-stable` branch: display, touch, wifi, cellular
data, NFC (reader), speaker audio, microphone, IMU, magnetometer, barometer,
ambient light/proximity, fingerprint unlock through
[fingerprintd](https://forgejo.catcrafts.net/Catcrafts/fingerprintd), plus
VoLTE calls (both directions) through imsd.
## Flashing
Download `fp6-img.tar.xz` from the latest release and unlock the bootloader
([Fairphone's official process](https://support.fairphone.com/hc/en-us/articles/10492476238737)).
**Install**: with the phone in fastboot mode,
```sh
tar xf fp6-img.tar.xz
cd fp6-img
./install.sh
```
Two images are published per release, same kernel and packages, different
shell: `fp6-img.tar.xz` boots **Plasma Mobile** (calls through Plasma
Dialer), `fp6-img-phosh.tar.xz` boots **Phosh** (calls through GNOME Calls,
via imsd's `imsd-ofono` backend). Pick one; the install steps are identical.
`install.sh` erases dtbo, flashes the rootfs, **RAM-boots** the kernel, writes the boot partition from
inside Linux where the bootloader's NV-wipe cannot see it, then reads the modem
NV back and reports the result. The bootloader never writes `boot`.
Default login: `user` / `147147` (same as official postmarketOS images).
**Never re-lock the bootloader** with a custom image installed.
## VoLTE configuration
imsd is installed but needs your carrier's P-CSCF address:
```sh
# /etc/imsd.env
PCSCF=<your carrier's P-CSCF IPv6 address>
```
Find it via android adb using `adb shell dumpsys telephony.registry`, then
`systemctl restart imsd` (the service is enabled at boot and waits for this
file to exist). See the
[imsd README](https://forgejo.catcrafts.net/Catcrafts/imsd) for the full
variable reference and carrier assumptions.