Commit Graph
100 Commits
Author SHA1 Message Date
Clayton Craft 3df5cc176b docs: document kconfig fragment usage for kernel maintainers
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7606>
2026-03-11 17:27:20 -07:00
Clayton Craft 5d3d7cebcf systemd/systemd: enable initrd units
For using systemd in the duranium initramfs. This should have no impact
on mutable pmOS, other than some extra (unused) units being installed
in the rootfs. This does not switch mutable pmOS to using systemd in
the initramfs.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8125>
2026-03-11 07:36:50 +00:00
Clayton Craft d56116026b systemd/systemd: Replace maintainers Jane & Casey with Clayton & Achill
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8153>
2026-03-10 22:34:17 +00:00
Clayton Craft 853fdfd2a5 linux-postmarketos-asahi: upgrade to 6.18.15
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8115>
2026-03-02 20:10:25 +00:00
Clayton Craft cb0d645970 soc-qcom: restart modem-gnss.service on failure
Apparently starting after MM isn't always enough time for the location
service to be up, so this adds a periodic restart of the systemd service
every 30 seconds for up to 5 minutes.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8041>
2026-02-20 01:19:12 +00:00
Clayton Craft ca40e89754 linux-postmarketos-asahi: upgrade to 6.18.10
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8037>
2026-02-19 06:39:54 +00:00
Clayton Craft b32fe382a8 device-shift-axolotl: disable quiet in kernel cmdline
Console enabled to workaround a race condition with display init
See https://gitlab.freedesktop.org/drm/msm/-/issues/46

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7995>
2026-02-16 20:41:33 +00:00
Clayton Craft c40652c84b main/postmarketos-initramfs: fix subpartition counting with MBR
bb's fdisk prints the table in a different format when using MBR, this
fixes it to correctly count partitions in both cases.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8008>
2026-02-14 00:55:22 +00:00
Clayton Craft c4832ed456 main/postmarketos-initramfs: fix subpartition mount on split initramfs
I shouldn't have used parted here... it's not available in the 1st stage
initramfs. Busybox's fdisk can also list subpartitions so let's use
that instead.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7998>
2026-02-12 15:04:48 -08:00
Clayton Craft 6dfc392214 linux-postmarketos-qcom-sdm845: enable immutable config
[ci:skip-kconfigcheck] will be replaced by pma!7451 at some point

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7997>
2026-02-12 21:06:37 +00:00
Clayton Craft 86bdb82116 main/postmarketos-initramfs: use loop device for subpartitions
This reworks the subpartition init to use loop devices instead of
kpartx/dm mappings. This allows us to use the same logic for resizing
as we do for other partitioning schemes (and refactors that code a bit).
This also helps duranium, because systemd tooling (repart, sysupdate,
gpt-auto-generator) can't properly handle GPT subpartitions exposed via
kpartx dm mappings, but works correctly with loop devices created with
partition scanning enabled.

After this change, subpartitions show up as loop devices, e.g.:

$ ls /dev/loop*
/dev/loop0p1
/dev/loop0p2

There *should* be no impact to existing installs.

This also drops the dependency on multipath-tools, which seems to have
been added years ago as a workaround for installing kpartx (like maybe
multipath-tools used to provide kpartx?), see 7573f5fce4. Anyways, we
don't use anything in this pkg in the initramfs AFAIK.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7932>
2026-02-11 19:22:40 +00:00
Clayton Craft 47b975272a main/postmarketos-mkinitfs: upgrade to 2.9.0
Includes a fix for a regression in 2.8.0

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7986>
2026-02-11 14:55:16 +00:00
Clayton Craft 8341bcd3e3 main/boot-deploy: upgrade to 0.23.0
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7986>
2026-02-11 14:55:16 +00:00
Clayton Craft 4a4130e7a4 Revert "main/postmarketos-mkinitfs: upgrade to 2.8.0"
There's a bug that breaks booting on android devices, needs
investigation. In the meantime, revert this!

This reverts commit 0e7cc643c6.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
[ci:skip-vercheck]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7985>
2026-02-10 08:47:20 -08:00
Clayton Craft 0e7cc643c6 main/postmarketos-mkinitfs: upgrade to 2.8.0
Fixes !7949

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7980>
2026-02-10 14:30:59 +00:00
Clayton Craft 550ca9908b deviceinfo: mark generate_systemd_boot as obsolete
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7949>
2026-02-09 14:25:54 -08:00
Clayton Craft b1ba6759d6 device/*: drop deviceinfo_generate_systemd_boot variable
fixes # 4299

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7949>
2026-02-09 14:22:57 -08:00
Clayton Craft 5dea9f8b16 device-google-sargo: add support for u-boot
This allows booting pmOS from u-boot on existing and new installs.

Setting the boot partition to vfat isn't strictly necessary (ext2 seems
to work OK), but IIUC either FAT is in the EFI spec or it's what
everyone else uses. We made a similar patch to the OP6/OP6T previously.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7961>
2026-02-09 03:37:59 +00:00
Clayton Craft 9e99265e87 linux-postmarketos-qcom-sdm670: sync kconfig with toml
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7961>
2026-02-09 03:37:59 +00:00
Clayton Craft b796ff9322 linux-postmarketos-qcom-sdm670: add uefi kconfig
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7961>
2026-02-09 03:37:59 +00:00
Clayton Craft e59123dde6 linux-postmarketos-asahi: upgrade to 6.18.8-1
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7954>
2026-02-08 17:28:44 +00:00
Clayton Craft 67ece34776 main/bootmac: upgrade to 0.7.1
This release fixes a race bug when setting wifi MAC addr on boot

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7944>
2026-02-07 23:56:13 +00:00
Clayton Craft 067580ed29 ci/qcom-devicepkg-bootimg: configure job to only run manually, ignore failure
The hw CI isn't stable yet, if a platform is entirely offline (e.g.
because we only have 1 device in CI and it's down for maint.) then the
test job is "pending" for a verrrry long time (16hrs+). mrtest (for
example) is then unable to be used on the MR because the pipeline is
not "success."

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7943>
2026-02-06 19:27:12 +00:00
Clayton Craft 8d85538af3 device-oneplus-fajita: add support for u-boot
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7893>
2026-02-06 18:36:08 +00:00
Clayton Craft 5a8c39b558 linux-postmarketos-qcom-sc7280: enable uefi kconfig check
This also enables some stuff missed in the previous attempt to enable
UEFI support (!7906)

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7914>
2026-02-03 21:03:45 +00:00
Clayton Craft 9ee1b6864d device-fairphone-fp5: add systemd-boot to support u-boot
This will make images built for the fp5 work with both android
bootloader and uboot.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7913>
2026-02-03 19:17:23 +00:00
Clayton Craft 6d63aa2f1c main/boot-deploy: upgrade to 0.22.1
Changelog:

 Fixes:

 * sd-boot: Install drivers under upper-case path

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7912>
2026-02-03 12:10:00 +00:00
Clayton Craft cee04caeaf linux-postmarketos-asahi: upgrade to 6.18.7-2
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7901>
2026-02-03 09:27:36 +00:00
Clayton Craft 84cac35407 main/postmarketos-base-ui: add ModemManager config override
We used to use this param when the MM systemd unit was vendored in
pmaports but it was dropped when we switched to the upstream unit. This
also sets the param in openrc installs.

Fixes #4194

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7840>
2026-02-01 13:17:40 -08:00
Clayton Craft 920c4a8478 soc-qcom: remove MM config
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7840>
2026-02-01 13:17:40 -08:00
Clayton Craft a042b2080d device-purism-librem5: remove MM config
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7840>
2026-02-01 13:17:39 -08:00
Clayton Craft ab80136a3e device-pine64-pinephonepro: remove MM config
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7840>
2026-02-01 13:17:39 -08:00
Clayton Craft 6975af2fe9 device-pine64-pinephone: remove MM config
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7840>
2026-02-01 13:15:28 -08:00
Clayton Craft e399d48234 systemd/pmos-base-systemd: update preset for pipewire/pipewire-pulse
With a recent aports patch[1], unit files are now in aports, however
socket activation is not enabled since that depends on libsystemd.
Instead, we'll just start the units on user session start. I think most
UIs/devices are going to want audio fairly early and often, so I think
it's fine to just start this stuff and is a reasonable price to pay for
being able to avoid having a package fork of pipewire in pmaports.

1. https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/96828

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7894>
2026-02-01 06:04:42 -08:00
Clayton Craft 5d96898b6c systemd/pipewire: drop aport
Unit files were added to the upstream aports pkg.

pw and pw-pulse are no longer socket activated with this change, because
that requires linking against libsystemd(which isn't enabled upstream),
but I think that's worth avoiding all of the packaging complexity of
having a pipewire pkg fork in pmaports.

Fixes #4279

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7894>
2026-02-01 06:03:50 -08:00
Clayton Craft 1720ed803b device-oneplus-enchilada: add systemd-boot, set fat32 for boot partition
This allows building images that support both Android bootloader and
u-boot/EFI bootloader.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7870>
2026-01-29 19:47:37 +00:00
Clayton Craft fe0e70f1dc main/boot-deploy: upgrade to 0.22.0
Changelog:

* sd-boot: install EFI app under upper-case path
* check linux.efi explicitly for bls spec
* Remove sd-boot deviceinfo var
* Always skip flashing boot when using EFI

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7872>
2026-01-29 11:17:55 -08:00
Clayton Craft 49ef561fcb systemd/polkit: fix permissions on rules.d
This is a downstream port of:
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/96251

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7813>
2026-01-29 10:21:45 +00:00
Clayton Craft a2de76572d linux-postmarketos-lts: replace linux-lts
fixes:

> ERROR: linux-postmarketos-lts-6.12.67-r0: trying to overwrite usr/share/kernel/lts/kernel.release owned by linux-lts-6.12.28-r0.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7861>
2026-01-27 13:55:48 -08:00
Clayton Craft 0648d45d76 device/*: migrate device packages to new kernel cmdline config system
This migrates all device package to the new system, which is documented
here: https://docs.postmarketos.org/pmaports/main/kernel-cmdline.html.

It also replaces old initramfs params (PMOS_NOSPLASH and
PMOS_FORCE_PARTITION_RESIZE) from the cmdlines with their modern
equivalents, so we can finally get rid of those.

Signed-off-by: default avatarClayton Craft <craftyguy@postmarketos.org>

[ci:skip-build]: already built successfully in CI

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7830>
2026-01-27 12:34:40 -08:00
Clayton Craft f68c270d4d ci/deviceinfo_linting: only line deviceinfo files in the devices repo
If devicepkg-dev changes, we don't want to lint the test deviceinfo
files there...

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7830>
2026-01-27 12:33:06 -08:00
Clayton Craft 382cd1dee1 docs: kernel-cmdline: clarify handling of config for multiple kernels
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7830>
2026-01-27 12:33:05 -08:00
Clayton Craft ae000d30f8 main/devicepkg-utils: remove cmdline_append from example deviceinfo
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7830>
2026-01-27 12:33:05 -08:00
Clayton Craft 5f04b534f7 main/devicepkg-dev: support installing kernel-specific cmdline config
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7830>
2026-01-27 12:33:05 -08:00
Clayton Craft 43109bb7fd main/dint: upgrade to 0.0.7
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7830>
2026-01-27 12:33:05 -08:00
Clayton Craft 080500fffd linux-postmarketos-asahi: upgrade to 6.18.7-1
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7839>
2026-01-25 22:33:01 -08:00
Clayton Craft a3ee13fb36 device-alcatel-ttab: fix mtk_label_* deviceinfo vars
These variables were renamed and I guess this package was missed.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7835>
2026-01-24 22:23:35 +00:00
Clayton Craft 24bdbf5675 linux-postmarketos-asahi: upgrade to 6.18.6
And sync kconfig!

This also removes the .config fragments from sources= since they are not
actually used for building the kernel.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7831>
2026-01-24 22:15:37 +00:00
Clayton Craft b170f85c36 device-lenovo-lxf-p5100: move kernel cmdline config to kernel-cmdline.d
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>

[ci:skip-build]: build succeeded on all archs except riscv64, which is
failing because of an upstream/aports sync issue.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7708>
2026-01-23 15:07:15 -08:00
Clayton Craft b081d3a09d device-qemu-*: move kernel cmdline config to kernel-cmdline.d
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7708>
2026-01-23 15:06:43 -08:00
Clayton Craft cbc7941d0c device-lenovo-21bx: move kernel cmdline config to kernel-cmdline.d
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7708>
2026-01-23 15:06:41 -08:00
Clayton Craft 6b1450424c device-apple-mac-aarch64: drop kernel cmdline from deviceinfo
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7708>
2026-01-23 15:06:20 -08:00
Clayton Craft 2d9bbc368d ci: hardcode ci-tron DUT kernel cmdline
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7708>
2026-01-23 15:06:19 -08:00
Clayton Craft dbc0b37449 main/boot-deploy: depend on generate-kernel-cmdline
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
[ci:ignore-count]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7708>
2026-01-23 15:06:19 -08:00
Clayton Craft a80206516e docs/kernel-cmdline: add docs for new kernel cmdline system
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7708>
2026-01-23 15:06:19 -08:00
Clayton Craft 51ed081129 main/postmarketos-base: install default kernel cmdline
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7708>
2026-01-23 15:06:19 -08:00
Clayton Craft 9a50e8fb55 main/devicepkg-dev: add support for installing kernel-cmdline.conf
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7708>
2026-01-23 15:06:04 -08:00
Clayton Craft 6e2db46651 linux-postmarketos-qcom-laptop: remove *.config fragments from sources
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>

[ci:skip-build]: no build test needed for this change

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7798>
2026-01-22 23:41:00 +00:00
Clayton Craft a99216d543 systemd/pipewire: re-sync apkbuild with upstream
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>

[ci:skip-build]: all archs built successfully except riscv64 but that's
failing from an Alpine problem

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7809>
2026-01-22 18:54:47 +00:00
Clayton Craft 1fd5acd9b3 Revert "device: oneplus-enchilada/fajita: mask alsa-restore"
This reverts commit d8a5e4622a.

It doesnt' actually work, `mask` is not a valid directive for preset
files.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7797>
2026-01-19 13:01:56 -08:00
Clayton Craft c2c979c44a device-google-x64cros: add emmc/sdhci module for chromebook emmc
Some chromebooks (swanky) need this module when using mrchromebox fw for
emmc to work in the initramfs

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7792>
2026-01-19 00:42:44 +00:00
Clayton Craft 4f2628f8bb main/postmarketos-ui-cosmic: update pmos-base-ui pw audio name
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>

[ci:skip-build]: loongarch64 CI runner temporarily broken

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7786>
2026-01-18 12:20:33 +00:00
Clayton Craft 1ca5a1ad58 device/*: update pmos-base-ui-backend-audio-* dependency pkg names
These were changed in 3c2af74036

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7786>
2026-01-18 12:20:33 +00:00
Clayton Craft 3c2af74036 main/postmarketos-base-ui: set defaults for pmb_select
This should fix cases where pw-pulse was being installed by default by
pmbootstrap despite not being selected.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7776>
2026-01-17 14:31:39 -08:00
Clayton Craft ed4088ae33 systemd/postmarketos-base-systemd: oomd: disable swap kill, raise app slice priority
This disables swap-based killing and sets a lower pressure threshold
for user apps in the app slice so they will get killed sooner than other
things (e..g the whole session slice).

Killing based on swap usage was resulting in some sudden kills from
oomd, and upon further investigation is seems like other distros
(ubuntu, fedora) either never enabled this or walked it back due to it
being confusing for users.

The override for app.slice and sets the pressure limit to a value less
than the other slices, in an attempt to fix situations where an app
(e.g. firefox) was creating a ton of pressure and systemd-oomd was
killing the entire UI/session.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7751>
2026-01-17 09:14:13 -08:00
Clayton Craft 8b4f66950c main/postmarketos-base: switch to pmos-zram
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7754>
2026-01-17 16:56:28 +00:00
Clayton Craft 2b4650d9f3 systemd/postmarketos-base-systemd: add preset for zram-swap
And remove preset for zram-init's zram_swap

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7754>
2026-01-17 16:56:28 +00:00
Clayton Craft 49b9e02ddf main/postmarketos-zram: increase default zram factor/size to 150%
This "size"/factor/percentage represents the total amount of
**uncompressed** data that is allowed to be written to the zram-backed
swap device. It is **not** the amount of RAM to use for zram swap (as I
had previously and erroneously thought.) What this means is that if we
set the percent to 50% on a device with 3GB of RAM then up to 1.5GB of
*uncompressed* data can be written to it, BUT since compression algos
usually do better than a ratio of 1:1... less than 1.5GB of RAM will
actually be occupied by this data when it is compressed.

A 1.5:1 compression ratio seems relatively safe to assume, even if we
use lz4 (which is less "good" at compressing than zstd), so I propose we
set the size to 150%. Some distros (PureOS) set this higher (200%), but
I think we should be somewhat conservative since we want to avoid any
thrashing in case the compression ratio at runtime ends up being less
than 2:1 for some reason.

This does set a limit of 50% for devices with >32GB of RAM, to
reduce overhead with using a larger amount of zram swap. The kernel
documentation for zram suggests there's a 0.1% overhead, so if we let
this amount get large then it could be tens or hundreds of MB of RAM
"wasted." The amount I chose is kinda arbitrary, I think this can be
improved later. At the very least, users can change this amount in the
deviceinfo variable.

Fixes #4250

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7754>
2026-01-17 16:56:28 +00:00
Clayton Craft 7aee3f6f58 main/postmarketos-zram: new aport
This is meant to replace zram-init. It's much simpler, since it only
sets up zram swap and doesn't try to do all the things that zram-init
does. This also lets us add additional logic, such as selecting
different default algorithms based on the runtime CPU arch and
conditionally applying sysctl settings that might be inappropriate when
*not* using zram swap.

To create zramstart, I took the zram-configurator, which reads config
from deviceinfo vars, and extended it to create the zram swap device.

zramstart and zramstop were inspired by what Fedora does. The sysctl
config is from the work done here:
https://source.puri.sm/Librem5/librem5-base/-/merge_requests/381

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7754>
2026-01-17 16:56:28 +00:00
Clayton Craft 3dfbc72312 systemd/qemu-binfmt: drop aport
This config is packaged upstream:
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/95870

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7755>
2026-01-17 00:47:35 +00:00
Clayton Craft d78576fadb main/boot-deploy: upgrade to 0.21.2
Changelog: https://gitlab.postmarketos.org/postmarketOS/boot-deploy/-/tags/0.21.2

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7760>
2026-01-14 23:13:42 +00:00
Clayton Craft 3a74f3a1de kconfigcheck: enable all compression backends for zram
It doesn't seem like enabling these will "cost" us anything, and
making sure they are enabled will let us more easily change the default
compressor for zram swap in the future.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7753>
2026-01-14 21:59:26 +00:00
Clayton Craft 67e26581a9 main/boot-deploy: upgrade to 0.21.1
Changelog: https://gitlab.postmarketos.org/postmarketOS/boot-deploy/-/tags/0.21.1

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7759>
2026-01-14 10:24:19 -08:00
Clayton Craft 7eb29052fa main/postmarketos-base: add Achill and Clayton as maintainers
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7733>
2026-01-13 20:00:02 +00:00
Clayton Craft 8326df65f8 main/boot-deploy: upgrade to 0.21.0
Changelog: https://gitlab.postmarketos.org/postmarketOS/boot-deploy/-/tags/0.21.0

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7732>
2026-01-13 12:09:26 +00:00
Clayton Craft 96d714f167 main/postmarketos-base-ui: delay starting flatpak helper
This is a workaround for https://github.com/flatpak/flatpak/issues/6449

By requiring that system time is sync'd with NTP before the flatpak
helper is started, we can make sure that system time is always greater
than the flathub.org repo gpg key creation time, and prevent the
helper/flatpak from creating broken repo config that requires manual
intervention to fix.

Fixes #3816

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7711>
2026-01-12 19:41:19 +00:00
Clayton Craft 5e435f9669 systemd/postmarketos-base-systemd: add systemd-time-wait-sync preset
This unit will activate `time-sync.target` after system time is synced,
e.g. by NTP. We can use this target to delay starting some units until
we know that system time is correct. IIUC this shouldn't have any impact
on system startup otherwise, including existing units we enable, so
nothing should be slowed down by adding this.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7711>
2026-01-12 19:41:19 +00:00
Clayton Craft 04394b2337 linux-postmarketos-asahi: upgrade to 6.18.4
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7713>
2026-01-11 10:03:22 +00:00
Clayton Craft 4e712841d7 kconfigcheck: set USB_F_FS to =m
Setting it to =y requires also setting CONFIGFS=y, but since we have
CONFIGFS=m this needs to be adjusted or else config generated from this
toml will fail validation / kconfigcheck.

```
[09:25:01] Copy kernel config back to pmaports dir
[09:25:02] (native) generate checksums for linux-postmarketos-asahi
[09:25:03] INFO: config-postmarketos-asahi.aarch64: CONFIG_USB_F_FS is preferably y, but currently m (category:usb_gadgets)
[09:25:03] Fragment pmos.config: CONFIG_USB_F_FS expected to be 'y' but has different value in final config
[09:25:03] ERROR: Fragment validation failed: Some options from fragments did not make it to the final kernel config. This usually means missing dependencies.
```

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7713>
2026-01-11 10:03:22 +00:00
Clayton Craft ea2144bbaf linux-postmarketos-qcom-laptop: upgrade to 6.18
This also reverts venus support, to fix #4229

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7654>
2026-01-06 10:38:29 -08:00
Clayton Craft 481c2a8970 temp/iio-sensor-proxy: add patch to fix inverted rotation on sargo
The previous rule is too vague and would also tag /dev/fastrpc-cdsp
devices too. Sometimes iio-sensor-proxy would bind to this which
seemed to always produce inverted orientation values. If only
/dev/fastrpc-adsp* is tagged, then orientation always seems to be
correct.

fixes #3741

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7681>
2026-01-06 18:27:17 +00:00
Clayton CraftandDylan Van Assche 5971d0f226 main/postmarketos-usb-moded: use a generator to configure UID/GID for umtprd
MTP transfers write files to the home folder of the user.
If no GID and UID are specified, uMTP-responder will use the GID/UID
under which it is running at the time of the file transfer.
This causes users to not be able to access the files on the device after transfering.

This patch adds a systemd generator that:

1) reads /etc/default_user, and appends config to
   /etc/umtprd/umtprd.conf to set the MTP default user/group. If this
   file doesn't exist, 10000:10000 is the fallback uid:gid.
2) installs this config to /run/umtprd/umptrd.conf
3) adds a unit override to /run for umtprd.service that runs the daemon
   with this modified config

The generator is used instead of hardcoding a uid and gid in umtprd.conf
so that this can support immutable installs or situations where the
default UID/GID is not 10000.

Co-authored-by: Dylan Van Assche <dylan@postmarketos.org>
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7658>
2026-01-05 10:15:18 +00:00
Clayton Craft 076b3f343d temp/iio-sensor-proxy: rebuild against libssc 0.3
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7657>
2025-12-28 13:41:39 +00:00
Clayton Craft c957fa0c83 main/postmarketos-usb-moded: new aport
This pkg contains usb-moded profile config and config for setting
default profile based on pmb_select.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6531>
2025-12-27 22:46:16 -08:00
Clayton Craft cf13a8a683 systemd/postmarketos-base-systemd: add preset for usb-moded-notify
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6531>
2025-12-27 22:44:28 -08:00
Clayton Craft b9e6ca1211 device-google-sargo: remove modem-gnss from openrc post-install
This was moved to soc-qcom in 8d356e5056

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7655>
2025-12-27 10:46:05 -08:00
Clayton Craft d07664abbb main/postmarketos-qemu-common: add usb modules to initramfs
Allows using qemu usb devices (keyboard/mouse) in the initramfs

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7627>
2025-12-26 16:47:58 +00:00
Clayton Craft 917ca066de device-qemu-*: drop initramfs module config
This is now in postmarketos-qemu-common

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7627>
2025-12-26 16:47:58 +00:00
Clayton Craft c739138510 main/postmarketos-qemu-common: add initramfs modules common to all qemu "devices"
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7627>
2025-12-26 16:47:58 +00:00
Clayton Craft 57c75db149 soc-qcom: delay starting modem-gnss on boot
modem-gnss / qmicli depends on qrtr being up, or it fails on boot and
GPS doesn't work on this device:

 sargo systemd[1]: Starting Google Sargo (Pixel 3a) GNSS Modem Setup...
 sargo qmicli[1080]: error: node with id 0 not found in QRTR bus

Ideally there would be a path in /dev or sysfs so we could add a
ConditionPathExists= in the unit, but I tried hard to find something and
was unable to. Making modem-gnss depend on ModemManager seems to work
around this issue, since qrtr seems to always (in my testing) be up by
then. IIUC in the future we may not have to run qmicli to enable GPS, so
this patch is a workaround to fix a workaround.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7636>
2025-12-25 23:19:41 +00:00
Clayton Craft 8d356e5056 community/soc-qcom: move modem-gnss service from google-sargo
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7636>
2025-12-25 23:19:41 +00:00
Clayton Craft 5fe98f2476 modem/msm-modem: do not return non-zero if no SIM is detected
MM does other important things (like enable GPS) even if no SIM is
installed, but when this returns non-zero after timing out waiting for a
SIM then we lose the ability to have MM enable GPS (for example). Other
failures related to selecting SIMs should still trigger a non-zero exit
and block MM (I guess), but if we waited a while and no SIM shows up
then let MM start anyways.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7634>
2025-12-25 06:56:47 +00:00
Clayton Craft 794bce75b6 systemd/systemd-stage0: sync pkgrel with systemd pkg
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
2025-12-18 20:02:59 -08:00
Clayton Craft a5dcb7b61b systemd: explicitly disable vmlinux-h
Else systemd/meson may try to generate it at build time, which doesn't
work when the host kernel is a different arch than the target.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
2025-12-18 19:41:38 -08:00
Clayton Craft 8b302ee6ce systemd/systemd{,-stage0}: upgrade to 259
This builds from upstream now.

- tests are re-enabled
- disable BTF support / drop vmlinux.h dependency, enabling bpf is
  enough for mkosi/testing stuff, and getting a sane vmlinux.h that
  systemd can compile with seems to be "complicated."
- armhf is re-enabled since we don't enable BTF anymore
- workaround stage0 linking failing on riscv64 by enabling tests
- increase test timeout for main pkg, because running in qemu is slow
- a lot more dependencies are explicitly listed now, because they are
  dlopened and abuild doesn't know how to detect these
- meson build options re-arranged / cleaned up (some of these are
  implicitly disabled by using -Dlibc=musl)
- tests are skipped for archs that we build in CI/bpo that don't have
  native hw, since ~13 of them fail for unknown (or timeout) reasons. 2
  of them time out after >1200 seconds and 11 fail for mysterious
  reasons.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7584>
2025-12-18 23:38:24 +00:00
Clayton Craft b6489d85e2 linux-postmarketos-asahi: upgrade to 6.17.12
- Sync kconfig
- Enables compressed modules

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7586>
2025-12-18 23:32:30 +00:00
Clayton Craft 7de0485651 main/postmarketos-ui-cosmic: use pw for audio
COSMIC can't even control pulseaudio, which means no volume control or
output/input device selection in the UI, so make sure pipewire is used
for audio.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7580>
2025-12-15 22:46:14 -08:00
Clayton Craft 1fd1396385 systemd/postmarketos-base-systemd: fix user and root slice oomd config
Apparently the user slice and root slice weren't being configured
correctly and oomd was not stepping in during high swap pressure events
before the kernel oom killer showed up to the party. This (hopefully)
properly configures systemd-oomd now... The configuration was inspired
by Fedora.
https://fedoraproject.org/wiki/Changes/EnableSystemdOomd

I used the test in that wiki page to confirm it's now properly configured:

$ systemd-run --user tail /dev/zero
$ journalctl -f
...
systemd[1081]: Started [systemd-run] /usr/bin/tail /dev/zero.
systemd-oomd[517]: Considered 79 cgroups for killing, top candidates were:
systemd-oomd[517]:         Path: /user.slice/user-10000.slice/user@10000.service/app.slice/run-p5146-i5147.service
systemd-oomd[517]:                 Swap Usage: 4.6G
systemd-oomd[517]: Killed /user.slice/user-10000.slice/user@10000.service/app.slice/run-p5146-i5147.service due to memory used (2458>
systemd[1081]: run-p5146-i5147.service: systemd-oomd killed 1 process(es) in this unit.
systemd[1081]: run-p5146-i5147.service: Main process exited, code=killed, status=9/KILL
systemd[1081]: run-p5146-i5147.service: Failed with result 'oom-kill'.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7556>
2025-12-15 19:33:41 +01:00
Clayton Craft ff66f0bd69 main/postmarketos-ui-cosmic: depend on gst-thumbnailers
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7562>
2025-12-14 01:00:30 +00:00
Clayton Craft 5c7d664d88 main/postmarketos-initramfs: add crc32c_cryptoapi to default modules list
In some kernels, this may be =m, so we need to include this module so we
can mount BTRFS.

Also see: https://gitlab.alpinelinux.org/alpine/aports/-/issues/17787

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7554>
2025-12-12 13:26:02 -08:00