fp6-img/aports/device
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jorijn van der Graaf 6541cb0e05
fp6-vendor-blobs: reassemble a Qualcomm trustlet, not just copy a file
The fingerprint matcher is a proprietary OEM-signed trustlet, and it is not
shipped as one file: QTEE images live in the modem partition's image/ as an
ELF header+hashes file plus one payload per program header, and the loader
wants each payload written back at its segment's p_offset. So the existing
file directive cannot reach it.

An mbn directive does, with the same guarantees file has: the sha256 is of
the reassembled image, a mismatch tries the next partition, and an unverified
image is never installed. Reassembly is not a concatenation -- segments are
page aligned but not contiguous, gaps stay zero, and two pairs of focal64's
nine segments share an offset, so they are written in index order and the
later one wins, exactly as the bring-up repo's reassemble.py does.

Verified on the dev phone against the hash QTEE has actually accepted since
August: 3600472 bytes, sha256 1930c490..., reassembled from the phone's own
modem_a. The retry path was verified too, with a deliberately wrong first
partition -- which is how the variable clobber got caught: POSIX sh has no
locals, and reassemble() taking rdir= rewrote its caller's copy to the mount
path, so the second partition would have been searched at $MNT/$MNT/...

The fast path needed teaching as well: mbn's dest is the fifth field, and a
first boot would otherwise have exited early and extracted nothing.

Not pushed. The consumer fragment lives in the fingerprintd package.
2026-09-15 22:36:12 +02:00
..
callaudioshim image parity: imsd 0.3.0 (pinned public commit) + callaudioshim + modem-daemon override 2026-08-08 20:54:29 +02:00
catcrafts-fp6-repo package updates: Forgejo apk registry publishing + repo-config aport 2026-08-08 22:33:45 +02:00
fp6-charging-mode aports: add fp6-charging-mode (offline charging, charger-boot detection) 2026-08-24 04:03:06 +02:00
fp6-device-tweaks aports/fp6-device-tweaks: stop the modem-gnss 30 s restart loop 2026-08-24 19:44:18 +02:00
fp6-vendor-blobs fp6-vendor-blobs: reassemble a Qualcomm trustlet, not just copy a file 2026-09-15 22:36:12 +02:00
linux-postmarketos-qcom-milos kernel: move to the 7.2 base (v7.2.0-milos + rebased carries) 2026-08-23 03:50:53 +02:00
soc-fairphone-fp6-audio aports: extract vendor blobs before udev coldplug so first-boot audio fully works 2026-09-15 22:36:12 +02:00