Compare commits

..
3 changed files with 24 additions and 18 deletions

View file

@ -14,7 +14,10 @@ Maintained by [Jorijn van der Graaf](https://catcrafts.net/about)
Everything on the `combined-stable` branch: display, touch, wifi, cellular Everything on the `combined-stable` branch: display, touch, wifi, cellular
data, NFC (reader), speaker audio, microphone, IMU, magnetometer, barometer, data, NFC (reader), speaker audio, microphone, IMU, magnetometer, barometer,
ambient light/proximity plus VoLTE calls (both directions) through imsd. 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 ## Flashing
@ -49,4 +52,23 @@ Find it in a stock-firmware capture or your carrier's IMS documentation, then
`systemctl restart imsd` (the service is enabled at boot and waits for this `systemctl restart imsd` (the service is enabled at boot and waits for this
file to exist). See the file to exist). See the
[imsd README](https://forgejo.catcrafts.net/Catcrafts/imsd) for the full [imsd README](https://forgejo.catcrafts.net/Catcrafts/imsd) for the full
variable reference and carrier assumptions. variable reference and carrier assumptions.
## How it builds
`build.sh` drives [pmbootstrap](https://gitlab.postmarketos.org/postmarketOS/pmbootstrap)
with the `aports/` overlay in this repository:
- `device/linux-postmarketos-qcom-milos` — the pmaports kernel aport,
repointed at `combined-stable` 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).
- `device/catcrafts-fp6-repo` — subscribes the installed system to the
[Catcrafts apk registry](https://forgejo.catcrafts.net/Catcrafts/-/packages)
(signing key + `/etc/apk/repositories` entry). CI publishes every built
package there, so `apk upgrade` delivers kernel/imsd/GNSS updates between
image releases.

View file

@ -25,7 +25,6 @@ options="!check"
source=" source="
fp6-vendor-blobs-extract fp6-vendor-blobs-extract
fp6-vendor-blobs.service fp6-vendor-blobs.service
fp6-vendor-blobs.preset
" "
package() { package() {
@ -39,18 +38,10 @@ package() {
mkdir -p "$pkgdir"/etc/systemd/system/multi-user.target.wants mkdir -p "$pkgdir"/etc/systemd/system/multi-user.target.wants
ln -s /usr/lib/systemd/system/fp6-vendor-blobs.service \ ln -s /usr/lib/systemd/system/fp6-vendor-blobs.service \
"$pkgdir"/etc/systemd/system/multi-user.target.wants/fp6-vendor-blobs.service "$pkgdir"/etc/systemd/system/multi-user.target.wants/fp6-vendor-blobs.service
# ...and a preset, because the symlink alone does NOT survive: image
# build runs `systemctl preset-all`, which removes .wants links for any
# unit not enabled by a preset. That is what shipped the 2026-08-24
# image with the service `disabled; preset: disabled` -- no blob
# extracted, no sound card. See journal/blobs/ 2026-08-28.
install -Dm644 "$srcdir"/fp6-vendor-blobs.preset \
"$pkgdir"/usr/lib/systemd/system-preset/50-fp6-vendor-blobs.preset
mkdir -p "$pkgdir"/usr/share/fp6-vendor-blobs/manifest.d mkdir -p "$pkgdir"/usr/share/fp6-vendor-blobs/manifest.d
} }
sha512sums=" sha512sums="
a71b2c86f980734d0aae6e135b26272fe52ae5603050bea52f55f7e74c8bd98c62b6194047711248d4fef40851792adc47d77c40016d99a0d68ecd2459894b80 fp6-vendor-blobs-extract a71b2c86f980734d0aae6e135b26272fe52ae5603050bea52f55f7e74c8bd98c62b6194047711248d4fef40851792adc47d77c40016d99a0d68ecd2459894b80 fp6-vendor-blobs-extract
e2c03e5016f1848c57e6160ce432530b181ff5d34a5aaf1822f0ffa5fe71d16691657ada4a5789c4d4209e14e83f43aab072d01f644b07b93648f91e2a7bb0ca fp6-vendor-blobs.service e2c03e5016f1848c57e6160ce432530b181ff5d34a5aaf1822f0ffa5fe71d16691657ada4a5789c4d4209e14e83f43aab072d01f644b07b93648f91e2a7bb0ca fp6-vendor-blobs.service
9e79dd0aed13f11a71282aa24b2a26331e85c105e25ab0c0fed6189b8c300769a5f4308b18b91d9855868d658ad3a57c03e26c9b11bd27fd5e03f9a5decbbd6a fp6-vendor-blobs.preset
" "

View file

@ -1,7 +0,0 @@
# The package also ships the multi-user.target.wants symlink, but a
# `systemctl preset-all` (pmbootstrap runs one while building the image)
# strips manually-installed .wants links for any unit whose preset does not
# enable it -- which left the service `disabled; preset: disabled` in the
# 2026-08-24 image and so no aw88261_acf.bin and no sound card on a fresh
# install. This preset is what makes the enable survive that.
enable fp6-vendor-blobs.service