compressed single artifact
All checks were successful
image / image (push) Successful in 1h53m3s

This commit is contained in:
Jorijn van der Graaf 2026-08-10 16:22:20 +02:00
commit 8eb33fc87d
3 changed files with 24 additions and 24 deletions

View file

@ -94,3 +94,9 @@ jobs:
override: true override: true
release-dir: dist release-dir: dist
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
# Empty, NOT 'false': the action guards its release-notes-assistant
# cache step with `if: ${{ inputs.release-notes-assistant }}`, where
# the default string 'false' is truthy. That step then can't reach the
# runner's cache server (it advertises the host's public IP) and burns
# ~4m40s per run on a connect timeout before reporting a miss.
release-notes-assistant: ''

View file

@ -37,13 +37,10 @@ cd fp6-img
./install.sh ./install.sh
``` ```
[`install.sh`](install.sh) and this README are attached to every release `install.sh` erases dtbo, flashes the rootfs, **RAM-boots** the kernel
uncompressed as well, so you can read them before committing to the download. (`fastboot boot` — verified to write nothing), writes the boot partition from
inside Linux where the bootloader's NV-wipe cannot see it, then reads the modem
It erases dtbo, flashes the rootfs, **RAM-boots** the kernel (`fastboot NV back and reports the result. The bootloader never writes `boot`.
boot` — verified to write nothing), 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 — Default login: `user` / `147147` (same as official postmarketOS images —
change it). **Never re-lock the bootloader** with a custom image installed. change it). **Never re-lock the bootloader** with a custom image installed.

View file

@ -177,20 +177,12 @@ EXPORT=/tmp/postmarketOS-export
rm -rf "$EXPORT" rm -rf "$EXPORT"
pmbootstrap export "$EXPORT" pmbootstrap export "$EXPORT"
{ # Everything ships as ONE archive, and dist/ holds nothing else: the rootfs is
echo "kernel: $KERNEL_REPO $KERNEL_BRANCH @ $COMMIT" # 3.0 GiB raw and 812 MiB under xz -6 (gzip -6 stops at 1144 MiB), and a bundle
echo "built: $(date -u +%Y-%m-%dT%H:%M:%SZ)" # makes it impossible to pair a boot.img with a rootfs from a different build.
echo "default login: user / 147147 (same as official postmarketOS images)" # README/install.sh are not attached loose as well — they are readable in the
echo "imsd: $IMSD_REPO @ $IMSD_COMMIT (0.3.0)" # repository, and a second copy in the release only invites reading a stale one
} > dist/build-info.txt # (and a loose sha256sums.txt next to the archive's own is pure confusion).
cp README.md dist/README.md
cp install.sh dist/install.sh
# The images ship as one archive, not as loose files: the rootfs is 3.0 GiB
# raw and 812 MiB under xz -6 (gzip -6 stops at 1144 MiB), and a bundle makes
# it impossible to pair a boot.img with a rootfs from a different build.
# README/install.sh/build-info stay loose in dist too, so they can be read
# before committing to the download.
# #
# pmbootstrap export writes symlinks into its work dir; tar -h resolves them, # pmbootstrap export writes symlinks into its work dir; tar -h resolves them,
# so the archive is built without a second 3 GiB copy on disk. # so the archive is built without a second 3 GiB copy on disk.
@ -199,11 +191,16 @@ rm -rf "$STAGE"
mkdir -p "$STAGE/fp6-img" mkdir -p "$STAGE/fp6-img"
ln -s "$EXPORT/boot.img" "$STAGE/fp6-img/boot.img" ln -s "$EXPORT/boot.img" "$STAGE/fp6-img/boot.img"
ln -s "$EXPORT/fairphone-fp6.img" "$STAGE/fp6-img/fairphone-fp6.img" ln -s "$EXPORT/fairphone-fp6.img" "$STAGE/fp6-img/fairphone-fp6.img"
cp dist/build-info.txt dist/README.md dist/install.sh "$STAGE/fp6-img/" cp README.md install.sh "$STAGE/fp6-img/"
# sums of the extracted contents (the outer sha256sums.txt covers the archive) {
echo "kernel: $KERNEL_REPO $KERNEL_BRANCH @ $COMMIT"
echo "built: $(date -u +%Y-%m-%dT%H:%M:%SZ)"
echo "default login: user / 147147 (same as official postmarketOS images)"
echo "imsd: $IMSD_REPO @ $IMSD_COMMIT (0.3.0)"
} > "$STAGE/fp6-img/build-info.txt"
# sums of the extracted contents
(cd "$STAGE/fp6-img" && sha256sum -- * > sha256sums.txt) (cd "$STAGE/fp6-img" && sha256sum -- * > sha256sums.txt)
tar -C "$STAGE" -chf - fp6-img | xz -T0 -6 > dist/fp6-img.tar.xz tar -C "$STAGE" -chf - fp6-img | xz -T0 -6 > dist/fp6-img.tar.xz
rm -rf "$STAGE" rm -rf "$STAGE"
(cd dist && sha256sum -- * > sha256sums.txt)
ls -la dist/ ls -la dist/