2026-08-08 15:42:45 +02:00
# fp6-img
2026-10-12 15:51:36 +02:00
Flashable [Nura ](https://nura.eco ) images for the
**Fairphone 6/6+**, built from the
2026-08-08 15:42:45 +02:00
[Catcrafts milos-linux ](https://forgejo.catcrafts.net/Catcrafts/milos-linux )
2026-10-12 01:17:32 +02:00
`combined-stable` kernel branch.
2026-08-08 15:42:45 +02:00
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,
Install fingerprintd from the registry, so the image unlocks with a finger
The daemon's own package CI publishes it to the registry the same way imsd's
does, so the image takes it from there: the exact apk a user later gets via
apk upgrade, sha256-pinned, re-signed for the chroot. Section 3b now fetches
both sets, and every fetched file must have a pin -- the check used to be
`grep . | sha256sum -c`, which an empty pin list would have sailed through
with nothing checked.
Three apks: the daemon, its systemd units, and the session agent, which does
nothing until a user writes ~/.config/fingerprintd/fingers.conf. The daemon
needs the kernel aport's CONFIG_QCOMTEE=m (pkgrel 101) and fp6-vendor-blobs
1-r2's mbn directive to reassemble the trustlet, both built in this run;
0.2.3 says >=1-r2 so a mismatched pair is refused rather than installed.
The CI publish step skips fingerprintd-* like imsd-*: registry-sourced, not
ours to republish. README: fingerprint in the list, and the two things a user
will otherwise report as a dead sensor -- the lock screen listens for 60
seconds after it appears, and a held press is what the matcher was measured
on -- plus the untested question of stock Android's own fingerprints after
using this.
Verified on the dev phone (fp6 repo journal/fingerprint/, 2026-09-05): the
registry 0.2.2 package enrols through Plasma's Users page and unlocks the
lock screen; 0.2.3 differs by the dependency and a post-upgrade restart. The
image build itself, with the fprintd purge inside the chroot, runs first in
CI.
2026-09-05 20:31:37 +02:00
ambient light/proximity, fingerprint unlock through
[fingerprintd ](https://forgejo.catcrafts.net/Catcrafts/fingerprintd ), plus
2026-10-12 01:17:32 +02:00
VoLTE calls (both directions) through [imsd ](https://forgejo.catcrafts.net/Catcrafts/imsd ).
2026-08-08 15:42:45 +02:00
## Flashing
2026-10-14 01:41:43 +02:00
Download `fp6-img-{DE}.tar.xz` with your preferred DE from the
[`latest` release ](https://forgejo.catcrafts.net/Catcrafts/fp6-img/releases/tag/latest )
2026-10-12 01:17:32 +02:00
(`{DE}` is `plasma` for Plasma Mobile, calls through Plasma Dialer, or `phosh` for
Phosh, calls through GNOME Calls) and unlock the bootloader
2026-08-10 10:40:50 +02:00
([Fairphone's official process ](https://support.fairphone.com/hc/en-us/articles/10492476238737 )).
2026-08-09 01:25:20 +02:00
2026-08-09 03:33:33 +02:00
**Install**: with the phone in fastboot mode,
2026-08-10 10:40:50 +02:00
```sh
2026-10-12 01:17:32 +02:00
tar xf fp6-img-{DE}.tar.xz
cd fp6-img-{DE}
2026-08-10 10:40:50 +02:00
./install.sh
```
2026-08-13 23:04:02 +02:00
`install.sh` erases dtbo, flashes the rootfs, **RAM-boots ** the kernel, writes the boot partition from
2026-08-10 16:22:20 +02:00
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` .
2026-08-09 01:29:17 +02:00
2026-10-12 15:51:36 +02:00
Default login: `user` / `147147` (same as official Nura images).
2026-09-06 14:00:13 +00:00
**Never re-lock the bootloader** with a custom image installed.
2026-10-16 23:01:47 +02:00
## License
GPL-3.0-only - see [LICENSE ](LICENSE ). That covers our own code; patches and packaging carried from other projects keep the license named in their files.
## Funding
https://catcrafts.net/shop/donation - see [FUNDING ](FUNDING.yml )
## Copyright
Copyright (C) 2026 Catcrafts® [catcrafts.net ](https://catcrafts.net/ )