Commit graph

19 commits

Author SHA1 Message Date
45caa3ac65 aports: the two modemmanager GNSS patches were never committed
git -C <repo> format-patch -o . writes relative to the -C directory, not
the caller's cwd - the files landed in work/ModemManager and the aport
shipped an APKBUILD referencing patches that did not exist.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 21:47:57 +02:00
7578b2149c kernel config: enable NLS_ASCII - the vfat ESP mounts with iocharset=ascii
First flash boot reached systemd and died into emergency mode on
'FAT-fs (loop0p1): IO charset ascii not found': the tested phone config
never needed FAT NLS tables because the old install used an ext2 /boot;
the current device package uses a vfat ESP. Single flip, olddefconfig
roundtripped.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 21:41:14 +02:00
da3d908b93 aports: GNSS via forked Alpine libqmi + modemmanager
libqmi: the upstream-merged (!470, in no release yet) LOC Register Events
client-identification TLVs, taken verbatim from upstream main (532de37e).
modemmanager: the AFW engine unlock + Position Report derivation (!1463,
still draft upstream, review-hardened and verified on device). Both as
patches on Alpine's git-snapshot aports, pkgrel=100.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 21:27:48 +02:00
4e43e6d57b image parity: imsd 0.3.0 (pinned public commit) + callaudioshim + modem-daemon override
imsd turns out to be fully public already (0.2.7 snapshot + emergency
stage 1 + the make build path) - no tag needed, same git-archive dance as
the kernel. callaudioshim was a load-bearing unpackaged home-dir script on
the phone (callaudiod replacement, working in-call mic mute); now an aport
autostarted at phase 1. kde-telephony's modem daemon autostart is hidden
via /etc/skel from the imsd package, mirroring the phone's user override.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 20:54:29 +02:00
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
939e2b84ba build.sh: require host /dev bind-mount instead of mknod snapshots
Some checks failed
image / image (push) Failing after 1h11m3s
Partition nodes (loopNpM) only appear via the host devtmpfs; a privileged
container's own /dev never gains them. Drop the static mknod dance, warn
when /dev is not the host's.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 20:28:46 +02:00
3dad95c4a1 build.sh: document host loop requirement; dump pmbootstrap log on failure
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 20:11:03 +02:00
6fb3ff27ef build.sh: create static loop + dm device nodes in the container
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 19:57:43 +02:00
95ec50d0b0 build.sh: mkdir /usr/local/sbin before writing the modprobe stub
Some checks are pending
image / image (push) Has started running
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 19:39:45 +02:00
c2c2e90d3a build.sh: stub modprobe in the container; loop autoloads host-side
Some checks failed
image / image (push) Failing after 16s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 19:36:55 +02:00
24f0b786dc ci: retrigger - loop module now loaded persistently on the runner host
Some checks failed
image / image (push) Has been cancelled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 19:13:03 +02:00
a1060024ac build.sh: add kpartx + util-linux losetup to the job container
Some checks failed
image / image (push) Failing after 59m28s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 16:43:26 +02:00
ca9e36c95c build.sh: pin pmbootstrap 3.11.1 from git
Some checks failed
image / image (push) Failing after 2m5s
Alpine's packaged pmbootstrap predates pmaports' master->main rename and
fails reading channels.cfg. Pinning also matches the version the rest of
this script was written against.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 16:40:11 +02:00
127b21e124 build.sh: create the pmbootstrap work dir + version stamp ourselves
Some checks failed
image / image (push) Failing after 1m45s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 16:35:01 +02:00
9e30e6b4ee build.sh: write pmbootstrap config directly; propagate errors; keep checkout root-owned
Some checks failed
image / image (push) Failing after 1m40s
'pmbootstrap config' demands an existing config file, so write
pmbootstrap_v3.cfg ourselves (INI, aports/device/ui/systemd). Explicit
set -eu because 'sh script' ignores shebang flags - run 3 shipped a
3.5KB 'image' because failures didn't propagate. dist/ is now the only
build-user-owned path, so the tag step's git works again.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 16:30:19 +02:00
2d38be3cf4 build.sh: set the executable bit
Some checks failed
image / image (push) Failing after 1m40s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 16:23:49 +02:00
a702800dea ci: provision nodejs+git before Node actions run
Some checks failed
image / image (push) Failing after 4s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 16:21:47 +02:00
074d1b1c90 build.sh: first runnable revision
Some checks failed
image / image (push) Failing after 11s
Learned from the pmbootstrap 3.11 source: aports overlays must replace
upstream dirs in one tree (duplicate pkgnames are a hard error), pmbootstrap
refuses root (drop to a sudo-capable build user), and export symlinks are
boot.img + fairphone-fp6.img. Stage 1 builds without imsd until the v0.3.0
tag exists. Temporary push trigger for bring-up.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 16:20:02 +02:00
de2e819a16 scaffold: aports overlay, build script, CI workflow, README
Kernel aport forked from pmaports 7.1.2-r0, repointed at milos-linux
combined-stable with the tested FP6 config (+EFI_ZBOOT for packaging);
imsd + nftables aports from the pending pmaports submission. build.sh
carries TODO(validate) markers - not yet run end-to-end.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 15:42:45 +02:00