Compare commits

...
169 Commits
Author SHA1 Message Date
postmarketOS CI f3c2221241 linux-next: upgrade to next-20260619 2026-06-19 15:38:42 +00:00
bluebunny e015e4359c docs: device-categorization: fix duplicate typo
Signed-off-by: bluebunny <bluebunny@postmarketos.org>
2026-06-19 12:53:37 +00:00
Pablo Correa Gómez ada7990f8e docs: add that lowering main or community devices requires communication
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8595>
2026-06-19 11:41:19 +00:00
Pablo Correa Gómez 85dc562881 docs: add rationales for device categories
The lack of rationales for device categorization has lead to a lot of
discussions, misunderstandings, and frustrations, as of why the
requirements are the way they are. Even though it's always good to
keep improving and exploring ways to change our processes, having
rationales can help to explain the "why"s that do not really get
addressed by the "how"s of the actual requirements. Hopefully, this
will lead to less discussions and misunderstandings around the
specific requirements.

Closes https://gitlab.postmarketos.org/postmarketOS/postmarketos/-/work_items/146

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8595>
2026-06-19 11:41:19 +00:00
Aelin e7fe5dab0e ci: Switch to Alpine 3.24 for CI runs
Now that Alpine 3.24 is out and the issues with Python 3.14 are
resolved, we can safely upgrade in CI.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8859>
2026-06-19 10:52:05 +00:00
Kidd Lee 834dccd4d9 readme: update link to approval rules
MR !8812 moved this page to `merge-requests` subdirectory.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8860>
2026-06-19 18:12:28 +08:00
Aelin fddebb2279 systemd/systemd: fix the provider mess
This fixes two issues:

1. I was investigating why currently, pmbootstrap build --force
   libcamera would fail. It turns out that the problem was possible to
   reduce down to apk add eudev-dev resulting in installing eudev-dev
   instead of systemd-dev, even with the systemd repository enabled.
   This is because apk actually thinks it has a higher version:

name <eudev-dev> selected from selectable list
select_package: eudev-dev (requirers=1, autosel=1, iif=0, order_id=0x40005807)
  consider systemd-dev-261_rc4-r0 iif_triggered=0, tag_ok=1, selectable=1, available=1, flags=0x0, provider_priority=100, installed=0
   prefer existing package
    choose as new provider
  consider eudev-dev-3.2.14-r6 iif_triggered=0, tag_ok=1, selectable=1, available=1, flags=0x0, provider_priority=100, installed=0
    select latest by requested name (greater)
    choose as new provider
  consider libudev-zero-dev-1.0.4-r0 iif_triggered=0, tag_ok=1, selectable=1, available=1, flags=0x0, provider_priority=20, installed=0
    select latest by requested name (less)
selecting: eudev-dev-3.2.14-r6, available: 1
assign eudev-dev to eudev-dev-3.2.14-r6
disqualify_package: systemd-dev-261_rc4-r0 (conflicting provides)
disqualify_package: libudev-zero-dev-1.0.4-r0 (conflicting provides)

   And why is that? It's because we have two providers here: One is
   eudev-dev with a provider version of 3.2.14-r6, and the other is
   systemd-dev with a provider version that is empty. This then results
   in apk thinking the version number is greater, as seen above in the
   verbose output. An unversioned provides= for an exact package name
   match will never, ever, ever have any effect, even if the priority is
   set super high, because the version number comparison is before apk
   even starts looking at provider priorities.

   Therefore, we should not have unversioned provides for eudev,
   eudev-dev, eudev-libs and udev. Since those have fairly low version
   numbers, we can just provide them with systemd's version number and
   we'll be fine. This will now result in apk actually installing
   systemd-dev when eudev-dev is prompted for installation.

2. After fixing the aforementioned issue, I noticed that I couldn't
   build anything anymore. This is because my dependency tree would pull
   in systemd and systemd-udev - completely normal. However, both
   systemd and systemd-udev were providing eudev, and apk will refuse to
   install two packages that provide the same thing at the same time.
   The fix for this is to just not provide eudev in the top-level
   systemd package and rather let systemd-udev do that.

With this, I can now finally build libcamera again!

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8857>
2026-06-19 03:46:53 +02:00
Aelin 7bc5615daf device-lenovo-21bx: Fix typo in lts kernel description
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8856>
2026-06-18 19:04:35 +02:00
Ferass El Hafidi d4ead1f8f8 device-postmarketos-trailblazer: drop qcom-laptop kernel
It is apparently broken (according to Casey), and might be dropped from
pmaports anyway. Let's just drop it from trailblazer at this point.

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8826>
2026-06-18 15:49:42 +00:00
postmarketOS CI 93f70ea6c0 linux-next: upgrade to next-20260618 2026-06-18 15:38:50 +00:00
Aster Boese 9f4e4777a8 docs: reference Alpine Linux's CODINGSTYLE.md
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8847>
2026-06-18 13:39:33 +00:00
Stefan Hansson f357e3e669 linux-postmarketos-qcom-sm7125: install modules to /usr
Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8855>
2026-06-18 13:15:46 +00:00
binarycraft007 1aedb96c37 device-asus-s5507q: switch to mainline kernels
Adds support for the kernels in main (lts, mainline, stable) and removes
support for linux-postmarketos-qcom-laptop.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8849>
2026-06-18 13:09:05 +00:00
Dang Huynh 167f59c830 linux-pine64-pinetab2: Upgrade to 7.0.12
Signed-off-by: Dang Huynh <dang.huynh@mainlining.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8840>
2026-06-18 10:42:52 +00:00
Clayton Craft 17214afd71 main/postmarketos-base-ui-plasma: add cups to pmb_recommends
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>

[ci:skip-vercheck]: pmb_recommends-only change

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8836>
2026-06-18 07:54:18 +00:00
Clayton Craft 64aa98a876 main/postmarketos-base-ui-gnome: add cups to pmb_recommends
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8836>
2026-06-18 07:54:18 +00:00
Clayton Craft d1d310a503 main/postmarketos-ui-cosmic: move install= from subpkg funcs
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8836>
2026-06-18 07:54:18 +00:00
Clayton Craft 81f3595800 main/postmarketos-ui-cosmic: add cups to pmb_recommends
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8836>
2026-06-18 07:54:18 +00:00
Dylan Van Assche ccd3a554a6 main/postmarketos-usb-moded: use service manager for unudhcpd
Also start set -e after config parameters are read. Fallbacks would trigger exit otherwise.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8553>
2026-06-18 06:27:13 +00:00
Dylan Van Assche 9bccd6b5e9 systemd/postmarketos-base-systemd: enable unudhpcd service
Start unudhpcd on boot

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8553>
2026-06-18 06:27:13 +00:00
Dylan Van Assche 41732e213b main/postmarketos-initramfs: stop unudhcpd before switching rootfs
Rootfs will take over the managing of unudhcpd under the service manager,
stop unudhpcd to allow this and avoiding multiple instances.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8553>
2026-06-18 06:27:13 +00:00
Dylan Van Assche 7a917eee3c main/postmarketos-usb-moded: handle initramfs situation
initramfs starts USB NCM gadget and unudhcpd for SSH login.
This requires special handling since unudhpcd is unmanaged by the
service manager until the userspace is started. Once entered in userspace,
the usb-moded-developer-mode needs to be activated which configures
NetworkManager and starts unudhcpd under the service manager.
This way, a full handover is possible and the gadgets can be properly
switched without any leftovers from the initramfs due to the unmanaged
situation.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8553>
2026-06-18 06:27:13 +00:00
Dylan Van Assche b877e7943b main/postmarketos-usb-moded: support dynamic iface
Read iface name from gadget, including config name. Also check for errors

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8553>
2026-06-18 06:27:10 +00:00
Dylan Van Assche ba1fd6bf14 main/postmarketos-usb-moded: add OpenRC MTP mode
OpenRC also needs MTP mode for usb-signaller.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8553>
2026-06-18 06:27:07 +00:00
Dylan Van Assche 9112523f0a systemd/postmarketos-base-systemd: swap usb-moded by usb-signaller
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8553>
2026-06-18 06:27:03 +00:00
Dylan Van Assche 9dcb48a08f main/postmarketos-usb-moded: switch to usb-signaller as default
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8553>
2026-06-18 06:27:00 +00:00
Dylan Van Assche f82661f261 main/postmarketos-usb-moded: add usb-moded-mtp-mode
MTP mode requires some time for the userspace daemon
to configure the FunctionFS gadget, wait until it is completed.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8553>
2026-06-18 06:26:56 +00:00
Dylan Van Assche 7c4ebfcc91 main/postmarketos-usb-moded: clean up IP forwarding
NetworkManager doesn't clean up IP forwarding, do it in the tethering script.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8553>
2026-06-18 06:26:53 +00:00
Bart Ribbers e2572a0dc9 systemd/kjournald: upgrade to 26.04.2
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8834>
2026-06-17 18:53:52 +00:00
Bart Ribbers fd34f8e28d systemd/plasma*: upgrade to 6.7.0
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8834>
2026-06-17 18:53:52 +00:00
Oliver Smith 0fe40dd597 main/postmarketos-release-upgrade: upgrade to 1.12.2
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8848>
2026-06-17 18:24:05 +00:00
Oliver Smith 9b29c2bc2c docs: stable-branches: backports may wait
Let's note that maintainers can choose to delay backports to give them
more testing time.

Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8850>
2026-06-17 19:45:54 +02:00
Aster Boese ff88820b6a lenovo-21bx: add myself as co-maintainer and move reference to top
Signed-off-by: Aster Boese <asterboese@mailbox.org>

[ci:skip-vercheck]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8844>
2026-06-17 18:32:37 +02:00
Aster Boese 283ff28eff device-lenovo-21bx: add boot-deploy hook to remove EFI capsules file
Persisted_Captules.sh is huge (70 MB) and can cause boot-deploy failures
when doing transactions that do large modifications to `/boot/`, such as
switching kernel packages. Persisted_Capsules.sh is recreated on reboot
and we do not use it for anything currently, so it is safe to remove in a
hook.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8368>
2026-06-17 15:01:58 +00:00
Aster Boese f0b0dff385 device-lenovo-21bx: switch to mainline kernels
Adds support for the kernels in main (lts, mainline, stable) and removes
support for linux-postmarketos-qcom-laptop after discussion with the
kernel's maintainers, as it is most likely going to be dropped, or at
least moved to testing.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8368>
2026-06-17 15:01:58 +00:00
Yu Watanabe 7eb30fa6f2 systemd/systemd: drop unnecessary conditionalization for $source
The upstream mkosi build does not fetch source files. Hence, it is not
necessary to exclude the tar ball from $source.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8832>
2026-06-17 10:16:34 +00:00
Clayton Craft eb81a92aae systemd/systemd: upgrade to 261-rc4
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8832>
2026-06-17 10:16:34 +00:00
Oliver Smith aafecd66e7 device-apple-tonga: remove
Craftyguy: "we should really just drop apple-tonga, it's redundant with
'device-apple-mac-aarch64'"

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8683>
2026-06-17 09:07:14 +00:00
Bart Ribbers f5e350c0bd temp/plasma-bigscreen: remove
Moved upstream in https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/104116

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8841>
2026-06-17 08:54:06 +00:00
Clayton Craft 51b52fc2cc main/postmarketos-base-ui: revert flatpak hack
Flatpak 1.18 includes a proper fix[1] for #3816, so we can revert this
hack that delayed starting the helper until ntp was available. This also
means that boot will now be marked 'complete' in systemd before NTP is
up, which was a weird side-effect of this hack.

This reverts commit 96d714f167.

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

1. https://patch-diff.githubusercontent.com/raw/flatpak/flatpak/pull/6547.patch

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8487>
2026-06-17 09:58:58 +02:00
Clayton Craft b04820297c linux-postmarketos-asahi: upgrade to 7.0.12-1
This also adds a patch that was sent upstream to allow enabling dynamic
ftrace on aarch64 with CFI=y

https://lore.kernel.org/all/20260609-arm64-ftrace-direct-calls-v1-0-4a46f266697f@linux.dev/

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8837>
2026-06-16 16:37:14 -07:00
Clayton Craft 8be47c7a33 main/postmarketos-base-ui-gnome: move install= from subpkg funcs
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8831>
2026-06-16 18:22:10 +00:00
Clayton Craft 138a8c01c3 main/postmarketos-base-ui-gnome: add "app provider" subpkgs
This adds two new subpackages, one pulls in in gnome software and the
other pulls in bazaar. Both subpackages provide a new virtual
(gnome-app-provider), and the main base GNOME UI pkg now depends on
this virtual. This allows us to ship bazaar in Duranium instead of GNOME
Software, and to continue to use GNOME Software by default on mutable
pmOS.

 Previously there was an "optional" dependency on a sw
app provider (gnome-software, via pmb_recommends), but I made it a hard
dependency now because:

1) I think users can expect *some* app store thing to be available
by default, and the number of users who would remove all of them is
probably approaching 0

2) Ignoring pmb_recommends made the rest of this easier to implement,
since I'm not entirely sure how pmb would react to a virtual provided
by the pkg it is processing pmb_recommends for, and I didn't want to
find out.

Fixes #4634

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8831>
2026-06-16 18:22:10 +00:00
Ferass El Hafidi fe736c32ea main/postmarketos-bootsplash: switch back to plymouth-openrc-plugin
With the openrc plugins hanging issues fixed in OpenRC 0.63.2, we can
now make use of plymouth-openrc-plugin once again.

This partially reverts commit f13be0f6b7.

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8811>
2026-06-16 16:58:21 +00:00
v34びょう 8ebe73581c postmarketos-config-nftables: bump pkgrel and checksum
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8820>
2026-06-16 16:18:55 +00:00
v34びょう a24583b9e7 postmarketos-config-nftables: block qmapmux interfaces
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8820>
2026-06-16 16:18:55 +00:00
postmarketOS CI f621576f12 linux-next: upgrade to next-20260616 2026-06-16 15:39:35 +00:00
Oliver Smith 2f121a4d14 docs: integrate COMMITSTYLE
Make a symlink at docs/merge-requests/commitstyle.md that points at the
COMMITSTYLE.md file, so it is part of the documentation at
https://docs.postmarketos.org/pmaports/.

Tweak the headline and link to Alpine's COMMITSTYLE.md so it looks
better in the version rendered at docs.postmarketos.org.

Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8829>
2026-06-16 13:40:21 +00:00
Antoine Martin 2a902da452 device-pine64-pinenote: fix upgrade path for nonfree-firmware
Renames pre-upgrade script to post-upgrade script for non-freefirmware
subpackage.

This script creates stub files for where the waveform firmware should
be. When upgrading from 13-r0, the script detects files being there,
thus does not create the stub files. Unfortunately, since before
15-r0 those files are "owned" by the subpackage, they are removed
when upgrading, and thus the stub files are never created by the
pre-upgrade. By making this script post-upgrade, it'll recreate the
empty stub files so that the actual waveforms can be extracted by
the systemd / openrc boot-up service.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8827>
2026-06-16 13:26:39 +00:00
Oliver Smith 4084d06f7b docs: approval-rules: simplify for stable branches
Don't describe how MRs to stable branches are done here, link to the
other page instead. Otherwise the approval rules should be the same as
for stable branches from now on.

Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8812>
2026-06-16 13:30:02 +02:00
Oliver Smith 8d534ae3d6 docs: update merge-requests/stable-branches
* Describe relevant changes, especially that we may make non-backport
  changes if there is a patch release for a package that meanwhile has a
  higher version in main already (e.g. a kernel in main is on linux
  7.x.y while stable is on 6.18.z).

* Directly pushing to a stable branch should only be done during initial
  branch bringup, otherwise we shall always make MRs that go through CI.

* Update formatting and title of the page.

Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8812>
2026-06-16 13:30:01 +02:00
Oliver Smith d13bed7d56 docs: make headlines more consistent
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8812>
2026-06-16 13:27:58 +02:00
Oliver Smith 5b69893122 docs: structure: move packaging related pages
Bring more structure into the docs by moving packaging related subpages
as well.

Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8812>
2026-06-16 13:27:25 +02:00
Oliver Smith ac931d4507 docs: structure: move merge-requests related pages
Add a new "merge requests" page and move all related pages under that
page to give the docs more structure.

Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8812>
2026-06-16 13:27:22 +02:00
Oliver Smith ae07d28bfb docs: structure: move CI related pages
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8812>
2026-06-16 13:24:21 +02:00
Clayton Craft 5932b59857 main/postmarketos-duranium: remove app store plugin conflicts
These conflicts in the sysext-dev-tools subpkg were intended to prevent
app store plugins from being pulled into the system extension image
(where they would not work as expected and cause confusion.) They were
causing an issue with how packages are snapshot in the duranium build CI
by causing a conflict when it tried to resolve base and sysext package
lists together (so install_if packages were included). The conflict
was from:

error: apk add --simulate failed:
ERROR: unable to select packages:
  gnome-software-plugin-apk2-0.0.3-r1:
    breaks: postmarketos-duranium-sysext-dev-tools-11-r0[!gnome-software-plugin-apk2]
    satisfies: world[gnome-software-plugin-apk]

It's much simpler to just remove these conflicts and add these plugins
to the list of RemovedPackages in duranium's mkosi config so they are
purged before main image is finalized.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8761>
2026-06-16 06:40:02 +00:00
Clayton Craft c25a89d8f8 main/postmarketos-duranium: add waydroid sysext subpkg
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8761>
2026-06-16 06:40:02 +00:00
postmarketOS CI ba02a48358 linux-next: upgrade to next-20260615 2026-06-16 04:38:45 +00:00
Oliver Smith b2efdb7f64 issue-templates/Release_Infrastructure: update
* Note that several steps can already be done even if the community repo
  is not published yet in Alpine.
* Adjusting arches in .ci/build-jobs.yaml.j2 is not needed anymore, CI
  scripts read them from pmaports.cfg now.
* Branch protection: we have a v2*.* rule in place now that protects new
  release branches automatically, adjust wording to just double check if
  it still matches and add a link (in 2030 it will not match anymore.)
* channels.cfg: cover case that the aports branch may not exist yet in
  pre-branch phase.
* Use git commit -s in example commands.
* postmarketos-ui-asteroid currently doesn't exist anymore, so we don't
  need to delete it for stable.
* Add the command for regenerating cross packages.
* Remove postmarketos-repo-nightly in stable.
* Bootstrap of binary packages: tweak wording, mention that only the
  main repo needs to be built for x86_64 before arm repos can be
  enabled, we don't need to wait for the x86_64 systemd repo.
* Adjust to QEMU devices not being in main anymore.
* Various syntax fixes and readability improvements.

Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8815>
2026-06-15 19:23:56 +00:00
Oliver Smith ad05a1b83b docs/releases/timeline: add numbers before phases
Adjust the timeline docs and release infrastructure template to have
numbers before the phases. This makes clearer where the next phase
begins in the long infrastructure issue template.

Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8815>
2026-06-15 19:23:56 +00:00
Aster Boese 3e322e01a1 apple-idevice: fix APKBUILD formatting
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8800>
2026-06-15 19:15:13 +00:00
Aster Boese 8615aac3af apple-idevice: depend on firmware-apple-idevice
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8800>
2026-06-15 19:15:13 +00:00
Aster Boese 1ec34e426f firmware-apple-idevice: new package
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8800>
2026-06-15 19:15:09 +00:00
Oliver Smith 484ac6f4d3 main/postmarketos-release-upgrade: upgrade to 1.12.1
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8817>
2026-06-15 07:02:45 +00:00
Yu Watanabe 863cc44ac9 systemd/systemd: bump pkgrel
In the previous commits,
- enabled bootloader support on 32-bit architectures,
- fixed libpwquality dependency,
- enabled libarchive and zlib supports,
- enabled xen kexec support,
- enabled valgrind support,
- added systemd-tests subpackage,
- added upstream build support.

So, let's bump the pkgrel to make them take effects.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8718>
2026-06-15 13:42:43 +09:00
Yu Watanabe f432f70de9 systemd/systemd: add upstream mkosi build support
For https://github.com/systemd/systemd/pull/39823

The upstream systemd's mkosi build requires that systemd-boot and ukify
are also built from the upstream source files.

Also, mkosi needs to pass specific source and build directories,
override default meson options, and so on. To support them, this adds
several extra environment variables support:
- $_systemd_upstream,
- $_meson_extra_configure_options,
- $_meson_builddir,
- $_upstream_srcdir.

Note, postmarketOS image built with mkosi already enables usr-merge. Hence
several symlink paths are changed when $_systemd_upstream is set.

This should not change any behavior when the above environment variables
are _not_ set.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8718>
2026-06-15 13:42:43 +09:00
Yu Watanabe 0bc8f74905 systemd/systemd: enable bootloader support on 32-bit architecture
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8718>
2026-06-15 13:42:37 +09:00
Yu Watanabe 87c4c8c4e0 systemd/systemd: introduce systemd-tests subpackage
Then, we can run unit tests and integration tests on postmarketOS systems.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8718>
2026-06-15 12:08:49 +09:00
Yu Watanabe 6ba54d5a25 systemd/systemd: add valgrind support
Note, systemd uses `RUNNING_ON_VALGRIND` macro, hence when executables
are not running on valgrind, this should introduce any runtime behavior
differences.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8718>
2026-06-15 12:08:49 +09:00
Yu Watanabe 3de1007991 systemd/systemd: add xenctl support
Then, we can support xen kexec commends on reboot.
Note, this does not requires any runtime library.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8718>
2026-06-15 12:08:43 +09:00
Yu Watanabe f8dbf2b686 systemd/systemd: enable libarchive and zlib support
Then, people can use foo.tar.gz by systemd-import and friends.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8718>
2026-06-15 11:50:28 +09:00
Yu Watanabe d7af540929 systemd/systemd: fix libpwquality dependency
Without installing -dev package on build, libpwquality support is not
enabled.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8718>
2026-06-15 11:50:28 +09:00
Yu Watanabe 33f463cd23 systemd/systemd: gnu grep is required by test-kernel-install
test-kernel-install requires 'grep -G', which is not supported by
BusyBox grep.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8718>
2026-06-15 11:50:28 +09:00
Yu Watanabe 1be5715359 systemd/systemd: various trivial cleanups
- -Dsysvinit-path= has been deprecated,
- dropped stale comment,
- fix indent.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8718>
2026-06-15 11:50:19 +09:00
Sicelo A. Mhlongo 6d0ebc1731 device-nokia-n900: improve input-device-related configuration
1. Use udev's uaccess tag mechanism to permit unprivileged access to the
     gpio_keys input device which reports EV_SW events such as SW_KEYPAD_SLIDE.
     Thus the user can interact with the keypad slide switch under X11 without
     needing to be in the input group. Do the same for the power button, even
     though X11 can read it directly.
  2. Drop acpid and related configurations. This removes the dependency on user
     being in the input group.
  3. Switch to the logind SetBrightness API to control the keyboard LEDs
     without requiring elevated permissions. brightnessctl as packaged under
     Alpine currently depends on the user being in the input group to control
     LEDs.
  4. Improve the keyboard backlighting so it is more even, by setting higher values
     of brightness for the innermost keyboard backlight LEDs.
  5. Simplify the touchscreen calibration rules and merge with the rules for
     gpio_keys and power button.

Signed-off-By: Sicelo A. Mhlongo <absicsz@gmail.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8748>
2026-06-14 18:05:47 +00:00
Sicelo A. Mhlongo 47ffb9097e device-nokia-n900: switch sound card over to ucm2
Having switched card over to ucm2, drop alsactl restore hacks from /etc/local.d
and from the acpi configuration.

PS: Microphones not implemented yet.

Signed-off-By: Sicelo A. Mhlongo <absicsz@gmail.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8748>
2026-06-14 18:05:47 +00:00
Aster Boese 15eb62c214 cross/gcc-*: Upgrade to 15.2.0-r6
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8814>
2026-06-14 16:53:59 +00:00
Neil Armstrong 83adba34fd linux-ayaneo-pocket-s2: install modules to /usr
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>

[ci:skip-kconfigcheck]: The kconfigcheck.toml has been changed since the
last CI run. Let's merge the version that Neil has tested without
modifying it further.

Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8801>
2026-06-14 18:41:38 +02:00
Neil Armstrong 8ed1cc0379 device-ayaneo-pocket-s2: update firmware file and initfs modules
Take in account the new Audiorech Topology path and panel module name
for the upstreaming work.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8801>
2026-06-14 16:29:35 +00:00
Neil Armstrong 529a05ecf1 linux-ayaneo-pocket-s2: use updated patch serie with upstream aligned support
It contains the already merged SGM304 driver and the following
patch in review on the mailing-lists:
- https://lore.kernel.org/all/20260529-topic-sm8650-ayaneo-pocket-s2-sy7758-v5-0-03aacd49747c@linaro.org/
- https://lore.kernel.org/all/20260605-topic-sm8650-ayaneo-pocket-s2-r63419-v7-0-b84b6da84293@linaro.org/
- https://lore.kernel.org/all/20260608023011.942228-1-mohammad.rafi.shaik@oss.qualcomm.com/
- https://lore.kernel.org/all/20260610-topic-sm8650-ayaneo-pocket-s2-wsa2-fix-v1-0-18bb19c5ca22@linaro.org/
- https://lore.kernel.org/all/20260522-topic-sm8650-ayaneo-pocket-s2-display-dt-v2-1-cdd4b70e5a16@linaro.org/

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8801>
2026-06-14 16:29:35 +00:00
Neil Armstrong 13f3f6c11e firmware-ayaneo-pocket: use upstream topology for Pocket S2
Use an upstream aligned Audiorech Topology using the in-kernel
WSA2 fix instead of using a fake WS2 topology element.

Built from:
https://github.com/linux-msm/audioreach-topology/pull/65

commit 6040c950021b88c6db287cfffa17abbf917f56cf

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8801>
2026-06-14 16:29:32 +00:00
Neil Armstrong 16e3543e64 alsa-ucm-conf-ayaneo-pocket-s2: update UCM conf
Use an upstream aligned UCM conf, without microphone support yet

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8801>
2026-06-14 16:29:32 +00:00
Clayton Craft 2ca69460a1 kconfigcheck: drop DEBUG_INFO_BTF=n for LTO+Rust
These options are required to get BPF stuff working in the kernel.

Fixes #4411

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8779>
2026-06-14 16:03:04 +00:00
Clayton Craft 5f8ef38f89 kconfigcheck: add systemd bpf requirements to default category
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8779>
2026-06-14 16:03:04 +00:00
Clayton Craft 64ae016303 systemd/systemd-stage0: add comment about why depends_* are manually set
This confused me in
https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8
704#note_557852

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8779>
2026-06-14 16:03:04 +00:00
Aelin a77c75ee76 systemd/systemd: build with TPM support
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8779>
2026-06-14 16:03:04 +00:00
Clayton Craft 2006cfcde8 systemd/systemd: enable bpf support
systemd supports using gcc or clang for bpf compilation, using clang
seems easier since the gcc option requires bpf-gcc and a few other tools
that don't seem to be packaged in Alpine.

This isn't working on ARM (see #4411 ), but we can enable it now for x86
and in preparation for a kernel fix on ARM later.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8779>
2026-06-14 16:03:04 +00:00
Aster Boese 842f171d02 .gitlab: Out_of_date_community_kernels.md: use ymd for date and clarify title
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8816>
2026-06-14 17:10:03 +02:00
Daniel Kulesz 46f257215e linux-purism-librem5: Remove forgotten and obsoleted call to downstream_package
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8751>
2026-06-14 10:58:41 +00:00
Daniel KuleszandAster Boese asterboese@mailbox.org 7116a079b8 linux-purism-librem5: Modernize packaging
refs #1814, #4594

Related to !8124, !8578

Port changes from !8578 authored by Aster Boese to currently developed MR for the librem5.

Co-authored-by: Aster Boese asterboese@mailbox.org
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8751>
2026-06-14 10:58:41 +00:00
Daniel Kulesz eafc62dd74 linux-purism-librem5: Add zstd as dependency (required for packaging the kernel)
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8751>
2026-06-14 10:58:41 +00:00
Daniel Kulesz 60c7c33de3 linux-purism-librem5: Remove pureosrel variable from APKBUILD
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8751>
2026-06-14 10:58:41 +00:00
Daniel Kulesz 3d4edb256b linux-purism-librem5: Migrate kernel config (manually) and update checksum
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8751>
2026-06-14 10:58:41 +00:00
Daniel Kulesz dc4836fb4d linux-purism-librem5: Sort makedepends alphabetically in APKBUILD
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8751>
2026-06-14 10:58:41 +00:00
Daniel Kulesz 1d70fbaf39 linux-purism-librem5: Prefix custom variables with underscore
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8751>
2026-06-14 10:58:41 +00:00
Daniel Kulesz d662b52807 linux-purism-librem5: Try to fix linter warnings and make url schema more flexible
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8751>
2026-06-14 10:58:41 +00:00
Daniel Kulesz e4c6d1ae0e linux-purism-librem5: upgrade to 6.6.139
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8751>
2026-06-14 10:58:41 +00:00
Oliver Smith 120808693a temp/gnome-shell-mobile: apply patches here too
Apply the same patches that were just added to
extra-repos/systemd/gnome-shell-mobile to temp/gnome-shell-mobile as
well.

Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8798>
2026-06-14 08:43:55 +00:00
Cédric Bellegarde a3a2689d5e systemd/gnome-shell-mobile: Fix a keyboard issue causing excessive battery drain
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8798>
2026-06-14 08:43:55 +00:00
Cédric Bellegarde e52b130052 systemd/gnome-shell-mobile: Fix a crash when closing a window
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8798>
2026-06-14 08:43:55 +00:00
postmarketOS CI da6728b62e linux-next: upgrade to next-20260612 2026-06-13 04:39:16 +00:00
Antoine Martin 36b5f56f96 device-pine64-pinenote: add missing procps-ng and pinenote-service dependency to sway config
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8804>
2026-06-12 16:29:13 -04:00
Aster Boese e1e0ccc2e9 pmaports.cfg: add install_user_groups
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8767>
2026-06-12 17:26:20 +00:00
Aster Boese 9755b0ed94 main/postmarketos-ui-sxmo-*: explicitly add user to input
The input group should not be blanket allowed for UIs that do not need it as
it bypasses the security benefits of Wayland. This change explicitly adds
the input group to only the UIs that absolutely require it, which is only
SXMO due to their udev rules and lisgd.

Signed-off-by: Aster Boese <asterboese@mailbox.org>

[ci:skip-vercheck]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8767>
2026-06-12 17:26:20 +00:00
Ferass El Hafidi 5c8d75d0c3 device-amlogic-aarch64-tvbox: make it clear that refboards are only for testing
(bumped pkgver because else CI gets confused if I do it the "right" way)

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8689>
2026-06-12 13:39:06 +00:00
Ferass El Hafidi 3f6985ef8b device-amlogic-aarch64-tvbox: add SEI510
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8689>
2026-06-12 13:39:06 +00:00
Szymon Graczyk 07376edcef linux-htc-flounder: install modules to /usr
CI flags INSTALL_MOD_PATH="$pkgdir" on changed packages since the
/usr merge; suggested by @Newbyte in !8796 review.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8796>
2026-06-12 11:42:13 +00:00
Szymon Graczyk 5f91ac5670 linux-htc-flounder: add maintainer
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8796>
2026-06-12 11:42:13 +00:00
Szymon Graczyk 7a02b6efb6 linux-htc-flounder: install kernel.release again
Commit a4e9924792 ("linux-htc-flounder: Modernize package") dropped the
kernel.release install step. Since then a fresh build fails at install:

    (rootfs_htc-flounder) % mkinitfs
    ERROR: only one kernel release/flavor is supported, found: []

postmarketos-mkinitfs needs /usr/share/kernel/$_flavor/kernel.release
to detect the flavor. Restore the install line (same as other kernel
packages).

Tested: pmbootstrap 3.10.1, edge; fresh install for htc-flounder passes
mkinitfs again and the image boots on hardware.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8796>
2026-06-12 11:42:10 +00:00
Nick Chan 903c2d89dd linux-postmarketos-apple-{4,16}k: Upgrade to 7.0.12
Resolves all nvme instability issues on Apple A11.

Signed-off-by: Nick Chan <towinchenmi@gmail.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8799>
2026-06-12 15:52:19 +08:00
Martin Juecker c72c5f23f7 samsung-p4note: update maintainer
It's time to take some responsibility

Signed-off-by: Martin Jücker <martin@bitkeller.de>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8750>
2026-06-11 22:31:33 +02:00
Stefan Hansson d52160d224 alsa-ucm-conf-sdm845: set url to the actual project location
More useful if you're trying to find relevant information from e.g. the
postmarketOS package browser.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8793>
2026-06-11 19:07:58 +00:00
Sicelo A. Mhlongo b495aa576b device-*: switch to UPower config fragments
As of upower 1.91.0, UPower supports config fragments, thus there is no longer
a need to ship a full UPower.conf.

Signed-off-By: Sicelo A. Mhlongo <absicsz@gmail.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8794>
2026-06-11 17:25:47 +00:00
postmarketOS CI 2edcb111d8 linux-next: upgrade to next-20260611 2026-06-11 15:39:10 +00:00
Andreas Kemnade 39a2e8d0dc device-epson-embt2ws: add x11 no-display-clone snipped and force resize
Force partition resizing as we are installing to sdcard.
Add an x11 config snippet to have cloned displays. This
will help non-specialized UIs to be usable by having the
same picture for both eyes. Seeing totally different things
on both eyes is a nightmare.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8774>
2026-06-11 14:07:57 +00:00
Stefan Hansson cb29939029 linux-ayn-odin: install modules to /usr
Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8792>
2026-06-11 13:52:28 +02:00
Stefan Hansson 5b7e436713 linux-ayn-odin: add maintainership
Ultimately the goal is to get rid of this kernel once the gamepad driver
has been upstreamed, but until that happens I'll mark myself as
maintainer.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8792>
2026-06-11 13:44:37 +02:00
postmarketOS CI 8d6ccabbde linux-next: upgrade to next-20260610 2026-06-11 04:38:53 +00:00
Antoine Martin 29741b496c device-pine64-pinenote: move install variable to global variable
Incidently, drop $pkgname-systemd.post-install as it was only necessary
for upgrade from v7-r0 to v8-r0 done before v25.12

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8784>
2026-06-11 04:13:08 +00:00
Antoine Martin 07c9b98eb7 device-pine64-pinenote: drop sway subpackage
Sway subpackage existed to provide a shim between 7-r0 and 8-r0, where
sway UI configuration was refactored to be under `$pkgname-sway-hrdl`
subpackage instead of `$pkgname-sway`. This refactor was for two reasons:
1) clean-up package so that just the necessary files were included for
   different UIs
2) Since sway subpackage was pulled by sxmo-de-sway, it made sense
   only sway-related files be packaged by that subpackage.

Since 96853032, sway subpackage depends directly on `$pkgname-sway-hrdl`
subpackage to automatically pull sway-UI opinionated configuration by
default. This was a mistake, as it broke `sxmo-de-sway` that conflicts
with `iio-sensor-proxy` due to depending on conflicting polkit packages.

This commit drops sway subpackage, as the shim is not necessary anyway,
and adds `install_if` to `$pkgname-sway-hrdl` to automatically install
package when installing `postmarketos-ui-sway`. This means
`$pkgname-sway-hrdl` is never pulled when installing
`postmarketos-ui-sxmo-de-sway`, thus never pulling `iio-sensor-proxy`.

Fixes #4612

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8784>
2026-06-11 04:13:08 +00:00
Nardo45andFerass El Hafidi bac7f24803 lg-elsa: new device
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8701>

Co-authored-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8701>
2026-06-10 13:33:06 -07:00
adamthiede be29d62b94 device-sqfmi-beepy: update display driver for 6.18
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8775>
2026-06-10 19:43:44 +00:00
Akari Tsuyukusa dda1bacb45 device-google-corsola: Add Starmie touchpanel module
starmie-sku0 uses i2c-hid-of-elan touchpanel driver.

Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8777>
2026-06-10 19:34:13 +00:00
Aelin 06318bcfec kconfigcheck: Drop options redundant with 5.18 community baseline
As per https://docs.postmarketos.org/pmaports/main/kconfigcheck.html and
considering that today is the beginning of June 2026, the baseline for
community kconfig checks is Linux 5.18, so we can remove the redundant
CONFIG_ASHMEM enablement in the waydroid category for kernels older than
5.18.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8783>
2026-06-10 19:21:42 +00:00
Richard Acayan 39c1eb5f9e community/linux-postmarketos-qcom-sdm670: reduce max speaker volume
Closes #4616

Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8764>
2026-06-10 18:29:00 +00:00
Aelin 7b49e35608 device-generic-ppc64le: Rename from device-qemu-ppc64le
When I was chatting with Ollie the other day about getting rid of the
QEMU packages, I asked whether the ppc64le package should stay as-is,
and we decided to rename this device package as well.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8725>
2026-06-10 16:15:56 +00:00
Aster Boese 4569ead4f7 google-x64cros: add new maintainer and move myself to contributor
My Chromebook finally died on me (after 10 years!), so I cannot maintain
this device anymore.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8743>
2026-06-10 15:21:58 +00:00
Aster Boese 19de35d151 google-manta: depend on firmware-google-manta
Switches the depends from firmware-samsung-manta to firmware-google-manta.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8778>
2026-06-10 16:53:52 +02:00
methanal 75de3a15d3 linux-postmarketos-exynos7870: change my e-mail
[ci:skip-build]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8776>
2026-06-10 14:32:42 +00:00
methanal f51dacdd68 device-samsung-exynos7: change my e-mail
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8776>
2026-06-10 14:32:42 +00:00
Daniel Kulesz 2fffa2be60 device-samsung-m0: Bump pkgver after updating deviceinfo
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8769>
2026-06-10 12:43:08 +00:00
Daniel Kulesz 73880af78a samsung-m0: Fix internal flashing
The S3 needs the sparse format set to be able to flash bigger partitions such as USERDATA properly. Otherwise, it aborts after 1 or 2 percent (depending on the image size)

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8769>
2026-06-10 12:43:08 +00:00
Robert Eckelmann f701f3e238 systemd/cups: upgrade to 2.4.19
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8773>
2026-06-10 19:31:06 +09:00
Aster Boese 3d47d387a3 treewide: remove userspace pd-mapper from sdm845 devices
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8663>
2026-06-10 07:43:05 +00:00
Aster Boese cc7fd734f3 linux-postmarketos-qcom-sdm845: enable in-kernel pd-mapper
The in-kernel pd-mapper was disabled with
https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6032
to work around an issue with call audio on xiaomi-beryllium and
oneplus-enchilada. With the pending removal of the userspace pd-mapper from
Alpine, the in-kernel pd-mapper must be used.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8663>
2026-06-10 07:43:05 +00:00
Aster Boese fb74aa230e docs: document how to create a UI package
Updates and replaces https://wiki.postmarketos.org/wiki/UI_specific_package,
being a bit more specific as to what is expected out of a UI package and
how exactly to create one.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8720>
2026-06-10 07:26:39 +00:00
postmarketOS CI 6924c78d48 linux-next: upgrade to next-20260609 2026-06-10 04:38:52 +00:00
Aelin 8050eb2cc4 linux-postmarketos-lts: Upgrade to 6.18.35
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8766>
2026-06-09 22:49:07 +00:00
Aelin 337c786611 linux-postmarketos-stable: Upgrade to 7.0.12
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8765>
2026-06-09 22:46:45 +00:00
Akari Tsuyukusa 0217d62806 linux-postmarketos-mediatek-mt81: Add support for Starmie Chromebook
The following devices are defined in the latest Starmie Device Tree.
https://github.com/torvalds/linux/commit/7d346bf124282d0326dd4f1b104b2d07d902ef23

=====
> mt8186-corsola-starmie.dtsi
regulator-fixed: CONFIG_REGULATOR_FIXED_VOLTAGE
generic-adc-thermal: CONFIG_GENERIC_ADC_THERMAL
google,cros-cbas: CONFIG_HID_GOOGLE_HAMMER
google,cros-ec-keyb-switches: CONFIG_KEYBOARD_CROS_EC
sbs,sbs-battery: CONFIG_BATTERY_SBS

> mt8186-corsola-starmie-sku0.dts
starry,ili9882t: CONFIG_DRM_PANEL_ILITEK_ILI9882T
ilitek,ili9882t: CONFIG_I2C_HID_OF_ELAN

> mt8186-corsola-starmie-sku1.dts
starry,himax83102-j02: CONFIG_DRM_PANEL_HIMAX_HX83102
hid-over-i2c: CONFIG_I2C_HID_OF
=====

This commit adds missing drivers to config.

Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8763>
2026-06-09 14:47:02 +00:00
Akari Tsuyukusa 8fbe6f0561 linux-postmarketos-mediatek-mt81: Add suggested configs
```
[07:20:50] ERROR: config-postmarketos-mediatek-mt81.aarch64: CONFIG_NLS_ASCII should be enabled and preferably set to 'y' (category:default)
[07:20:51] ERROR: config-postmarketos-mediatek-mt81.aarch64: CONFIG_SECURITY_YAMA should be enabled and preferably set to 'y' (category:hardening)
[07:20:51] ERROR: kconfig check failed! More info: https://postmarketos.org/kconfig
```

Link: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8763#note_559867
Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8763>
2026-06-09 14:47:02 +00:00
Hugo Osvaldo Barrera 4cb28c65aa device/community/u-boot-pinebookpro: upgrade to 2026.04
u-boot-pinebookpro-2020.07 has a bunch of patches:

- 0001-enable-rockchip-rng.patch
  - Upstream as dc38a58360bfc3b21621dc9d5e626febd1aa93ec, in v2020.10
- 0002-enable-usb-keyboard.patch
  - Partially upstream as 3a57712496ab4383c528184ad1021908d6620162, in v2020.10
- 0003-display-support.patch bundles has multiple patches:
  1. Upstream as 7fe2ebf3a326026b9ab80ed94da3cd217c84724d, in v2021.07
  2. Upstream as 04d67ceb1c62012822430135be31e18c9c176d85, in v2021.07
  3. **not upstream**
  4. **not upstream**
  5. Upstream in decbc18ed2a9788fcaad3ca349def7bad36741f4, in v2021.07
  6. Upstream as a0c248ef0844da239096ecb4a83f9fa2b0535117, in v2021.07
  7. Upstream in b197c934b11f611dcc1a083d90e68019d1e010cf, in v2021.01
  8. Upstream as 4db3926874a6a17cca1f97a4fd92e58e9182a272, in v2021.07
  9. No longer required (screen works fine after warm reboot).
  10. Upstream in 216928c772798609ba2cb01a42b6f89832bb0587, in v2023.01
  11. Upstream in fce1e9bba263fb5e3e589fdc5c2321f733e3de81, in v2022.07
- 0004-rk3399-light-pinebook-power-and-standby-leds.patch
  - LED support is already upstream. It's not as early as this patch,
    but its preferable to align with mainline.
- 0005-support-SPI-flash-boot.patch
  - Superceded by f9d67436ce5814ea4e394317ddeaf1dbecb1c36b, in v2020.10
- 0006-implement-boot-menu.patch has four patches
  1. Disable CONFIG_SPLASH_SOURCE instead of patching the source.
  2. No compressed bmp logo in use. Unnecessary and labelled as a hack.
  3. Irrelevant as we don't enable CONFIG_CMD_BOOTMENU for this device.
  4. Kept patch "vidconsole-uclass: Implement ANSI_CURSOR_COLUMN".
- 0007-rockchip-boot-order.patch
  - Upstream as b212ad24a604b00b240add35516b7381965deb31, in v2021.10
- 0008-rockchip-boot-order-add-usb.patch
  - **not upstream**
- 0009-rk3399-support-compressed-kernel.patch
  - Upstream in 6c041b35bf8966ef3d48fc439c1c07131431d2f5, in v2020.10

Drop a few cosmetic and UX improvements were dropped. These are not
strictly required for device support. For example, only the Esc or
Ctrl+C key would interrupt boot, rather than u-boot's "press any key".
Carrying these improvements puts a burden on maintenance and drifts us
further from upstream.

Rebasing all the way up to v2024.01 was mostly strightfoward, but
v2024.07 had some major conflicts. The conflicting patch was already a
hack, so the result is a hack too.

Also drop "Define a very-opinionated boot sequence". This enables the
truetype console (which no longer builds on ARM64) and relies of
features which have been completely re-written upstream.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8586>
2026-06-09 13:59:36 +00:00
bluebunny 9a8530c89b docs: make package versioning more detailed
The old wiki page "Packaging" [1] had more information on when to bump packages,
but it was omitted when migrating to docs.postmarketos.org. Revive the section
and reword the sentences a bit, so that there will be no confusion that the
version of a package should always be bumped.

[1]: https://wiki.postmarketos.org/index.php?title=Packaging&oldid=68927#When_should_pkgver/pkgrel_get_increased?

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8739>
2026-06-09 05:29:54 +00:00
Clayton Craft f0a25fbb7b main/postmarketos-duranium: drop units for initramfs conf/sys ext
These units are now in systemd 261

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8727>
2026-06-08 22:25:24 +00:00
Ferass El Hafidi 5285b12c5b systemd/postmarketos-base-systemd: only mount /tmp as tmpfs when RAM >2 GB
On OpenRC we only mount /tmp as tmpfs when the RAM available is greater
than 2 GB. Do this on systemd too to match OpenRC's behavior for devices
with a small amount of RAM.

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8737>
2026-06-08 17:53:12 +00:00
Ferass El Hafidi 6553360263 main/postmarketos-base: tmpfs configuration in /etc/conf.d
Make use of a /etc/conf.d/tmpfs file to setup /tmp mounting, instead of
relying on deviceinfo_tmp_as_tmpfs_size. This matches what is currently
being done in systemd (where we also do tmp config at the init system
level).

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8737>
2026-06-08 17:53:12 +00:00
Ferass El Hafidi f389d9654e deviceinfo_schema: deprecate deviceinfo_tmp_as_tmpfs
It was rarely if ever used.

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8737>
2026-06-08 17:53:12 +00:00
postmarketOS CI 604e0acda3 linux-next: upgrade to next-20260608 2026-06-08 15:38:39 +00:00
Oliver Smith 12c6f6490f issue_templates: add v26.06
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8756>
2026-06-08 15:09:11 +00:00
Oliver Smith 85111424ce main/postmarketos-release-upgrade: upgrade to 1.12.0
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8755>
2026-06-08 15:50:33 +02:00
Achill Gilgenast 3c7ed7de45 systemd/gnome-session: upgrade to 50.1
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8754>
2026-06-08 10:51:50 +00:00
Aelin d6f5b8453a linux-postmarketos-mainline: Upgrade to 7.1_rc7
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8752>
2026-06-08 09:18:10 +00:00
Clayton Craft 7922630728 main/postmarketos-base-ui-gnome-mobile: add lpa-gtk
I think it's pretty common to want to manage an eSIM on most modern
phones now, so let's install an eSIM management app by default.

For phones without eSIM support:

- I don't think having this by default is an issue, and users can
uninstall it (it's in pmb_recommends)

- There are eSIM adapters that fit in SIM slots, so this app is relevant
for them

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

[ci:skip-vercheck] - pmb_recommends

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8749>
2026-06-08 05:28:02 +00:00
Clayton Craft e0e8a06390 linux-postmarketos-asahi: upgrade to 7.0.11-2
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8747>
2026-06-07 18:06:50 +00:00
Aster Boese 9c2c311330 main/postmarketos-artwork: use amove instead of installing to subpkgdir
Installing files in subpackages is bad practice, as amove is much preferred.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8741>
2026-06-07 15:41:39 +02:00
Aster Boese 373b88d53f main/postmarketos-artwork: download individual files
Previously, when pulling sources, the entire 285M artwork repo was pulled. With this change, only the packaged files are pulled.

Closes https://gitlab.postmarketos.org/postmarketOS/pmaports/-/work_items/4595

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8741>
2026-06-07 15:41:32 +02:00
Sam Day c3dad137b1 device/community/*: fix 'maintainance' typo
Signed-off-by: Sam Day <me@samcday.com>

Bump the pkgrels, remove CI tags, adjust commit msg.

Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8738>
2026-06-07 13:14:12 +02:00
Oliver Smith 1a6c9dda36 docs: fix typo: maintainance -> maintenance
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8738>
2026-06-07 13:12:35 +02:00
Aelin dfa76a6744 systemd/xorg-server: upgrade to 21.1.23
Ref: https://gitlab.alpinelinux.org/alpine/aports/-/commit/de6c6be6f84f940d340387d620e72da75c18a186
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8724>
2026-06-07 12:51:52 +02:00
Oliver Smith 734884e864 CI: apkbuild-lint: add a skip-apkbuild-lint tag
As we are now moving to a newer, stricter version, we might want to skip
fixing APKBUILDs in some MRs. And this is in general useful to have.

Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8735>
2026-06-07 10:09:20 +00:00
Oliver Smith 87502f982e CI: apkbuild-lint: make output more readable
Add empty lines around the apkbuild-lint output, so it is easy to spot.
Also note when it is starting and if it was successful (vs. not having
any output on success).

Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8735>
2026-06-07 10:09:20 +00:00
Oliver Smith ac3e4f8a70 CI: apkbuild-lint: fix checking only the 1st file
apkbuild-lint only checks the file from the first parameter:

$ apkbuild-lint main/postmarketos-ui-phosh/APKBUILD
IC[AL65]:main/postmarketos-ui-phosh/APKBUILD:66:2:non-local 'install' variable in function 'openrc'. Add install scripts to global install variable instead.
MC[AL49]:main/postmarketos-ui-phosh/APKBUILD:46:1:invalid option 'pmb:drm'
MC[AL49]:main/postmarketos-ui-phosh/APKBUILD:46:1:invalid option 'pmb:systemd'

$ apkbuild-lint main/hello-world/APKBUILD main/postmarketos-ui-phosh/APKBUILD
(empty output!)

Loop over the APKBUILDs we want to lint so all of them get checked.

Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8735>
2026-06-07 10:09:17 +00:00
Oliver Smith 75b8400f82 CI: aport-lint: use alpine:edge
I was wondering why apkbuild-lint found a bug locally but not in CI:

IC[AL65]:main/postmarketos-ui-phosh/APKBUILD:66:2:non-local 'install' variable in function 'openrc'. Add install scripts to global install variable instead.

The reason is that the we use alpine:latest here. Let's change it to
alpine:edge so we have the most recent abuild-go version that finds the
most APKBUILD linting bugs.

Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8735>
2026-06-07 10:09:14 +00:00
Sam Day 2bfa564eb3 device-samsung-exynos7: update co-maintainers
[ci:skip-build] [ci:skip-vercheck] maintainer update

Signed-off-by: Sam Day <me@samcday.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8746>
2026-06-07 09:11:36 +00:00
Stefan Hansson 7ea7d2b89e linux-postmarketos-stericsson: install modules to /usr
See https://gitlab.postmarketos.org/postmarketOS/pmaports/-/work_items/4354

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8688>
2026-06-06 21:14:13 +02:00
Stefan Hansson 9df099cc0c linux-postmarketos-qcom-msm8226: install modules to /usr
See https://gitlab.postmarketos.org/postmarketOS/pmaports/-/work_items/4354

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8688>
2026-06-06 21:14:13 +02:00
Stefan Hansson f316267363 linux-purism-librem5: install modules to /usr
See https://gitlab.postmarketos.org/postmarketOS/pmaports/-/work_items/4354

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8688>
2026-06-06 21:14:12 +02:00
Stefan Hansson 9e9272d2a7 linux-postmarketos-exynos4: install modules to /usr
See https://gitlab.postmarketos.org/postmarketOS/pmaports/-/work_items/4354

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8688>
2026-06-06 21:14:12 +02:00
Stefan Hansson 7260bf9963 */*: update my name and email
Let's finally be consistent about this.

[ci:skip-count]: Deliberately changing a lot of packages.
[ci:skip-vercheck]: Updating co-maintainer does not need a pkgrel bump.

Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8688>
2026-06-06 21:14:12 +02:00
292 changed files with 7805 additions and 9099 deletions

No files matched your search

+1 -1
View File
@@ -1,4 +1,4 @@
image: registry.alpinelinux.org/img/alpine:3.23
image: registry.alpinelinux.org/img/alpine:3.24
stages:
- build
- hardware tests
+21 -4
View File
@@ -38,6 +38,10 @@ def get_kconfigcheck_categories() -> list [str]:
if __name__ == "__main__":
if common.commit_message_has_string("[ci:skip-apkbuild-lint]"):
print("WARNING: not linting deviceinfo files ([ci:skip-apkbuild-lint])")
exit(0)
kconfigcheck_categories = get_kconfigcheck_categories()
custom_valid_options += kconfigcheck_categories
os.environ["CUSTOM_VALID_OPTIONS"] = " ".join(custom_valid_options)
@@ -57,7 +61,20 @@ if __name__ == "__main__":
if len(apkbuilds_filtered) < 1:
print("No APKBUILDs to lint")
sys.exit(0)
try:
subprocess.run(["apkbuild-lint", *apkbuilds_filtered], text=True, check=True)
except subprocess.CalledProcessError as exception:
sys.exit(exception.returncode)
print("Running apkbuild-lint...")
print("")
ret = 0
for apkbuild in apkbuilds_filtered:
try:
cmd = ["apkbuild-lint", apkbuild]
subprocess.run(cmd, text=True, check=True)
except subprocess.CalledProcessError as exception:
ret = exception.returncode
print("")
if ret == 0:
print("Success")
sys.exit(ret)
+1 -1
View File
@@ -67,7 +67,7 @@ instance/
# Documentation
public
docs/deviceinfo-reference.md
docs/packaging/device-packages/deviceinfo-reference.md
# PyBuilder
target/
+3
View File
@@ -111,6 +111,9 @@ pytest-commits:
# APKBUILD linting
aport-lint:
# alpine:latest doesn't have the most recent atools-go, which means we would
# miss some linting rules that were added upstream. Use alpine:edge instead.
image: alpine:edge
stage: lint
rules:
- if: *mr_rule
+1
View File
@@ -28,6 +28,7 @@
-->
* [ ] edge (`main` branch)
* [ ] `v25.12`
* [ ] `v26.06`
* [ ] I confirm that the issue still is present after running `sudo apk upgrade -a`
@@ -1,5 +1,8 @@
<!-- Use this template to notify community kernel maintainers that their
kernels are out-of-date and start the timer for moving them to testing.
Please title the issue:
Current community kernels not meeting version requirement (yyyy-mm-dd)
-->
Hi, as per our
@@ -7,7 +10,7 @@ Hi, as per our
devices in the community category may not use a kernel version older than 6
months.
As of today (dd-mm-yyyy), the following kernels do not meet this requirement:
As of today (yyyy-mm-dd), the following kernels do not meet this requirement:
* kernel-pkgname: kernel-pkgver, version-release-date (maintainers: @ ...)
@@ -8,14 +8,14 @@ Person in charge of the release (doesn't have to do all the work, but has to
push it forward):
<!-- Put your usename here and assign yourself to this issue -->
### Preparation
### 0. Preparation
- [ ] Create the gitlab milestone for the release
- [ ] Add this infrastructure issue to the milestone
- [ ] Update the
[timeline](https://docs.postmarketos.org/policies-and-processes/development/releases/current-timeline.html)
for the next release
### Pre-Build phase
### 1. Pre-Build phase
This phase is to get some extra time for building packages. The branch will be rebased once in the branch phase.
@@ -23,6 +23,8 @@ This phase is to get some extra time for building packages. The branch will be r
- [ ] Alpine's main repository must be built and published
- [ ] Alpine's community repository must be built and published
<small>Without this, bpo won't be able to build packages but steps before
that can be done already.</small>
#### pmbootstrap: adjust config
- [ ] Update `pmb/config/__init__.py:apk_tools_min_version`. This should be a
@@ -36,18 +38,21 @@ This phase is to get some extra time for building packages. The branch will be r
- [ ] `git checkout -b vYY.MM main`
- [ ] Create a `=== Branch vYY.MM from main ===` commit
- Remove channels.cfg (should only be in main)
- Change `channel=edge` to `channel=vYY.MM` in pmaports.cfg
- Change `supported_arches` to `x86_64,aarch64,armv7` in pmaports.cfg
- Disable x86, armhf, riscv64 in .ci/build-jobs.yaml.j2 on the release branch
and delete `.ci/build-*` scripts for these arches
- Adjust `pmaports.cfg`: Change `channel=edge` to `channel=vYY.MM`
- Adjust `pmaports.cfg`: Change `supported_arches` to `x86_64,aarch64,armv7`
- Delete `.ci/build-*` scripts for other arches
<small>`pmbootstrap ci` reads these</small>
- [ ] `git push`
- [ ] '''protect the new release branch in gitlab''', so nobody can force-push to it
- [ ] Ensure the branch is protected in the
[repository settings](https://gitlab.postmarketos.org/postmarketOS/pmaports/-/settings/repository)
#### pmaports: update main branch
- [ ] `git checkout main`
- [ ] Add the new branch to
[channels.cfg](https://wiki.postmarketos.org/wiki/Channels.cfg_reference),
[like this](https://gitlab.postmarketos.org/postmarketOS/pmaports/-/commit/c43571ceaf9b8155519bc9fb760bdeccd96e7e9c)
[channels.cfg](https://wiki.postmarketos.org/wiki/Channels.cfg_reference):
- [Example](https://gitlab.postmarketos.org/postmarketOS/pmaports/-/commit/c43571ceaf9b8155519bc9fb760bdeccd96e7e9c)
- Check if you need to set `branch_aports=master` initially if the stable
branch does not exist yet.
- [ ] `git push`
#### pmaports: update os-release / remove packages / aportgen
@@ -61,13 +66,15 @@ This phase is to get some extra time for building packages. The branch will be r
- `pmbootstrap config mirrors.pmaports none`
- `pmbootstrap config mirrors.systemd none`
- `pmbootstrap checksum postmarketos-base`
- `git commit`
- `git commit -s` (`Remove packages that we don't have in stable`)
- [ ] Remove packages:
- `cross/*-armhf` and other unsupported arches in cross dir (keep `gcc-x86` and `musl-dev-x86`, `systemd-boot-x86`)
- `main/postmarketos-ui-asteroid` (no smartwatches are useful on stable branches at the moment)
- `gcc4*` and `gcc6*` from main and cross dirs
- `device/downstream`, `device/archived`
- [ ] Run `pmbootstrap aportgen` for packages in cross
- `extra-repos/systemd/postmarketos-repo-nightly`
- [ ] Run `pmbootstrap aportgen` for packages in cross:
- `cd cross; PMB_APK_FORCE_MISSING_REPOSITORIES=1 pmbootstrap aportgen musl-* grub-efi-x86`
- `git commit -s` (`cross: regenerate for vYY.MM`)
- [ ] `git push`
#### bpo: adjust config
@@ -79,17 +86,19 @@ This phase is to get some extra time for building packages. The branch will be r
- [ ] Roll it out/ask somebody who can do that
- [ ] Restart bpo, it will start building `x86_64` packages
#### bootstrap of binary packages
- [ ] Fix failing `x86_64` packages (Remember: patches need to go through edge
first, then get backported to the stable branch!)
#### Bootstrap of binary packages
- [ ] Fix all failing `x86_64` packages (Remember: patches need to go through
edge first, then get backported to the stable branch!)
- Try to get build fixes merged to edge quickly, ask for reviews in
#postmarketos-devel, and consider merging trivial fixes right after they
pass CI.
- Devices in testing and archived categories that don't build: consider
trying to fix them, or just delete them from the branch
- [ ] Wait until all packages for `x86_64` are built and published
- [ ] Fix up ARM packages too
- [ ] Wait until all packages for ARM are built and published
- [ ] Wait until all packages for `x86_64` (main repository, we don't need to
wait for the systemd repository before continuing) are built and
published
- [ ] Enable arm repositories in the BPO config
- [ ] Get all packages to build without errors
#### Wallpaper poll
- [ ] Team meeting: make a short list of 4 wallpapers from [the
@@ -125,11 +134,11 @@ This phase is to get some extra time for building packages. The branch will be r
- [ ] Adjust CI of postmarketos-release-upgrade to test the new release too
(`git grep` for the previous release to see what needs to be adjusted)
### Update the wallpaper
#### Update the wallpaper
- [ ] Set the wallpaper that won in the poll in edge, backport this change to
the stable release branch
### Branch phase
### 2. Branch phase
#### Rebase on main
- [ ] `git checkout vYY.MM`
@@ -140,8 +149,7 @@ This phase is to get some extra time for building packages. The branch will be r
#### Update BPO config
- [ ] Update bpo's images config to build images for the new branch for all
devices in community and main, except for:
- qemu-*
devices in community and main
- [ ] bpo: configure the new branch to be not WIP anymore
- [ ] Roll-out bpo changes
@@ -149,7 +157,12 @@ This phase is to get some extra time for building packages. The branch will be r
- [ ] Ensure that a pmbootstrap release been made with the apk-tools min
version change
### Test phase
#### aports stable branch set?
* [ ] Check if a stable branch exists in `aports` for the new release, and that
it is being used in `channels.cfg` (might still be set to `master` if it
did not exist during the Pre-Branch phase).
### 3. Test phase
- [ ] Create an issue in pmaports with a checklist of devices and UIs in main
and community (see previous issue for reference)
- Tag the testers of each device and UI
@@ -164,7 +177,7 @@ This phase is to get some extra time for building packages. The branch will be r
intended for the upcoming release
- [ ] Add new version to the pmaports gitlab issue template (.gitlab dir)
### Release phase
### 4. Release phase
- [ ] Did a reasonable amount of devices get tested? (we may consider dropping
devices that were not tested)
- [ ] Make sure all fixes are in
+2
View File
@@ -3,3 +3,5 @@ Casey Connolly <kcxt@postmarketos.org> <caleb@postmarketos.org>
Achill Gilgenast <achill@achill.org> <fossdd@pwned.life>
Aelin <aelin@postmarketos.org> <adrian@postmarketos.org>
Aelin <aelin@postmarketos.org> <adrian@travitia.xyz>
Stefan Hansson <newbyte@postmarketos.org> <newbie13xd@gmail.com>
Stefan Hansson <newbyte@postmarketos.org> <newbyte@postmarketos.org>
+4 -4
View File
@@ -1,4 +1,4 @@
# Policy for commits in pmaports
# Commit Style
This document defines policy for organising and titling commits for
inclusion in pmaports.
@@ -16,9 +16,9 @@ target device.
## General policy
We follow Alpine's aports commit style with some minor exceptions
and additions. Alpine's commit style can be found here:
https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/COMMITSTYLE.md
We follow
[Alpine's aports commit style](https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/COMMITSTYLE.md)
with some minor exceptions and additions.
## Exceptions
+1 -1
View File
@@ -10,7 +10,7 @@ Helpful resources:
* [How to create a package](https://wiki.postmarketos.org/wiki/Create_a_package)
* [APKBUILD reference](https://wiki.alpinelinux.org/wiki/APKBUILD_Reference)
* [pmaports commit style](./COMMITSTYLE.md)
* [Approval rules](docs/approval-rules.md)
* [Approval rules](docs/merge-requests/approval-rules.md)
* [Alpine Linux aports](https://gitlab.alpinelinux.org/alpine/aports/)
* [Alpine Linux package search](https://pkgs.alpinelinux.org/packages)
* [postmarketOS package search](https://pkgs.postmarketos.org/packages)
+10 -2
View File
@@ -34,7 +34,7 @@ _pkgsnap="${pkgver##*_git}"
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
pkgname=gcc-aarch64
pkgrel=5
pkgrel=6
pkgdesc="Stage2 cross-compiler for aarch64"
url="https://gcc.gnu.org"
arch="x86_64"
@@ -179,7 +179,10 @@ esac
# libatomic is a dependency for openvswitch
$_libatomic && subpackages="$subpackages libatomic::$CTARGET_ARCH"
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH libgcc-static:libgccstatic:$CTARGET_ARCH"
if $_libgcc; then
depends="$depends libgcc-static$_target"
subpackages="$subpackages libgcc::$CTARGET_ARCH libgcc-static$_target:libgccstatic:$CTARGET_ARCH"
fi
$_libquadmath && subpackages="$subpackages libquadmath::$CTARGET_ARCH"
if $_libgomp; then
depends="$depends libgomp=$_gccrel"
@@ -631,12 +634,17 @@ libgcc() {
depends=
amove usr/lib/libgcc_s.so.*
# Symlink for Clang to find the library. Gets overwritten by the real
# library if gcc is installed.
ln -s /usr/lib/libgcc_s.so.1 \
"$subpkgdir"/usr/lib/libgcc_s.so
}
libgccstatic() {
pkgdesc="GNU C compiler runtime libraries"
depends=
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtbegin.o
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtbeginS.o
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtendS.o
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/libgcc.a
+10 -2
View File
@@ -34,7 +34,7 @@ _pkgsnap="${pkgver##*_git}"
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
pkgname=gcc-armhf
pkgrel=5
pkgrel=6
pkgdesc="Stage2 cross-compiler for armhf"
url="https://gcc.gnu.org"
arch="aarch64 x86_64"
@@ -180,7 +180,10 @@ esac
# libatomic is a dependency for openvswitch
$_libatomic && subpackages="$subpackages libatomic::$CTARGET_ARCH"
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH libgcc-static:libgccstatic:$CTARGET_ARCH"
if $_libgcc; then
depends="$depends libgcc-static$_target"
subpackages="$subpackages libgcc::$CTARGET_ARCH libgcc-static$_target:libgccstatic:$CTARGET_ARCH"
fi
$_libquadmath && subpackages="$subpackages libquadmath::$CTARGET_ARCH"
if $_libgomp; then
depends="$depends libgomp=$_gccrel"
@@ -633,12 +636,17 @@ libgcc() {
depends=
amove usr/lib/libgcc_s.so.*
# Symlink for Clang to find the library. Gets overwritten by the real
# library if gcc is installed.
ln -s /usr/lib/libgcc_s.so.1 \
"$subpkgdir"/usr/lib/libgcc_s.so
}
libgccstatic() {
pkgdesc="GNU C compiler runtime libraries"
depends=
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtbegin.o
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtbeginS.o
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtendS.o
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/libgcc.a
+10 -2
View File
@@ -34,7 +34,7 @@ _pkgsnap="${pkgver##*_git}"
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
pkgname=gcc-armv7
pkgrel=5
pkgrel=6
pkgdesc="Stage2 cross-compiler for armv7"
url="https://gcc.gnu.org"
arch="aarch64 x86_64"
@@ -180,7 +180,10 @@ esac
# libatomic is a dependency for openvswitch
$_libatomic && subpackages="$subpackages libatomic::$CTARGET_ARCH"
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH libgcc-static:libgccstatic:$CTARGET_ARCH"
if $_libgcc; then
depends="$depends libgcc-static$_target"
subpackages="$subpackages libgcc::$CTARGET_ARCH libgcc-static$_target:libgccstatic:$CTARGET_ARCH"
fi
$_libquadmath && subpackages="$subpackages libquadmath::$CTARGET_ARCH"
if $_libgomp; then
depends="$depends libgomp=$_gccrel"
@@ -633,12 +636,17 @@ libgcc() {
depends=
amove usr/lib/libgcc_s.so.*
# Symlink for Clang to find the library. Gets overwritten by the real
# library if gcc is installed.
ln -s /usr/lib/libgcc_s.so.1 \
"$subpkgdir"/usr/lib/libgcc_s.so
}
libgccstatic() {
pkgdesc="GNU C compiler runtime libraries"
depends=
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtbegin.o
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtbeginS.o
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtendS.o
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/libgcc.a
+10 -2
View File
@@ -34,7 +34,7 @@ _pkgsnap="${pkgver##*_git}"
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
pkgname=gcc-loongarch64
pkgrel=5
pkgrel=6
pkgdesc="Stage2 cross-compiler for loongarch64"
url="https://gcc.gnu.org"
arch="aarch64 x86_64"
@@ -180,7 +180,10 @@ esac
# libatomic is a dependency for openvswitch
$_libatomic && subpackages="$subpackages libatomic::$CTARGET_ARCH"
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH libgcc-static:libgccstatic:$CTARGET_ARCH"
if $_libgcc; then
depends="$depends libgcc-static$_target"
subpackages="$subpackages libgcc::$CTARGET_ARCH libgcc-static$_target:libgccstatic:$CTARGET_ARCH"
fi
$_libquadmath && subpackages="$subpackages libquadmath::$CTARGET_ARCH"
if $_libgomp; then
depends="$depends libgomp=$_gccrel"
@@ -633,12 +636,17 @@ libgcc() {
depends=
amove usr/lib/libgcc_s.so.*
# Symlink for Clang to find the library. Gets overwritten by the real
# library if gcc is installed.
ln -s /usr/lib/libgcc_s.so.1 \
"$subpkgdir"/usr/lib/libgcc_s.so
}
libgccstatic() {
pkgdesc="GNU C compiler runtime libraries"
depends=
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtbegin.o
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtbeginS.o
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtendS.o
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/libgcc.a
+10 -2
View File
@@ -34,7 +34,7 @@ _pkgsnap="${pkgver##*_git}"
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
pkgname=gcc-ppc64le
pkgrel=5
pkgrel=6
pkgdesc="Stage2 cross-compiler for ppc64le"
url="https://gcc.gnu.org"
arch="aarch64 x86_64"
@@ -180,7 +180,10 @@ esac
# libatomic is a dependency for openvswitch
$_libatomic && subpackages="$subpackages libatomic::$CTARGET_ARCH"
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH libgcc-static:libgccstatic:$CTARGET_ARCH"
if $_libgcc; then
depends="$depends libgcc-static$_target"
subpackages="$subpackages libgcc::$CTARGET_ARCH libgcc-static$_target:libgccstatic:$CTARGET_ARCH"
fi
$_libquadmath && subpackages="$subpackages libquadmath::$CTARGET_ARCH"
if $_libgomp; then
depends="$depends libgomp=$_gccrel"
@@ -633,12 +636,17 @@ libgcc() {
depends=
amove usr/lib/libgcc_s.so.*
# Symlink for Clang to find the library. Gets overwritten by the real
# library if gcc is installed.
ln -s /usr/lib/libgcc_s.so.1 \
"$subpkgdir"/usr/lib/libgcc_s.so
}
libgccstatic() {
pkgdesc="GNU C compiler runtime libraries"
depends=
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtbegin.o
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtbeginS.o
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtendS.o
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/libgcc.a
+10 -2
View File
@@ -34,7 +34,7 @@ _pkgsnap="${pkgver##*_git}"
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
pkgname=gcc-riscv64
pkgrel=5
pkgrel=6
pkgdesc="Stage2 cross-compiler for riscv64"
url="https://gcc.gnu.org"
arch="aarch64 x86_64"
@@ -180,7 +180,10 @@ esac
# libatomic is a dependency for openvswitch
$_libatomic && subpackages="$subpackages libatomic::$CTARGET_ARCH"
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH libgcc-static:libgccstatic:$CTARGET_ARCH"
if $_libgcc; then
depends="$depends libgcc-static$_target"
subpackages="$subpackages libgcc::$CTARGET_ARCH libgcc-static$_target:libgccstatic:$CTARGET_ARCH"
fi
$_libquadmath && subpackages="$subpackages libquadmath::$CTARGET_ARCH"
if $_libgomp; then
depends="$depends libgomp=$_gccrel"
@@ -633,12 +636,17 @@ libgcc() {
depends=
amove usr/lib/libgcc_s.so.*
# Symlink for Clang to find the library. Gets overwritten by the real
# library if gcc is installed.
ln -s /usr/lib/libgcc_s.so.1 \
"$subpkgdir"/usr/lib/libgcc_s.so
}
libgccstatic() {
pkgdesc="GNU C compiler runtime libraries"
depends=
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtbegin.o
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtbeginS.o
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtendS.o
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/libgcc.a
+10 -2
View File
@@ -34,7 +34,7 @@ _pkgsnap="${pkgver##*_git}"
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
pkgname=gcc-x86
pkgrel=5
pkgrel=6
pkgdesc="Stage2 cross-compiler for x86"
url="https://gcc.gnu.org"
arch="aarch64 x86_64"
@@ -180,7 +180,10 @@ esac
# libatomic is a dependency for openvswitch
$_libatomic && subpackages="$subpackages libatomic::$CTARGET_ARCH"
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH libgcc-static:libgccstatic:$CTARGET_ARCH"
if $_libgcc; then
depends="$depends libgcc-static$_target"
subpackages="$subpackages libgcc::$CTARGET_ARCH libgcc-static$_target:libgccstatic:$CTARGET_ARCH"
fi
$_libquadmath && subpackages="$subpackages libquadmath::$CTARGET_ARCH"
if $_libgomp; then
depends="$depends libgomp=$_gccrel"
@@ -633,12 +636,17 @@ libgcc() {
depends=
amove usr/lib/libgcc_s.so.*
# Symlink for Clang to find the library. Gets overwritten by the real
# library if gcc is installed.
ln -s /usr/lib/libgcc_s.so.1 \
"$subpkgdir"/usr/lib/libgcc_s.so
}
libgccstatic() {
pkgdesc="GNU C compiler runtime libraries"
depends=
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtbegin.o
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtbeginS.o
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtendS.o
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/libgcc.a
+10 -2
View File
@@ -34,7 +34,7 @@ _pkgsnap="${pkgver##*_git}"
[ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target=""
pkgname=gcc-x86_64
pkgrel=5
pkgrel=6
pkgdesc="Stage2 cross-compiler for x86_64"
url="https://gcc.gnu.org"
arch="aarch64"
@@ -179,7 +179,10 @@ esac
# libatomic is a dependency for openvswitch
$_libatomic && subpackages="$subpackages libatomic::$CTARGET_ARCH"
$_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH libgcc-static:libgccstatic:$CTARGET_ARCH"
if $_libgcc; then
depends="$depends libgcc-static$_target"
subpackages="$subpackages libgcc::$CTARGET_ARCH libgcc-static$_target:libgccstatic:$CTARGET_ARCH"
fi
$_libquadmath && subpackages="$subpackages libquadmath::$CTARGET_ARCH"
if $_libgomp; then
depends="$depends libgomp=$_gccrel"
@@ -631,12 +634,17 @@ libgcc() {
depends=
amove usr/lib/libgcc_s.so.*
# Symlink for Clang to find the library. Gets overwritten by the real
# library if gcc is installed.
ln -s /usr/lib/libgcc_s.so.1 \
"$subpkgdir"/usr/lib/libgcc_s.so
}
libgccstatic() {
pkgdesc="GNU C compiler runtime libraries"
depends=
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtbegin.o
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtbeginS.o
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/crtendS.o
amove usr/lib/gcc/"$CTARGET"/"$pkgver"/libgcc.a
@@ -2,9 +2,9 @@
maintainer="Casey Connolly <kcxt@postmarketos.org>"
pkgname=alsa-ucm-conf-sdm845
pkgver=2
pkgrel=0
pkgrel=1
pkgdesc="ALSA UCM configuration for Qualcomm SDM845 devices"
url="https://postmarketos.org"
url="https://gitlab.com/sdm845-mainline/alsa-ucm-conf"
arch="aarch64"
license="BSD-3-Clause"
provides="alsa-ucm-conf"
@@ -2,17 +2,16 @@
# Co-Maintainer: Achill Gilgenast <achill@achill.org>
# Co-Maintainer: famfo <famfo@famfo.xyz>
maintainer="Aelin <aelin@postmarketos.org>"
pkgname=device-qemu-ppc64le
pkgver=7
pkgrel=5
pkgdesc="Simulated device in QEMU (ppc64le)"
pkgname=device-generic-ppc64le
pkgver=1
pkgrel=0
pkgdesc="Generic ppc64le system"
url="https://postmarketos.org"
arch="ppc64le"
license="MIT"
depends="
grub-ieee1275
postmarketos-base
postmarketos-qemu-common
"
makedepends="devicepkg-dev"
subpackages="
@@ -22,8 +21,9 @@ subpackages="
"
source="
kernel-cmdline.conf
deviceinfo
kernel-cmdline.conf
modules-initfs
"
options="!check !archcheck"
@@ -42,7 +42,7 @@ kernel_stable() {
}
kernel_lts() {
pkgdesc="Long-term maintainance kernel (most stability, not all security fixes & new features)"
pkgdesc="Long-term maintenance kernel (most stability, not all security fixes & new features)"
depends="linux-postmarketos-lts linux-firmware-none"
devicepkg_subpackage_kernel $startdir $pkgname $subpkgname
}
@@ -54,6 +54,7 @@ kernel_mainline() {
}
sha512sums="
33f6ac29d19cd9a4a8d5e94a863044746d08b5fd92ec89ca6578d2812e091a23afd454e4689bee21b8e000344a456161b642320cdb0246da13f56a5f8f8c89df deviceinfo
875267ce79b89ab77b7caa86f34bb942019ec0a5390a0f0a5156faa316367a59545b395a564875d2b2c48b83ebcb67c12b27895905301ac34410389333284ebd kernel-cmdline.conf
4e8d60fe172dfd392075ecf533e06ecfa42925355b242b112045915a1b3e51ac0880daa23f7750a4f480bd0fb2b7ebab77b6e28292ec4cba015653383cc1824a deviceinfo
366ecd0c0cd37bef12de4cf01c540f4b25f67aef2555f34cf64e4c3618903f96d464444eb32bcf6d403f9ad8cd3a23be17a95b94f8e1c083629f8ee4322c9a4a modules-initfs
"
@@ -2,21 +2,18 @@
# Please use double quotes only. You can source this file in shell scripts.
deviceinfo_format_version="0"
deviceinfo_name="QEMU ppc64le"
deviceinfo_manufacturer="QEMU"
deviceinfo_codename="qemu-ppc64le"
deviceinfo_name="Generic ppc64le system"
deviceinfo_manufacturer="Generic"
deviceinfo_codename="generic-ppc64le"
deviceinfo_year="2014"
deviceinfo_arch="ppc64le"
# Device related
deviceinfo_drm="true"
deviceinfo_chassis="vm"
deviceinfo_external_storage="true"
deviceinfo_screen_width="1024"
deviceinfo_screen_height="768"
deviceinfo_getty="hvc0;38400"
deviceinfo_disable_dhcpd="true"
# Bootloader related
deviceinfo_disable_dhcpd="true"
deviceinfo_create_prep_boot="true"
deviceinfo_generate_grub_config="true"
@@ -0,0 +1,10 @@
evdev
hid-generic
usbcore
usbhid
virtio-gpu
virtio_blk
virtio_input
virtio_pci
xhci-hcd
xhci-pci
@@ -3,7 +3,7 @@
maintainer="Alicja Michalska <ellyqw@mainlining.org>"
pkgname=device-google-corsola
pkgdesc="Google Corsola Chromebooks"
pkgver=10
pkgver=11
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -62,6 +62,6 @@ nonfree_firmware() {
sha512sums="
e32163709d30881bd87576556c9c659bba62acbe85be797919d87f41b18042d15d85710153606b85b4907930ba965572b4f8f52fbdabc2788f36343a2af5ac79 deviceinfo
97e88eaa9b8e7989a20d2572479fe5d1fe0284de862da11c91b1f347099d5704673837db01a6b0c289fee0a2d7236f64fba31fd6001475f957c23203e34fd6fb kernel-cmdline.conf
56fdcaa7a610497ed1bddbbfc0850f895bcfd79173b2e7de4bcf196f69120e1b62680da2a0b74543f153cb3d2b84055e71e258e7df938913aff66dca47061d7a modules-initfs
915fd28a0f00a56e5f6093e3dbec9f310db690cf817efe0a03c6e3e5fc44eff038a84213ba7eacc73bb9238e6cd16947f9c0fbb6904465ece01eee471b204ac5 modules-initfs
d33545d435755c2cca3b916d920464f3f711c6f09f48b68622f740f389c4faf95544467d9e3b418e562fadb8141ae37f2311166f228d5149434183736710567d alsa-ucm-conf-b728563a07ebcd05545c60989412ae023b1dd06d.tar.gz
"
@@ -5,6 +5,7 @@ panel-edp
hid-generic
hid-multitouch
i2c-hid-of
i2c-hid-of-elan
i2c-hid-of-goodix
elan-i2c
cros-ec-keyb
@@ -3,7 +3,7 @@
maintainer="Alexandre Marquet <tb@a-marquet.fr>"
pkgname=device-google-manta
pkgdesc="Google Nexus 10"
pkgver=15
pkgver=16
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -11,7 +11,7 @@ arch="armv7"
options="!check !archcheck"
depends="
alsa-ucm-conf
firmware-samsung-manta
firmware-google-manta
linux-firmware-brcm
linux-firmware-s5p-mfc
linux-postmarketos-exynos5>=6.18.33
@@ -1,8 +1,9 @@
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Aster Boese <asterboese@mailbox.org>"
# Contributor: Aster Boese <asterboese@mailbox.org>
maintainer="hexaheximal <hexaheximal@proton.me>"
pkgname=device-google-x64cros
pkgdesc="Google Chromebooks with x64 CPU"
pkgver=20
pkgver=21
pkgrel=0
url="https://postmarketos.org"
license="MIT"
+38 -4
View File
@@ -1,10 +1,10 @@
# Contributor: Konrad Dybcio <konradybcio@kernel.org>
# Contributor: Aster Boese <asterboese@mailbox.org>
# Reference: <https://postmarketos.org/devicepkg>
# Contributor: Konrad Dybcio <konradybcio@kernel.org>
# Co-Maintainer: Aster Boese <asterboese@mailbox.org>
maintainer="Clayton Craft <clayton@craftyguy.net>"
pkgname=device-lenovo-21bx
pkgdesc="Lenovo ThinkPad X13s"
pkgver=20
pkgver=23
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -17,7 +17,6 @@ depends="
linux-firmware-ath11k
linux-firmware-qca
linux-firmware-qcom
linux-postmarketos-qcom-laptop
postmarketos-base
qmi-utils
systemd-boot
@@ -30,8 +29,12 @@ source="
pipewire.conf
usbguard.conf
kernel-cmdline.conf
remove-capsules.sh
"
subpackages="
$pkgname-kernel-stable:kernel_stable
$pkgname-kernel-lts:kernel_lts
$pkgname-kernel-mainline:kernel_mainline
$pkgname-pipewire
$pkgname-usbguard
$pkgname-vulkan
@@ -42,12 +45,17 @@ build() {
}
package() {
# Cannot be top-level since this is provided by subpackages of this package
depends="$depends $pkgname-kernel-any"
devicepkg_package $startdir $pkgname
install -Dm644 "$srcdir"/firmware.files \
-t "$pkgdir"/usr/share/mkinitfs/files
install -Dm644 "$srcdir"/pipewire.conf \
-t "$pkgdir"/usr/share/pipewire.conf.d
install -Dm755 "$srcdir"/remove-capsules.sh \
-t "$pkgdir"/usr/share/boot-deploy/hooks
install -Dm600 "$srcdir"/usbguard.conf \
"$pkgdir"/etc/usbguard/rules.d/"$pkgname".conf
}
@@ -70,6 +78,31 @@ usbguard() {
amove etc/usbguard/rules.d/"$pkgname".conf
}
kernel_stable() {
pkgdesc="Stable kernel (recommended, best balance between stability and features)"
depends="linux-postmarketos-stable"
provides="$pkgname-kernel-any"
provider_priority=3
replaces="linux-postmarketos-qcom-laptop"
devicepkg_subpackage_kernel $startdir $pkgname $subpkgname
}
kernel_lts() {
pkgdesc="Long-term maintenance kernel (most stability, not all security fixes & new features)"
depends="linux-postmarketos-lts"
provides="$pkgname-kernel-any"
provider_priority=2
devicepkg_subpackage_kernel $startdir $pkgname $subpkgname
}
kernel_mainline() {
pkgdesc="Upstream development kernel (regular breakage, latest features)"
depends="linux-postmarketos-mainline"
provides="$pkgname-kernel-any"
provider_priority=1
devicepkg_subpackage_kernel $startdir $pkgname $subpkgname
}
sha512sums="
7a685de71e512b5b2bf21448fb8fc1055bb33c72149acd57e1754c212c40218a2b93ab603d3262c2c37ace051c5872b2fcaeb5379a5beaac680b7a2a0f115a1e deviceinfo
eabb3e9c6946bb065244f129f1a432842b09b0f2a9a4b41289c3c289f52076c63d51205dd7ccaa1a7621dd8eb0e4b1a3df27f9dc6b55445fbd738be13c2031bb firmware.files
@@ -77,4 +110,5 @@ eabb3e9c6946bb065244f129f1a432842b09b0f2a9a4b41289c3c289f52076c63d51205dd7ccaa1a
52bbb9564ec713db5d46937701b121afe0c6c644fffe189a05766f491b4997b1bbc4c1f90229efb5764d795df8d40a57d4c840ee4b32d426e7a84520364b8bf5 pipewire.conf
0d0412eb1f01af39000c39391f622640461305d83dae1a53aa7eef640cc17fd265cabca4e4e57dea053c47a4e50f9feb90f12ee5310d5b6425783e83efc5f9d8 usbguard.conf
7e60772bdefc4fc9d459cf2daa9fe09f605240f261b2e8f046ec992593144d26e0c80863ea3b9cb67025fef8fad45dacf54e022d0d57afb321778a5bb2eadaf4 kernel-cmdline.conf
bf6d6e5cdd4942651eaa424445773e9475eb9b284a5be8e3eb131f6ffcb8a652ce963a04a1f1d44cdcc00a58e00dd1a9797d3e624ecde931f816026fbb583640 remove-capsules.sh
"
@@ -0,0 +1,10 @@
#!/bin/sh
# Persisted_Capsules.bin is huge (70 MB) and can cause boot-deploy failures
# when doing transactions that do large modifications to `/boot/`, such as
# switching kernel packages. Persisted_Capsules.bin is recreated on reboot
# and we do not use it for anything currently, so it is safe to remove in a
# hook.
printf "Removing Persisted_Capsules.bin...\n"
rm -f /boot/Persisted_Capsules.bin >/dev/null 2>&1
@@ -5,8 +5,8 @@
/usr/share/bkeymaps/fi/rx51_fi.bmap.gz
/usr/share/bkeymaps/se/rx51_se.bmap.gz
# touchscreen calibration
/usr/lib/udev/rules.d/90-touchscreen-dev.rules
# touchscreen calibration (and other input-related udev rules)
/usr/lib/udev/rules.d/72-n900-input.rules
# udev/hwdb hardware keyboard management
/etc/udev/hwdb.bin
+17 -28
View File
@@ -1,7 +1,7 @@
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Danct12 <danct12@disroot.org>"
pkgname=device-nokia-n900
pkgver=60
pkgver=62
pkgrel=0
pkgdesc="Nokia N900"
url="https://postmarketos.org"
@@ -42,14 +42,9 @@ subpackages="
source="
10-initfs-input.files
10-initfs-keymap.sh
acpi.map
acpi_handler.sh
asound.state.headset
asound.state.speakers
backlight-enable.sh
bq27k-options.conf
bq27k-monitor.sh
device-nokia-n900.start
deviceinfo
etc-profile.d-25wlr-pixman.sh
i3blocks/i3blocks.conf
@@ -76,11 +71,13 @@ source="
sway/etc-sway-config.d-nokia-n900.conf
sway/etc-xdg-foot-foot.ini
uboot-script.cmd
ucm2/HiFi.conf
ucm2/RX-51.conf
udev/10-nokia-modem.rules
udev/15-bq27k.rules
udev/90-touchscreen-dev.rules
upower.conf
usr-lib-udev-hwdb.d-99-n900-hwkb.hwdb
usr-lib-udev-rules.d-72-n900-input.rules
usr-share-mkinitfs-hooks-01-omap-disable-idle.sh
usr-share-unl0kr-unl0kr.conf.d-00-n900-keyboard.conf
xkb-keymap
@@ -110,18 +107,12 @@ package() {
"$pkgdir"/usr/share/mkinitfs/hooks/00-$pkgname-backlight.sh
install -D -m644 "$srcdir"/pointercal \
"$pkgdir"/etc/pointercal
install -D -m644 "$srcdir"/asound.state.speakers \
"$pkgdir"/var/lib/alsa/asound.state.speakers
install -D -m644 "$srcdir"/asound.state.headset \
"$pkgdir"/var/lib/alsa/asound.state.headset
install -Dm644 "$srcdir"/10-initfs-input.files \
"$pkgdir"/usr/share/mkinitfs/files/10-initfs-input.files
install -Dm644 "$srcdir"/10-initfs-keymap.sh \
"$pkgdir"/usr/share/mkinitfs/hooks/10-initfs-keymap.sh
install -D -m644 "$srcdir"/usr-share-mkinitfs-hooks-01-omap-disable-idle.sh \
"$pkgdir"/usr/share/mkinitfs/hooks/01-omap-disable-idle.sh
install -Dm755 "$srcdir"/$pkgname.start \
"$pkgdir"/etc/local.d/$pkgname.start
install -Dm755 "$srcdir"/bq27k-monitor.sh \
"$pkgdir"/usr/bin/bq27k-monitor
install -Dm755 "$srcdir"/screenlock.sh \
@@ -130,14 +121,14 @@ package() {
"$pkgdir"/usr/share/unl0kr/unl0kr.conf.d/00-n900-keyboard.conf
# Udev & hwdb rules
install -D -m644 "$srcdir"/90-touchscreen-dev.rules \
"$pkgdir"/usr/lib/udev/rules.d/90-touchscreen-dev.rules
install -D -m644 "$srcdir"/10-nokia-modem.rules \
"$pkgdir"/usr/lib/udev/rules.d/10-nokia-modem.rules
install -D -m644 "$srcdir"/15-bq27k.rules \
"$pkgdir"/usr/lib/udev/rules.d/15-bq27xxx-battery.rules
install -D -m644 "$srcdir"/usr-lib-udev-hwdb.d-99-n900-hwkb.hwdb \
"$pkgdir"/usr/lib/udev/hwdb.d/99-n900-hwkb.hwdb
install -D -m644 "$srcdir"/usr-lib-udev-rules.d-72-n900-input.rules \
"$pkgdir"/usr/lib/udev/rules.d/72-n900-input.rules
# Keymap
install -D -m644 "$srcdir"/keymaps/rx51_us.bmap.gz \
@@ -180,6 +171,12 @@ package() {
install -D -m644 "$srcdir"/bq27k-options.conf \
"$pkgdir"/usr/lib/modprobe.d/bq27xxx-battery.conf
# UCM
install -Dm644 "$srcdir"/HiFi.conf \
"$pkgdir"/usr/share/alsa/ucm2/conf.d/RX-51/HiFi.conf
install -Dm644 "$srcdir"/RX-51.conf \
"$pkgdir"/usr/share/alsa/ucm2/conf.d/RX-51/RX-51.conf
# UPower
install -Dm644 "$srcdir"/upower.conf \
"$pkgdir"/etc/UPower/UPower.conf.d/99-n900-fg.conf
@@ -188,11 +185,6 @@ package() {
x11() {
install_if="$pkgname=$pkgver-r$pkgrel xorg-server"
depends="unclutter-xfixes scrot xautolock xdotool xinput xrdb xset"
mkdir "$pkgdir"/etc/acpi
install -D -m755 "$srcdir"/acpi_handler.sh \
"$pkgdir"/etc/acpi/handler.sh
install -D -m644 "$srcdir"/acpi.map \
"$pkgdir"/etc/acpi.map
install -D -m644 "$srcdir"/40-xkb.conf \
"$subpkgdir"/usr/share/X11/xorg.conf.d/40-xkb.conf
install -Dm644 "$srcdir"/xresources \
@@ -264,16 +256,11 @@ wayland() {
}
sha512sums="
5e0631deeea881346e0f25c7d80d849026bf3e30c53bc33c9f1ee5587d5cd93b6faa3db722cbb24de0b38111c4113051a98b3d73b8b5c520f34830c12d5e0cbe 10-initfs-input.files
225536c3105169b4cdd68d8edec56fc106f0b468e1feb1aebe772d154c0dba7d3e803877e857c23e521951b45138b64e191c9fd4e9a143313dbf12402f25c229 10-initfs-input.files
4656d3b3ced0a86e2d6315c89322899f646a689e9cb64609aa8ad5a676b23d93706d8a37f3be6f6b12c6b1e8501b7d26ecafecf27322333850513a6805c61910 10-initfs-keymap.sh
2e6c324c2a0627fb37ee2feff249d6c828116a9c1a32d572481dddc12648c98b726eb3a475838398742f76a60e3f2249d7707502360473b8bf2e794bf22f57ce acpi.map
eef1f3d5fab1148af498607d3bc7c6a866b61d808d2b90a4ea3e360d5fef779070380670431b67bd3d87111bc7d0e877ef9ab656f4de17c3071cfc360a2746e3 acpi_handler.sh
5b87071834313a389f83d29f86f6e3ea108d0921f17dc918be7a46de7e74c73a4418044ef600a0fbf72c8fad22b7730dcd5bfe3d6d01d76bf01556f8540f0b32 asound.state.headset
67acc17a33bc75113300393b4a5bba15319014032407e774d079abf310368e75f4f697dbb4856ba2d2d8ea184b056bb33561f42918de3ee91ab6a77df89a133c asound.state.speakers
3d55e34b95791636e44a5f41754f3d0de039dbba41f7a556d43a95c9e64afcfa930046b4b96b40020b6f196096ffba93514682927e32fa4488686fdd19c6da5a backlight-enable.sh
344ec50cee2a4d864debad12810a83070ab8257f9f07dcfa9be3eea1d8b26f3ab4fbe322fe05a384152b40fc5e1481df51d191624c7062186dd70f95a0784ea8 bq27k-options.conf
c5b8e03ca9f720a794f2593a3e938640cbd91ac44dd761079bbf4614a0d288a9d7b72de8ed2493c062dc9f37be580bea529f454d2335f55b7a9f4d14024b42a9 bq27k-monitor.sh
e6bbac8de1a198ba716f44ade76606e1e0adcc574156b855ac41be5eb5308389d3277fd89cc34b119fbc33d9801ab9f79a6ff213392596bff40bc17e931c05ef device-nokia-n900.start
b1ebed32232ca1890ed6a47372ce45f4ee004fcb76defc6f67048cfa7361d6e02ebd365a6370ba7c26d410e67926a6fada863f07aa18d7098dbdea1a3b057415 deviceinfo
1c7499eb84948eb5b73d58474b1b71a5f2f63116a2a3e1f9a4238064dcf6c152ccefa108bd4ab1074712a2319111c8fdd4bfcf0dbe4d26b5a319404def1b11d2 etc-profile.d-25wlr-pixman.sh
a8152e94262629e11abdd8809d187c3b7ed1866a6128fb1f435e17e72120536ac8114262e66df6decb2627743027f2b923ddbe8a94e3e844099b6fad02ec252b i3blocks.conf
@@ -295,16 +282,18 @@ e440ed7a3070c17e003b86b72dbe6d8194d01b577ca8dd56dd066f216b6dda32bb965c780950f178
862ebc7cd2d7a1b3d41b10701b8418308c89eb0732eb99c42ec1091d48e08db9421727f67a3272b7309549798d59afb1b8d7d2fa48d1447b208fcb2329472d4d modules.blocklist
87c18554d307161876cfe6133f7e1b2b34a0dccd6d4eb36c3f549551f1fa3587430f203911fa29023cc5c048054dbcf629f8665e88fdec9ebf48f4790a16fcf9 modules-initfs
143c21f0b18a016d37cb44178e9daea09f128a90769b48353c03c3f245cb9b1f7e773b9ccee084973fc78ddd7a18c2642e54888a85bda7c7daecddc9a8c62eff pointercal
bc926a11ac6941944c1b9bdd8d8c59c6d9689bc101f6c34881341a2689f68364b4d814e1fda8a83e58f33b6bbdc74917e49f6085a35bef669a3077c8ede1b35b screenlock.sh
6d79a9e58a6f68dd7689e480359ba611fd9ea3f42b3f31575028a3efcea079973099eccf8ab3571221be919b4eeaf1ec48bc38aac13911444d96110551206456 screenlock.sh
3ec2e28a59298ad87ece5205be37b6e07c5f0f3bd0a98022f9f6824500444792cb06425bfbb62c9503c3072183f2d571c8504b6f23054062bb082c7a5b125a2b etc-sway-config.d-n900-status.conf
1e6939c583372dd4d493e1e2cfb6a4758a17606edd262d322bc01b2d3d76de4370581954f22f6ac976d86e87aab0979b2233e1c75780aeaff0670ea25dba62ca etc-sway-config.d-nokia-n900.conf
45da074b597a47825146ae1f3712538210e2ebe1c459f98a8189ccfc7c16ed54d221999b5890785c92aa750c6295dee7e920ef7f97d415d4212f8c0fea29169f etc-xdg-foot-foot.ini
4be9626cd2ad96730671e145aba9473b8bb7e62b7dec109eb87b4c748e5ac8fcb7cb0deeecc2a07f6fc9e9a598dbd438e02ad32d21e13d109ed7fecfb29904cc uboot-script.cmd
3586cdbfd9a3210ee3598eec68ddf63299075ca41e325c4b6a9cb0ebc66b3d79ce44d745829cfe263471bfe80820dd7ce2ec5fb8e28c06c3f3a020fbc20dfdc1 HiFi.conf
1a4295801cab1bbdca2e86e355d46c9dea6dbc8fd4d89e3ea6efdade33ebb29aee0cf237ce7400ea3c7716d0fe09b404a4c7042b65998cf1ae19bca2caa3d78f RX-51.conf
465b9a0d2b46d0981c64b47cb1f656c2456a90b91b1751a2efad10af38a96030dd99108b1fd76ce31bf1ea0f236d55bed38b114d6bd712f09f8968de034c946c 10-nokia-modem.rules
1acc441b9f83dc91fd65fa3f89b8205bfd72a465286bc181b4e7e92dd4b8c0bc5c20a18dab46ff3ee8ae70940efd7d767b3dfb920edb4c74377bd418b838693d 15-bq27k.rules
c6012aef28b096141b924fced226ec99fb93eb53b69c064a8887d8fecdf8dc08a3ba3db399e18d88374c6ef4c59013a30699c7e4d76e5cb771040582573a0527 90-touchscreen-dev.rules
1087d9699f6c4325a1d7ba2e6faf7fda87953fc0d3b0ef97de1da05187ba8f942f78806916cfb2ae9456fa2e63b2adf08e1e8118dc834c31a677755bab0fbf9a upower.conf
432f0281c4675f2c18ac03def81c3fd796697428f72ca0b7618ba28a7de4b8d0ad6234dcce4af1a7369c5e631054a1489b53950720ba6425ff3c0e1ac1a2a110 usr-lib-udev-hwdb.d-99-n900-hwkb.hwdb
25657426abb9d53b14a784fc41e495092229f5e2ef5ca8b1324cd6b414aa61bdcde4f87431cf33b23a67792580bb7eea5a638b1ad5be6f9c956c8fb88f704e99 usr-lib-udev-rules.d-72-n900-input.rules
73dc0f29a97994e7efe0a2c8906f75099b2bca1d660f58ae50b44d3f00eec0cee2a89541a80a4de0f276605ef36a576dd757f0cd9a9a4fd47b535b9400a83526 usr-share-mkinitfs-hooks-01-omap-disable-idle.sh
c6e0aefb630f60a6897cffbee70670296004dcfbade971205a8b03cc0cf0571cec59e9d0151b44f820d6d1f6a16d1ba538122c2b290a3357009c2c4268ca0cb5 usr-share-unl0kr-unl0kr.conf.d-00-n900-keyboard.conf
4de54d007bd354461fe4d6d455fe3f29694c132a3996c79b68070d606b5ca1839f9027202ebb731035f0bf6504b42fbd5ab15c7b47b7f308ce768a84d45024c4 xkb-keymap
@@ -1,24 +0,0 @@
# FORMAT: "<EV_XXX>" <type> "<input.h name>" <keycode> <value> <script under /etc/acpi>
# hint: "evtest /dev/input/eventX" is very helpful!
"EV_SW" 0x05 "SW_CAMERA_LENS_COVER" 9 0 CAM_LID_OPEN
"EV_SW" 0x05 "SW_CAMERA_LENS_COVER" 9 1 CAM_LID_CLOSE
"EV_SW" 0x05 "SW_KEYPAD_SLIDE" 10 1 KP_SLIDE_OPEN
"EV_SW" 0x05 "SW_KEYPAD_SLIDE" 10 0 KP_SLIDE_CLOSE
"EV_KEY" 0x01 "KEY_SCREENLOCK" 152 0 SCRNLCK_UP
"EV_KEY" 0x01 "KEY_SCREENLOCK" 152 1 SCRNLCK_DWN
"EV_KEY" 0x01 "KEY_CAMERA" 212 0 CAM_BTN_UP
"EV_KEY" 0x01 "KEY_CAMERA" 212 1 CAM_BTN_DWN
"EV_KEY" 0x01 "KEY_CAMERA_FOCUS" 528 0 CAM_FOCUS_UP
"EV_KEY" 0x01 "KEY_CAMERA_FOCUS" 528 1 CAM_FOCUS_DWN
"EV_SW" 0x05 "SW_HEADPHONE_INSERT" 2 1 HEADPHONE_INSERT
"EV_SW" 0x05 "SW_HEADPHONE_INSERT" 2 0 HEADPHONE_REMOVE
"EV_SW" 0x05 "SW_MICROPHONE_INSERT" 2 1 MICROPHONE_INSERT
"EV_SW" 0x05 "SW_MICROPHONE_INSERT" 2 0 MICROPHONE_REMOVE
"EV_SW" 0x05 "SW_VIDEOOUT_INSERT" 2 1 VIDEOOUT_INSERT
"EV_SW" 0x05 "SW_VIDEOOUT_INSERT" 2 0 VIDEOOUT_REMOVE
@@ -1,60 +0,0 @@
#!/bin/ash
user=$( getent passwd 10000 | cut -d: -f1 )
cmd=$( echo $0 | awk '{i=split($0,a,"/"); print a[i]}' )
case $cmd in
KP_SLIDE_OPEN)
su $user -c '/usr/bin/screenlock.sh unlock'
/usr/bin/screenlock.sh kbd_backlight 31
;;
KP_SLIDE_CLOSE)
/usr/bin/screenlock.sh kbd_backlight 0
;;
CAM_BTN_DWN)
echo "Not implemented yet"
;;
CAM_BTN_UP)
echo "Not implemented yet"
;;
CAM_FOCUS_DWN)
echo "Not implemented yet"
;;
CAM_FOCUS_UP)
echo "Not implemented yet"
;;
CAM_LID_CLOSE)
echo "Not implemented yet"
;;
CAM_LID_OPEN)
echo "Not implemented yet"
;;
SCRNLCK_DWN)
echo "Not implemented yet"
;;
SCRNLCK_UP)
echo "Not implemented yet"
;;
HEADPHONE_INSERT)
alsactl restore -f /var/lib/alsa/asound.state.headset
;;
HEADPHONE_REMOVE)
alsactl restore -f /var/lib/alsa/asound.state.speakers
;;
MICROPHONE_INSERT)
echo "Not implemented yet"
;;
MICROPHONE_REMOVE)
echo "Not implemented yet"
;;
VIDEOOUT_INSERT)
echo "Not implemented yet"
;;
VIDEOOUT_REMOVE)
echo "Not implemented yet"
;;
*)
echo "Unknown event"
exit 1
;;
esac
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -1,9 +1,5 @@
#!/bin/sh
# Enable acpid
rc-update add acpid default
# hwdrivers is required for acpid to 'see' all devices
rc-update add hwdrivers boot
# Enable ofono
rc-update add ofono default
# Disable swclock because rtc is working
@@ -1,10 +1,5 @@
#!/bin/sh
# Generate symlinks for acpid events, based on definitions in /etc/acpi.map
for i in $(awk '{if($NF && ($1 !~ /^#/)) print $NF}' /etc/acpi.map); do
ln -s /etc/acpi/handler.sh /etc/acpi/$i
done
# Update hwdb
udevadm hwdb --update
@@ -1,3 +0,0 @@
#!/bin/sh
alsactl restore -f /var/lib/alsa/asound.state.speakers
@@ -2,8 +2,22 @@
set -e
kbd_backlight() {
for i in $(seq 1 6); do
brightnessctl --quiet --device="*kb$i" s "$1"
# The keyboard backlighting setup is based on 6 LEDs located above the
# Ctrl, Q, and E keys on the left and O, comma, and Backspace on the
# right. Thus the outermost keys are lit brighter than the innermost
# keys when the brightness value is set equally, and this worsens as
# the device ages, since the plastic diffuser deteriorates. Thus, set a
# higher brightness for the innermost LEDs to get even lighting on all
# keys.
for i in $(seq 1 3); do
pair=$((7 - i ))
brightness=$(( i * $1 ))
busctl call org.freedesktop.login1 /org/freedesktop/login1/session/auto \
org.freedesktop.login1.Session SetBrightness ssu \
"leds" "lp5523:kb$i" "$brightness"
busctl call org.freedesktop.login1 /org/freedesktop/login1/session/auto \
org.freedesktop.login1.Session SetBrightness ssu \
"leds" "lp5523:kb$pair" "$brightness"
done
}
@@ -0,0 +1,55 @@
Syntax 6
SectionDevice."Speaker" {
Comment "Internal Speaker"
Value {
PlaybackChannels "2"
PlaybackPriority "100"
PlaybackPCM "hw:RX51,0"
PlaybackVolume "HP Playback Volume"
PlaybackSwitch "HP Playback Switch"
}
EnableSequence [
cdev "hw:${CardId}"
cset "name='Speaker Function' On"
cset "name='HP Playback Switch' on"
]
DisableSequence [
cdev "hw:${CardId}"
cset "name='Speaker Function' Off"
cset "name='HP Playback Switch' off"
]
}
SectionDevice."Headphones" {
Comment "Headphones"
Value {
PlaybackPCM "hw:RX51,0"
PlaybackChannels "2"
JackControl "AV Jack"
PlaybackPriority "300"
PlaybackVolume "HP Playback Volume"
PlaybackSwitch "HP Playback Switch"
}
EnableSequence [
cdev "hw:${CardId}"
cset "name='Jack Function' Headphone"
cset "name='HP Playback Switch' on"
cset "name='TPA6130A2 Headphone Playback Volume' 38"
cset "name='Speaker Function' Off"
]
DisableSequence [
cdev "hw:${CardId}"
cset "name='Jack Function' Off"
cset "name='HP Playback Switch' off"
cset "name='TPA6130A2 Headphone Playback Volume' 0"
cset "name='Speaker Function' Off"
]
}
@@ -0,0 +1,16 @@
Syntax 6
SectionUseCase."HiFi" {
File "HiFi.conf"
Comment "High Fidelity Audio"
}
SectionDefaults [
cdev "hw:${CardId}"
cset "name='FM Transmitter Switch' Off"
cset "name='Speaker Function' Off"
cset "name='Jack Function' Off"
cset "name='Earphone Switch' off"
cset "name='FM Transmitter Switch' off"
cset "name='PCM Playback Volume' 127,127"
]
@@ -1,2 +0,0 @@
SUBSYSTEM=="input", ATTRS{phys}=="spi0.0/input-ts", ENV{WL_CALIBRATION}="1.094563 -0.020949 -34.586121 0.009427 -1.148506 503.816956", ENV{LIBINPUT_CALIBRATION_MATRIX}="1.109179 0.000000 -0.055283 0.000000 -1.192340 1.081266 0.000000 0.000000 1.000000"
SUBSYSTEM=="input", ATTRS{phys}=="spi1.0/input-ts", ENV{WL_CALIBRATION}="1.094563 -0.020949 -34.586121 0.009427 -1.148506 503.816956", ENV{LIBINPUT_CALIBRATION_MATRIX}="1.109179 0.000000 -0.055283 0.000000 -1.192340 1.081266 0.000000 0.000000 1.000000"
@@ -0,0 +1,7 @@
# Allow user session to read from gpio_keys and power button without elevated
# privileges
SUBSYSTEM=="input", KERNEL=="event*", SUBSYSTEMS=="input", ATTRS{name}=="gpio_keys", TAG+="uaccess"
SUBSYSTEM=="input", ATTRS{name}=="twl4030_pwrbutton", TAG+="uaccess"
# Touchscreen calibration
SUBSYSTEM=="input", DRIVERS=="tsc2005", ENV{LIBINPUT_CALIBRATION_MATRIX}="1.109179 0.000000 -0.055283 0.000000 -1.192340 1.081266 0.000000 0.000000 1.000000"
@@ -2,7 +2,7 @@
maintainer="Casey Connolly <kcxt@postmarketos.org>"
pkgname=device-oneplus-enchilada
pkgdesc="OnePlus 6"
pkgver=26
pkgver=27
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -18,7 +18,6 @@ depends="
postmarketos-base
soc-qcom
soc-qcom-modem
soc-qcom-pd-mapper
soc-qcom-qbootctl
systemd-boot
unl0kr-fbforcerefresh
@@ -3,7 +3,7 @@
maintainer="Casey Connolly <kcxt@postmarketos.org>"
pkgname=device-oneplus-fajita
pkgdesc="OnePlus 6T"
pkgver=26
pkgver=27
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -19,7 +19,6 @@ depends="
postmarketos-base
soc-qcom
soc-qcom-modem
soc-qcom-pd-mapper
soc-qcom-qbootctl
systemd-boot
unl0kr-fbforcerefresh
@@ -2,7 +2,7 @@ maintainer="Antoine Martin (ayakael) <dev@ayakael.net>"
pkgname=device-pine64-pinenote
pkgdesc="Pine64 PineNote"
pkgver=15
pkgrel=0
pkgrel=3
_commit="42cf0c3dc26d6e0b2a32ef5a00e7ca4ae77034c7"
_swayconfver="v1.1.0"
url="https://postmarketos.org"
@@ -51,12 +51,19 @@ subpackages="
$pkgname-nonfree-firmware-openrc:firmware_openrc
$pkgname-nonfree-firmware-systemd:firmware_systemd
$pkgname-openrc
$pkgname-sway
$pkgname-sway-hrdl
$pkgname-systemd
$pkgname-xournalpp
$pkgname-x11
"
install="
$pkgname-sway-hrdl.post-install
$pkgname-sway-hrdl.post-deinstall
$pkgname-nonfree-firmware.post-upgrade
$pkgname-nonfree-firmware.pre-install
$pkgname-nonfree-firmware-openrc.post-install
$pkgname-openrc.post-install
"
builddir="$srcdir"/pinenote-dist-$_commit
_swayconfdir="$srcdir"/pinenote-config-sway-$_swayconfver
@@ -121,9 +128,11 @@ package() {
-t "$pkgdir"/usr/lib/modprobe.d
}
# since pinenote requires such an opinionated UI, hrdl's sway configuration is packaged that offers
# an optimized configuration for sway that matches the featureset offered by their Arch Linux image
hrdl() {
pkgdesc="Opinionated sway UI by hrdl optimized for the Pinenote"
install="$subpkgname.post-install $subpkgname.post-deinstall"
install_if="$pkgname=$pkgver-r$pkgrel postmarketos-ui-sway"
depends="
adwaita-icon-theme
bash
@@ -139,7 +148,8 @@ hrdl() {
network-manager-applet
nwg-menu
papirus-icon-theme
postmarketos-ui-sway
pinenote-service
procps-ng
py3-crcmod
py3-dbus-next
py3-i3ipc
@@ -216,7 +226,6 @@ firmware() {
pkgdesc="WiFi, Bluetooth and display firmware"
depends="linux-firmware-cypress linux-firmware-brcm"
replaces="firmware-pine64-pinenote"
install="$subpkgname.pre-upgrade $subpkgname.pre-install"
# waveform firmware is provided locally via /dev/disk/by-label/waveform
# extracted using waveform_exctract.sh, then adapted to kernel using wbf_to_custom.py
@@ -234,24 +243,9 @@ firmware() {
ln -s ../cypress/cyfmac43455-sdio.bin.zst "$subpkgdir"/usr/lib/firmware/brcm/brcmfmac43455-sdio.pine64,pinenote-v1.2.bin.zst
}
sway() {
install_if="$pkgname=$pkgver-r$pkgrel sway"
install="$subpkgname.post-upgrade"
# since pinenote requires such an opinionated UI, UI configurations ar
# packaged from community developpers who are leading these efforts, and since
# there is the possibility of multiple UI configurations per UI, aport
# is architectured in a way to support multiple configurations. Since only hrdl's
# configuration is integrated, automatically depend on its subpackage for now.
depends="device-pine64-pinenote-sway-hrdl"
mkdir -p "$subpkgdir"
}
openrc() {
# rockchip_ebc sometimes fails to load the initial waveform.
# This forces a reload before starting tinydm
install="$subpkgname.post-install"
install -Dm755 "$srcdir"/tinydm-ebc-workaround-openrc.initd \
"$subpkgdir"/etc/init.d/tinydm-ebc
@@ -260,11 +254,6 @@ openrc() {
}
systemd() {
# post-install enables tinydm if tinydm-ebc was enabled
# enables seamless upgrade 7-r0 to 8-r0
# TODO: remove in preparation for v26.06
install="$subpkgname.post-install"
# rockchip_ebc sometimes fails to load the initial waveform.
# This forces a reload before starting tinydm
install -Dm644 \
@@ -276,7 +265,6 @@ systemd() {
}
firmware_openrc() {
install="$subpkgname.post-install"
install -Dm755 "$srcdir"/pinenote-init-waveform.initd \
"$subpkgdir"/etc/init.d/pinenote-init-waveform
@@ -310,7 +298,7 @@ abaadb6919264c179938220ed9ace965b4bc767f4f4aa6a1d646f2ee24a5fbca7f2d6a5995836127
d19f1af374e5a9d657d1de05d3174fa4de869971536919f4cf2eecfdd7746debc320c9aa10a6d08b6e82ffbafcf54dc38bb1f61c1668b54c05d14def37895f5a sway-config-do-not-include-sway-configd.patch
00a32eb78bb5793c17b09d07d5cdd1bbdd30ba0fe804372cb09ee394038fcbc45e104dc114a238477a6169a993a848817cd631c854a04c1b7061a432736c17cc sway-wayland-sessions-use-dbus.patch
d448aaf70419e3195cd1c4ec8ff4148283b2c630c49ba6087939ff3523f0b11b2736def35c8ba7011c0452552942a668fcbb50dece2dcaa9bbcf604ad1c1cdef sway-waybar-config-fix-endless-interval-and-invisible-icons.patch
96f08246606a08edad5153ab11c0ddfae1c5fc36b02fe7fcde80fbef3bcefa0f8bdb57d505d701115b0bd6dec81489b167035717da6921d170e95a705d17e13e sway-waybar-start-fix-start.patch
f06c59190f2981a612444c7cb2249769aa49654ca61f8df6001893cb0fcc46e575bb185bc5a75d5153a2681ab0770dd3fd2fc1bc9d3061da2c08e03484e17386 sway-waybar-start-fix-start.patch
405b2456ba16e34799b16fd632066d7813d393e263fbea7e64457ed3c6249cda69d8ebf9e6dae7f151eb1bf6036982a50c327410fceafbc8414182d2305c5a07 sway-sane-scale.patch
5db7f2b47a46d415ac28a6822f4033f7878bf0a05b1e1b83a944a035be9fff51aeeed2fe2c36c9e74e57283734fee860ee38ef13f9ba06984cf49eb01c85adcc sway-nwg-menu-fix-css-path.patch
640f51a9bef6c13a226d1c6eb8e59e714b7003f8b1967279909ab50cca7f954d51bbe47efc38503019a90e37d3fa1f9800463153da280ca736deba98e8da4ece sway-launch-lisgd-use-lib.patch
@@ -1 +1 @@
device-pine64-pinenote-nonfree-firmware.pre-upgrade
device-pine64-pinenote-nonfree-firmware.post-upgrade
@@ -1,18 +0,0 @@
#!/bin/sh
# if device-pine64-pinenote-sway-hrdl isn't installed, and tinydm default session is sway_hrdl
# should set back to sway.desktop and give a message announcing end of default sway_hrdl
if ! apk info device-pine64-pinenote-sway-hrdl --installed -q && [ "$(readlink /var/lib/tinydm/default-session.desktop)" == "sway_hrdl" ]; then
cat >&2 <<-EOF
Starting with 8-r0 device package version, the opinionated configuration
from hrdl is not installed by default with sway, and packaged under a
different subpackage. To keep it, please execute the following
apk add device-pine64-pinenote-sway-hrdl
EOF
tinydm-set-session -f -s /usr/share/wayland-sessions/sway.desktop
fi
@@ -1,10 +0,0 @@
#!/bin/sh
# reenables tinydm if tinydm-ebc is detected as enabled
# allow seamless upgrade 7-r0 to 8-r0, as tinydm-ebc was removed
# in favor of a systemd override for tinydm
# TODO: remove in preparation for v26.06
if [ "$(systemctl is-active tinydm-ebc.service 2>/dev/null )" == "active" ]; then
systemctl disable tinydm-ebc.service
systemctl enable tinydm.service
fi
@@ -20,4 +20,4 @@ index c8a6612..57593c6 100644
# Start pinenote.service if you setup doesn't have that set up
-exec_always systemctl --user start sway-session.target
+exec_always systemctl --user start pinenote.service
+exec_always pinenote-service
@@ -2,8 +2,8 @@
# Co-Maintainer: Jan Jasper de Kroon <jajadekroon@gmail.com>
maintainer="Arnav Singh <me@arnavion.dev>"
pkgname=device-pine64-pinephone
pkgver=11
pkgrel=1
pkgver=12
pkgrel=0
pkgdesc="PINE64 PinePhone"
url="https://postmarketos.org"
license="MIT"
@@ -188,11 +188,10 @@ plasma_mobile() {
upower() {
install_if="$pkgname=$pkgver-r$pkgrel upower"
replaces="upower"
# Shutdown when PMIC reports critical battery level
install -Dm644 "$srcdir"/UPower.conf \
"$subpkgdir"/etc/UPower/UPower.conf
"$subpkgdir"/etc/UPower/UPower.conf.d/50-pinephone.conf
}
shelli() {
@@ -258,7 +257,7 @@ bac664c504d9a3adc6e3d25f24ac63cf7c449a82374544a5b56c259dc25af580897b9dc992865ac8
9170da7ac869254644f2fc8d914102f2c16e917dbeb53e33b96c76936711d0540f55fa5c2526d73d5fe244500bc2728bc9d629e2524cf52c573d11e833aee666 60-flashlight.rules
8b6fa7b12c15f439c561901f3ffe24a1ef2a0c343401c0a79281060854ab29e08a1fb5e7adae8684b12aa9f535ed99e2dad993dce9724822cb0fbf2497dd86e5 70-wifi-pm.rules
7dc2b7c20b4a2b15f597a6417bd01797643dad84a3683b0dee648e030fb6326e9d020307643fdcdf1bb43fc44af9975697e417003bd359610bae2d8ce614fc00 90-modem-eg25.rules
ed0e03f7e1c0348c06be9a7922414469245604ce813bbf0c8910ef211cb993bbb0d0d4615c9c961d50712415f85d6b73e0cf02780ac784666aac56e4889341e4 UPower.conf
46458e2981dbfad6d671d24aacf78aff127d7b8d5c3f35915f442bc36a5009f5fccede09a7ec53612ff2a6784d8961bcf99c5c8dc9ff5f9178bcc46b4373a0c3 UPower.conf
681c096e3cc99850aa87c8c3dcf941e68c9d30046fa8989382f2f80d238c01496fb1cadde3df3a1a7e90883058c6badfe24855edb927211f2f665bfcfb4af75a deviceinfo
b8482111e6fa805779c5c8d56c83ccf9ad360fe6481ea4e8e1fa3b71c82fe0c8de948c6f69d2b53fbcf43b4420a976f783f5d52947eccca95f24034bd4f3e32a modules-initfs
3dd6d612c381cb0002049d1974d8fb5aa5a53a1eb4d6bcbf62eb2ad52cfdc45f0f6ad24a699716d3513b0371aa1316f25dc72afc10d7176cc3b99d0965c3f030 hwtest.ini
@@ -1,94 +1,5 @@
# Only the system vendor should modify this file, ordinary users
# should not have to change anything.
[UPower]
# Enable the Watts Up Pro device.
#
# The Watts Up Pro contains a generic FTDI USB device without a specific
# vendor and product ID. When we probe for WUP devices, we can cause
# the user to get a perplexing "Device or resource busy" error when
# attempting to use their non-WUP device.
#
# The generic FTDI device is known to also be used on:
#
# - Sparkfun FT232 breakout board
# - Parallax Propeller
#
# default=false
EnableWattsUpPro=false
# Don't poll the kernel for battery level changes.
#
# Some hardware will send us battery level changes through
# events, rather than us having to poll for it. This option
# allows disabling polling for hardware that sends out events.
#
# default=false
NoPollBatteries=false
# Do we ignore the lid state
#
# Some laptops are broken. The lid state is either inverted, or stuck
# on or off. We can't do much to fix these problems, but this is a way
# for users to make the laptop panel vanish, a state that might be used
# by a couple of user-space daemons. On Linux systems, see also
# logind.conf(5).
#
# default=false
IgnoreLid=false
# Policy for warnings and action based on battery levels
#
# Whether battery percentage based policy should be used. The default
# is to use the time left, change to true to use the percentage, which
# should work around broken firmwares. It is also more reliable than
# the time left (frantically saving all your files is going to use more
# battery than letting it rest for example).
# default=true
UsePercentageForPolicy=true
# When UsePercentageForPolicy is true, the levels at which UPower will
# consider the battery low, critical, or take action for the critical
# battery level.
#
# This will also be used for batteries which don't have time information
# such as that of peripherals.
#
# If any value is invalid, or not in descending order, the defaults
# will be used.
#
# Defaults:
# PercentageLow=10
# PercentageCritical=3
# PercentageAction=2
PercentageLow=20
PercentageCritical=17
PercentageAction=15
# When UsePercentageForPolicy is false, the time remaining at which UPower
# will consider the battery low, critical, or take action for the critical
# battery level.
#
# If any value is invalid, or not in descending order, the defaults
# will be used.
#
# Defaults:
# TimeLow=1200
# TimeCritical=300
# TimeAction=120
TimeLow=1200
TimeCritical=300
TimeAction=120
# The action to take when "TimeAction" or "PercentageAction" above has been
# reached for the batteries (UPS or laptop batteries) supplying the computer
#
# Possible values are:
# PowerOff
# Hibernate
# HybridSleep
#
# If HybridSleep isn't available, Hibernate will be used
# If Hibernate isn't available, PowerOff will be used
PercentageLow=20.0
PercentageCritical=17.0
PercentageAction=15.0
CriticalPowerAction=PowerOff
@@ -1,5 +1,5 @@
# Reference: <https://postmarketos.org/devicepkg>
# Co-Maintainer: Newbyte <newbyte@postmarketos.org>
# Co-Maintainer: Stefan Hansson <newbyte@postmarketos.org>
# Contributor: Clayton Craft <clayton@craftyguy.net>
maintainer="Alistair Francis <alistair@alistair23.me>"
pkgname=device-purism-librem5
@@ -3,7 +3,7 @@
maintainer="Oliver Smith <ollieparanoid@postmarketos.org>"
pkgname=device-qemu-aarch64
pkgver=16
pkgrel=0
pkgrel=1
pkgdesc="Simulated device in QEMU (aarch64)"
url="https://postmarketos.org"
arch="aarch64"
@@ -61,7 +61,7 @@ kernel_stable() {
}
kernel_lts() {
pkgdesc="Long-term maintainance kernel (most stability, not all security fixes & new features)"
pkgdesc="Long-term maintenance kernel (most stability, not all security fixes & new features)"
depends="linux-postmarketos-lts linux-firmware-none"
devicepkg_subpackage_kernel $startdir $pkgname $subpkgname
}
+2 -2
View File
@@ -3,7 +3,7 @@
maintainer="Oliver Smith <ollieparanoid@postmarketos.org>"
pkgname=device-qemu-amd64
pkgver=17
pkgrel=0
pkgrel=1
pkgdesc="Simulated device in QEMU (x86_64)"
url="https://postmarketos.org"
arch="x86_64"
@@ -48,7 +48,7 @@ kernel_stable() {
}
kernel_lts() {
pkgdesc="Long-term maintainance kernel (most stability, not all security fixes & new features)"
pkgdesc="Long-term maintenance kernel (most stability, not all security fixes & new features)"
depends="linux-postmarketos-lts linux-firmware-none"
devicepkg_subpackage_kernel $startdir $pkgname $subpkgname
}
@@ -3,7 +3,7 @@
maintainer="Luca Weiss <luca@lucaweiss.eu>"
pkgname=device-qemu-riscv64
pkgver=12
pkgrel=0
pkgrel=1
pkgdesc="Simulated device in QEMU (riscv64)"
url="https://postmarketos.org"
arch="riscv64"
@@ -41,7 +41,7 @@ kernel_stable() {
}
kernel_lts() {
pkgdesc="Long-term maintainance kernel (most stability, not all security fixes & new features)"
pkgdesc="Long-term maintenance kernel (most stability, not all security fixes & new features)"
depends="linux-postmarketos-lts linux-firmware-none"
devicepkg_subpackage_kernel $startdir $pkgname $subpkgname
}
+3 -3
View File
@@ -1,8 +1,8 @@
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Newbyte <newbyte@disroot.org>"
maintainer="Stefan Hansson <newbyte@postmarketos.org>"
pkgname=device-samsung-m0
pkgdesc="Samsung Galaxy S III"
pkgver=11
pkgver=12
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -52,7 +52,7 @@ nonfree_firmware() {
}
sha512sums="
fb46c4de7e2bf3bd94b7012dac1420c354acefff826c3bad295659202476332f6cecd0e3316e4e92e3cc567b116c2ab30dc8e8f79773f72bccb7ca0ee1c52c39 deviceinfo
81ab1b1999a20a10618578c17de208fa8508494435b2410c9d827e02f09c74f17c51e613e932de782fb3c6e9fc3a538a3983f0c6e66746263208fd14c67260e8 deviceinfo
caa81e8ab6753c0ca24c22fb6742288765dfbf2469b8b8c35c5789edfcee546ef1c3b14ad6e540c417f434258399300f17d312b58157635eafab134587ef94cc Midas.conf
21f64c9104ec5780fffde8ba7ce57583592469694d07dd5e2de4173d7c9f99ba57fb28bb5bcfbbce921be9c4ead9d31980e948533162fe12424c2037145debb1 HiFi.conf
56a2bdffc273cb0a581192e65378ff50e71c7bc8a696af7d5e7c165a53c005aae104c4514c68afb668454c5a94ce78bd509f8a40e3401d67e16636b1ed81d051 modules-load.conf
@@ -11,6 +11,7 @@ deviceinfo_dtb="exynos4412-i9300"
deviceinfo_getty="ttySAC2;115200"
deviceinfo_arch="armv7"
deviceinfo_flash_kernel_on_update="true"
deviceinfo_flash_sparse="true"
# Device related
deviceinfo_drm="true"
@@ -2,8 +2,8 @@
maintainer="Dzmitry Sankouski <dsankouski@gmail.com>"
pkgname=device-samsung-starqltechn
pkgdesc="Samsung Galaxy S9 SM-G9600"
pkgver=11
pkgrel=1
pkgver=12
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
@@ -19,7 +19,6 @@ depends="
postmarketos-base
soc-qcom
soc-qcom-modem
soc-qcom-pd-mapper
u-boot-starqltechn
u-boot-tools
unl0kr-fbforcerefresh
@@ -4,7 +4,7 @@
maintainer="Alexander Martinz <amartinz@shiftphones.com>"
pkgname=device-shift-axolotl
pkgdesc="SHIFT6mq"
pkgver=22
pkgver=23
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -18,7 +18,6 @@ depends="
mkbootimg
postmarketos-base
soc-qcom
soc-qcom-pd-mapper
soc-qcom-qbootctl
systemd-boot
unl0kr-fbforcerefresh
@@ -2,7 +2,7 @@
maintainer="Joel Selvaraj <foss@joelselvaraj.com>"
pkgname=device-xiaomi-beryllium
pkgdesc="Xiaomi Poco F1"
pkgver=19
pkgver=20
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -13,7 +13,6 @@ depends="
mkbootimg
alsa-ucm-conf-sdm845
soc-qcom
soc-qcom-pd-mapper
"
makedepends="devicepkg-dev"
subpackages="
+1 -1
View File
@@ -1,4 +1,4 @@
# Co-Maintainer: Newbyte <newbyte@postmarketos.org>
# Co-Maintainer: Stefan Hansson <newbyte@postmarketos.org>
# Contributor: Clayton Craft <clayton@craftyguy.net>
maintainer="Alistair Francis <alistair@alistair23.me>"
pkgname=firmware-brcm43752
@@ -1,4 +1,4 @@
# Co-Maintainer: Newbyte <newbyte@postmarketos.org>
# Co-Maintainer: Stefan Hansson <newbyte@postmarketos.org>
# Contributor: Clayton Craft <clayton@craftyguy.net>
maintainer="Alistair Francis <alistair@alistair23.me>"
pkgname=firmware-siliconlabs-rs9116
@@ -1,10 +1,10 @@
# Kernel config based on: arch/arm/configs/exynos_defconfig
# Co-Maintainer: Henrik Grimler <henrik@grimler.se>
# Co-Maintainer: knuxify <knuxify@gmail.com>
maintainer="Newbyte <newbyte@disroot.org>"
maintainer="Stefan Hansson <newbyte@postmarketos.org>"
pkgname=linux-postmarketos-exynos4
pkgver=6.18.9
pkgrel=1
pkgrel=3
pkgdesc="Mainline kernel fork for Samsung Exynos4 devices"
arch="armv7"
_carch="arm"
@@ -60,7 +60,7 @@ package() {
LLVM=1 \
INSTALL_MOD_STRIP=1 \
INSTALL_PATH="$pkgdir"/boot \
INSTALL_MOD_PATH="$pkgdir" \
INSTALL_MOD_PATH="$pkgdir"/usr \
INSTALL_DTBS_PATH="$pkgdir/boot/dtbs"
install -D "$builddir"/include/config/kernel.release \
@@ -3,7 +3,7 @@
maintainer="WeirdTreeThing <bradyn127@protonmail.com>"
pkgname=linux-postmarketos-mediatek-mt81
pkgver=6.18.28
pkgrel=0
pkgrel=2
pkgdesc="Mainline kernel for mediatek mt8183/mt8192/mt8195/mt8186"
arch="aarch64"
_flavor="${pkgname#linux-}"
@@ -91,5 +91,5 @@ b2dcf3e3b9f80d185f587972ab6fc1f07e8ec7c7dbe3aa75c53ff6d3c7380ff4c3e6f39479297658
e09b8fc578742b0efcfb7e4419b30de39feecf3303def62576110c98e3a7101c68c78d1276f885e585ee21536df1f2474df5816f0dffa8f99ea1df1c787fe2c6 mt8186-drm-bridge-it6505-Add-audio-support.patch
b4c005f705bbae87b93dd061b4d02f982f2dbce1c59635a02b501def1eb784b057d1555c2c11e868f81a91365dcd1c0fbecf85034b6da701011cb2b68ecb3404 mt8186-ASoC-mediatek-mt8186-make-FE-nonatomic-and-no_pcm.patch
06539b9c5cdaa41e4e0a4bfb8e300548cf95387db716a2f896062690075f07419e9e211c0cb5537caaa046cfae646e47413e12fde0a3c71c9f94868f464de208 mtk-pmdomain.patch
1b6e086abb9951b9bac86d91f7f06dde45c384d9e8fd9d14ec154533294ae1f62539602566b94d8b93d275671f67261b083c0a73f524fcb27bc50fcc87c509c8 config-postmarketos-mediatek-mt81.aarch64
242d7a639f65f9d73146863ffa77f3a40594c6aa4f45ec79f37f0348a4ee2671bf4df3f3aee25d0c86ca1493c74af426e69226aa9b1eedf1d56d850420d59f87 config-postmarketos-mediatek-mt81.aarch64
"
@@ -5055,7 +5055,7 @@ CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=y
# CONFIG_DRM_PANEL_DSI_CM is not set
CONFIG_DRM_PANEL_LVDS=y
# CONFIG_DRM_PANEL_HIMAX_HX8279 is not set
# CONFIG_DRM_PANEL_HIMAX_HX83102 is not set
CONFIG_DRM_PANEL_HIMAX_HX83102=y
# CONFIG_DRM_PANEL_HIMAX_HX83112A is not set
# CONFIG_DRM_PANEL_HIMAX_HX83112B is not set
# CONFIG_DRM_PANEL_HIMAX_HX8394 is not set
@@ -5065,7 +5065,7 @@ CONFIG_DRM_PANEL_LVDS=y
# CONFIG_DRM_PANEL_ILITEK_ILI9805 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9806E is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9882T is not set
CONFIG_DRM_PANEL_ILITEK_ILI9882T=y
# CONFIG_DRM_PANEL_INNOLUX_EJ030NA is not set
CONFIG_DRM_PANEL_INNOLUX_P079ZCA=y
# CONFIG_DRM_PANEL_JADARD_JD9365DA_H3 is not set
@@ -8558,7 +8558,7 @@ CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII is not set
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
@@ -8614,7 +8614,7 @@ CONFIG_SECURITYFS=y
# CONFIG_SECURITY_TOMOYO is not set
# CONFIG_SECURITY_APPARMOR is not set
# CONFIG_SECURITY_LOADPIN is not set
# CONFIG_SECURITY_YAMA is not set
CONFIG_SECURITY_YAMA=y
# CONFIG_SECURITY_SAFESETID is not set
# CONFIG_SECURITY_LOCKDOWN_LSM is not set
# CONFIG_SECURITY_LANDLOCK is not set
@@ -0,0 +1,42 @@
From ce500b195fab1c3fb4d2ff04e7f24577a8f56d66 Mon Sep 17 00:00:00 2001
From: Richard Acayan <mailingradian@gmail.com>
Date: Mon, 8 Jun 2026 19:39:46 -0400
Subject: [PATCH] ASoC: codecs: cs35l36: reduce maximum volume to 0dB
The digital volume can be increased to +12dB. This is very loud, but
ALSA userspace still goes under 0dB until 64% logical volume. Cap the
maximum volume at 0dB, so ALSA only sets the hardware volume up to 0dB.
Link: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/work_items/4616
Signed-off-by: Richard Acayan <mailingradian@gmail.com>
---
sound/soc/codecs/cs35l36.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/sound/soc/codecs/cs35l36.c b/sound/soc/codecs/cs35l36.c
index 93818d7ec1a7..98992eaadb12 100644
--- a/sound/soc/codecs/cs35l36.c
+++ b/sound/soc/codecs/cs35l36.c
@@ -442,8 +442,8 @@ static bool cs35l36_volatile_reg(struct device *dev, unsigned int reg)
}
}
-static const DECLARE_TLV_DB_RANGE(dig_vol_tlv, 0, 912,
- TLV_DB_MINMAX_ITEM(-10200, 1200));
+static const DECLARE_TLV_DB_RANGE(dig_vol_tlv, 0, 816,
+ TLV_DB_MINMAX_ITEM(-10200, 0));
static DECLARE_TLV_DB_SCALE(amp_gain_tlv, 0, 1, 1);
static const char * const cs35l36_pcm_sftramp_text[] = {
@@ -483,7 +483,7 @@ static int cs35l36_ldm_sel_put(struct snd_kcontrol *kcontrol,
static const struct snd_kcontrol_new cs35l36_aud_controls[] = {
SOC_SINGLE_SX_TLV("Digital PCM Volume", CS35L36_AMP_DIG_VOL_CTRL,
- 3, 0x4D0, 0x390, dig_vol_tlv),
+ 3, 0x4D0, 0x330, dig_vol_tlv),
SOC_SINGLE_TLV("Analog PCM Volume", CS35L36_AMP_GAIN_CTRL, 5, 0x13, 0,
amp_gain_tlv),
SOC_ENUM("PCM Soft Ramp", pcm_sft_ramp),
--
2.54.0
@@ -4,7 +4,7 @@ maintainer="Richard Acayan <mailingradian@gmail.com>"
_flavor="postmarketos-qcom-sdm670"
pkgname=linux-$_flavor
pkgver=7.0.10
pkgrel=1
pkgrel=2
pkgdesc="Mainline Kernel fork for SDM670/SDM710 devices"
arch="aarch64"
_carch="arm64"
@@ -35,6 +35,7 @@ _tag="sdm670-v$pkgver"
# Source
source="
https://gitlab.com/sdm670-mainline/linux/-/archive/$_tag/linux-$_tag.tar.gz
0001-ASoC-codecs-cs35l36-reduce-maximum-volume-to-0dB.patch
$_config
"
builddir="$srcdir/linux-$_tag"
@@ -74,5 +75,6 @@ package() {
sha512sums="
71476207449337685a947a5ab0c3a6af619e0b1322568723ed387792f8252d329d547a491e8ec6a5cb38ad76e52c4beeb76852cd7d2fbf39fd76f9743e2671de linux-sdm670-v7.0.10.tar.gz
3a463e3f02fe55b295d7c41cbdeb0104d62035c56f621d3536adfdd09b6ecbd90b8daabaa15633e40d5a5b4338ede1f6876996177a089718a0000077fe8e84d9 0001-ASoC-codecs-cs35l36-reduce-maximum-volume-to-0dB.patch
af2360a11f7182c68fb81779f13623af82d4ae5b91be31b6dfad2bec60e7d548b9ba4ba049cf5a075c06e2511d2ede720937c20fd49d9fdc6a4f158fbc4ad519 config-postmarketos-qcom-sdm670.aarch64
"
@@ -5,7 +5,7 @@ maintainer="Casey Connolly <kcxt@postmarketos.org>"
_flavor="postmarketos-qcom-sdm845"
pkgname=linux-$_flavor
pkgver=7.1_rc1
pkgrel=1
pkgrel=2
pkgdesc="Mainline Kernel fork for SDM845 devices"
arch="aarch64"
_carch="arm64"
@@ -84,5 +84,5 @@ package() {
sha512sums="
94da173aaf74dd33ef8ff9015e92759481cd0da5bd8a1e52c8664fd372d48a1155655001ad2e9d26557733c71ae8bc448e4ebdf1372b8f32159907a35f0306a9 linux-sdm845-7.1-rc1-r0.tar.gz
36d173adc2e9225cfa110ddb6775cd5fc24c4712b469df06d61d4d095f0af5ea1e062ac88f951a5d27715389b109ed7bf17a23e207d3d7fe5a69d2eb277d24cd config-postmarketos-qcom-sdm845.aarch64
1a06ce39a35dc9dbcae82410f71cfbc8f705411bfdd23560eabb61a44ab6ddeee7d54422e6351f0d918cce77d101b9f2d952d65dd25e29aa388b848492714ec0 config-postmarketos-qcom-sdm845.aarch64
"
@@ -14,6 +14,7 @@ CONFIG_LLD_VERSION=220103
CONFIG_RUSTC_VERSION=0
CONFIG_RUSTC_LLVM_VERSION=0
CONFIG_RUSTC_LLVM_MAJOR_VERSION=0
CONFIG_CC_CAN_LINK=y
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
CONFIG_TOOLS_SUPPORT_RELR=y
@@ -7406,7 +7407,7 @@ CONFIG_QCOM_LLCC=y
CONFIG_QCOM_KRYO_L2_ACCESSORS=y
CONFIG_QCOM_MDT_LOADER=y
CONFIG_QCOM_OCMEM=y
# CONFIG_QCOM_PD_MAPPER is not set
CONFIG_QCOM_PD_MAPPER=m
CONFIG_QCOM_PDR_HELPERS=y
CONFIG_QCOM_PDR_MSG=y
# CONFIG_QCOM_PMIC_PDCHARGER_ULOG is not set
@@ -8815,7 +8816,7 @@ CONFIG_SECURITYFS=y
# CONFIG_SECURITY_TOMOYO is not set
# CONFIG_SECURITY_APPARMOR is not set
# CONFIG_SECURITY_LOADPIN is not set
# CONFIG_SECURITY_YAMA is not set
CONFIG_SECURITY_YAMA=y
# CONFIG_SECURITY_SAFESETID is not set
# CONFIG_SECURITY_LOCKDOWN_LSM is not set
# CONFIG_SECURITY_LANDLOCK is not set
@@ -476,6 +476,7 @@ CONFIG_DM_VERITY=m
# hardening
CONFIG_SECURITY_DMESG_RESTRICT=y
CONFIG_SECURITY_YAMA=y
CONFIG_SHADOW_CALL_STACK=y
CONFIG_CFI=y
# CONFIG_CFI_PERMISSIVE is not set
@@ -4,11 +4,6 @@ CONFIG_LOCALVERSION="-sdm845"
# Needed everywhere
CONFIG_GPIO_SHARED_PROXY=y
# This introduces some weird race conditions. Stick to the
# userspace one for now (6.13). still seem to happen in 7.1rc1.
# makes mic not working in poco f1. no idea why.
CONFIG_QCOM_PD_MAPPER=n
# OnePlus 6
CONFIG_DRM_PANEL_SAMSUNG_SOFEF00=y
CONFIG_BATTERY_BQ27XXX=m
@@ -77,24 +72,25 @@ CONFIG_QCOM_WDT=y
CONFIG_SPI_QCOM_GENI=y
# SOC
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_I2C_QCOM_GENI=y
CONFIG_INTERCONNECT_QCOM_OSM_L3=y
CONFIG_NR_CPUS=8
CONFIG_SCSI_UFS_QCOM=y
CONFIG_PHY_QCOM_QMP_PCIE=y
CONFIG_POWER_RESET_QCOM_PON=y
CONFIG_QCOM_APR=y
CONFIG_QCOM_GSBI=y
CONFIG_QCOM_LLCC=y
CONFIG_QCOM_LMH=y
CONFIG_QCOM_OCMEM=y
CONFIG_QCOM_PD_MAPPER=m
CONFIG_QCOM_RMTFS_MEM=y
CONFIG_QCOM_SOCINFO=y
CONFIG_QCOM_WCNSS_CTRL=y
CONFIG_QCOM_APR=y
CONFIG_POWER_RESET_QCOM_PON=y
CONFIG_QCOM_SPMI_TEMP_ALARM=y
CONFIG_QCOM_LMH=y
CONFIG_QCOM_WCNSS_CTRL=y
CONFIG_SCHED_CLUSTER=y
CONFIG_SCSI_UFS_QCOM=y
CONFIG_SND_SOC_QDSP6_Q6VOICE=m
CONFIG_PHY_QCOM_QMP_PCIE=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_INTERCONNECT_QCOM_OSM_L3=y
CONFIG_I2C_QCOM_GENI=y
# Remoteproc
CONFIG_SLIMBUS=y
+31 -26
View File
@@ -1,15 +1,13 @@
# Reference: <https://postmarketos.org/vendorkernel>
# Co-Maintainer: Newbyte <newbyte@postmarketos.org>
# Co-Maintainer: Stefan Hansson <newbyte@postmarketos.org>
# Contributor: Clayton Craft <clayton@craftyguy.net>
maintainer="Alistair Francis <alistair@alistair23.me>"
pkgname=linux-purism-librem5
pkgver=6.6.118
pkgrel=1
pkgver=6.6.139
pkgrel=0
# NOTE: Don't forget to rebase the config! See prepare() for instructions.
_purismrel=1
_pureosrel=cri1
# <kernel ver> + <purism kernel release> + <PureOS release>
_purismver=${pkgver}pureos${_purismrel}_$_pureosrel
_purismver=${pkgver}pureos$_purismrel
pkgdesc="Purism Librem 5 phone kernel fork"
arch="aarch64"
_carch="arm64"
@@ -22,21 +20,21 @@ options="!strip !check !tracedeps
pmb:kconfigcheck-librem5
"
makedepends="
bash
bison
devicepkg-dev
clang
findutils
flex
installkernel
linux-headers
lld
llvm
openssl-dev
perl
rsync
xz
postmarketos-installkernel
python3
zstd
"
install="$pkgname.post-upgrade"
# Source
_repository="linux"
# kconfig generated with: ARCH=arm64 make defconfig KBUILD_DEFCONFIG=librem5_defconfig
_config="config-$_flavor.$arch"
@@ -44,13 +42,13 @@ _config="config-$_flavor.$arch"
source="
$pkgname-$_purismver.tar.gz::https://source.puri.sm/Librem5/linux/-/archive/pureos/$_purismver/linux-pureos-$_purismver.tar.gz
$_config
treewide-remove-unnecessary-linux-version.h-inclusion.patch
"
builddir="$srcdir/$_repository-pureos-$_purismver"
builddir="$srcdir/linux-pureos-$_purismver"
prepare() {
default_prepare
REPLACE_GCCH=0 \
. downstreamkernel_prepare
cp "$srcdir/config-$_flavor.$arch" .config
####### Rebase config
# The kernel config needs to be periodically rebased to enable new
@@ -62,7 +60,7 @@ prepare() {
# This can be uncommented to help generate the defconfig using "pmbootstrap
# build linux-purism-librem5". The build will fail (exit 1) to let you grab
# the config before it starts building the kernel:
# make ARCH="$_carch" CC="${CC:-gcc}" \
# make ARCH="$_carch" LLVM=1 \
# defconfig KBUILD_DEFCONFIG=librem5_defconfig
# exit 1
#
@@ -75,22 +73,29 @@ prepare() {
build() {
unset LDFLAGS
make ARCH="$_carch" CC="${CC:-gcc}" \
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS" \
LOCALVERSION=".$_purismrel"
make ARCH="$_carch" LLVM=1 \
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-$_flavor"
}
package() {
downstreamkernel_package "$builddir" "$pkgdir" "$_carch" "$_flavor"
make modules_install dtbs_install \
make dtbs_install install modules_install \
ARCH="$_carch" \
LLVM=1 \
INSTALL_PATH="$pkgdir"/boot \
INSTALL_MOD_PATH="$pkgdir"/usr \
INSTALL_DTBS_PATH="$pkgdir/boot/dtbs"
INSTALL_MOD_STRIP=1 \
INSTALL_DTBS_PATH="$pkgdir"/boot/dtbs
rm -f "$pkgdir"/usr/lib/modules/*/build "$pkgdir"/usr/lib/modules/*/source
install -D "$builddir"/include/config/kernel.release \
"$pkgdir"/usr/share/kernel/"$_flavor"/kernel.release
}
sha512sums="
f1d75865ff15793e6e70414a356209bd27fdb4c084d773698589f2e376ddcf037f2ac60a131a72ad3986b51b88c0c738deb65169bb30fd472f25cb06327ed1a8 linux-purism-librem5-6.6.118pureos1_cri1.tar.gz
323e1d4760857c62efa67362b36b098f7fd2d6f49970236965cfab4bb8ae43ddbafa76f2fcd0deb8faa53e4b87bf202ab3507dc10f2364234af4c10453768337 config-purism-librem5.aarch64
d51709ee85ac8ebe271fc57ba60e2ab5f90225bd045b813a281553b0f76ae4c227317201fbb509e59af9813ea3e49947e83ac7d82b97cede15212cadd90fc372 linux-purism-librem5-6.6.139pureos1.tar.gz
92837e9d725d2f6e6aebfc10e79007dc671cbc57ddb10c9af91b0b666131275f0897e355c77705f2b57c4c87472f4f8264d32060765582878fde04891c49f997 config-purism-librem5.aarch64
76c1e07b5479fe7be0d1e4a74a8f4a2cd8fc25fbeb3a4efcaf8300e27817a320c0c1340ea6c00ad1c3dd86cc2cb192280de8a91360bad80665115701ba11632d treewide-remove-unnecessary-linux-version.h-inclusion.patch
"
@@ -100,7 +100,7 @@ CONFIG_BPF_JIT=y
CONFIG_BPF_JIT_DEFAULT_ON=y
CONFIG_BPF_UNPRIV_DEFAULT_OFF=y
# CONFIG_BPF_PRELOAD is not set
# CONFIG_BPF_LSM is not set
CONFIG_BPF_LSM=y
# end of BPF subsystem
CONFIG_PREEMPT_BUILD=y
@@ -681,7 +681,7 @@ CONFIG_HAVE_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_ARCH_SUPPORTS_SHADOW_CALL_STACK=y
# CONFIG_SHADOW_CALL_STACK is not set
CONFIG_SHADOW_CALL_STACK=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
CONFIG_LTO_NONE=y
@@ -764,8 +764,8 @@ CONFIG_ASM_MODVERSIONS=y
# CONFIG_MODULE_COMPRESS_NONE is not set
# CONFIG_MODULE_COMPRESS_GZIP is not set
CONFIG_MODULE_COMPRESS_XZ=y
# CONFIG_MODULE_COMPRESS_ZSTD is not set
# CONFIG_MODULE_DECOMPRESS is not set
CONFIG_MODULE_COMPRESS_ZSTD=y
CONFIG_MODULE_DECOMPRESS=y
# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
CONFIG_MODPROBE_PATH="/sbin/modprobe"
# CONFIG_TRIM_UNUSED_KSYMS is not set
@@ -2041,7 +2041,7 @@ CONFIG_OF_RESERVED_MEM=y
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_NULL_BLK is not set
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
CONFIG_ZRAM=m
CONFIG_ZRAM=y
CONFIG_ZRAM_DEF_COMP_LZORLE=y
# CONFIG_ZRAM_DEF_COMP_ZSTD is not set
# CONFIG_ZRAM_DEF_COMP_LZ4 is not set
@@ -2061,7 +2061,7 @@ CONFIG_BLK_DEV_NBD=m
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_VIRTIO_BLK is not set
# CONFIG_BLK_DEV_RBD is not set
# CONFIG_BLK_DEV_UBLK is not set
CONFIG_BLK_DEV_UBLK=m
#
# NVME Support
@@ -2558,7 +2558,7 @@ CONFIG_USB_NET_SMSC95XX=m
# CONFIG_USB_NET_NET1080 is not set
# CONFIG_USB_NET_PLUSB is not set
CONFIG_USB_NET_MCS7830=m
# CONFIG_USB_NET_RNDIS_HOST is not set
CONFIG_USB_NET_RNDIS_HOST=m
CONFIG_USB_NET_CDC_SUBSET_ENABLE=m
CONFIG_USB_NET_CDC_SUBSET=m
CONFIG_USB_ALI_M5632=y
@@ -2680,7 +2680,7 @@ CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_EVDEV=m
# CONFIG_INPUT_EVBUG is not set
#
@@ -2861,7 +2861,7 @@ CONFIG_INPUT_GPIO_VIBRA=m
# CONFIG_INPUT_YEALINK is not set
# CONFIG_INPUT_CM109 is not set
# CONFIG_INPUT_REGULATOR_HAPTIC is not set
CONFIG_INPUT_UINPUT=m
CONFIG_INPUT_UINPUT=y
# CONFIG_INPUT_PCF8574 is not set
CONFIG_INPUT_PWM_BEEPER=m
CONFIG_INPUT_PWM_VIBRA=m
@@ -2986,7 +2986,7 @@ CONFIG_SERIAL_MCTRL_GPIO=y
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_N_GSM is not set
# CONFIG_NOZOMI is not set
CONFIG_NULL_TTY=y
CONFIG_NULL_TTY=m
# CONFIG_HVC_DCC is not set
# CONFIG_RPMSG_TTY is not set
CONFIG_SERIAL_DEV_BUS=y
@@ -4548,7 +4548,7 @@ CONFIG_DRM_I2C_NXP_TDA9950=m
# CONFIG_DRM_VGEM is not set
# CONFIG_DRM_VKMS is not set
# CONFIG_DRM_VMWGFX is not set
# CONFIG_DRM_UDL is not set
CONFIG_DRM_UDL=m
# CONFIG_DRM_AST is not set
# CONFIG_DRM_MGAG200 is not set
# CONFIG_DRM_QXL is not set
@@ -4959,7 +4959,7 @@ CONFIG_SND_HDA_PREALLOC_SIZE=64
CONFIG_SND_SPI=y
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=m
# CONFIG_SND_USB_AUDIO_MIDI_V2 is not set
CONFIG_SND_USB_AUDIO_MIDI_V2=y
CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y
# CONFIG_SND_USB_UA101 is not set
# CONFIG_SND_USB_CAIAQ is not set
@@ -5235,7 +5235,7 @@ CONFIG_HID=y
CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=m
CONFIG_HID_GENERIC=y
CONFIG_HID_GENERIC=m
#
# Special HID drivers
@@ -5617,7 +5617,7 @@ CONFIG_USB_ULPI=y
CONFIG_USB_ULPI_VIEWPORT=y
# end of USB Physical Layer drivers
CONFIG_USB_GADGET=m
CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG is not set
# CONFIG_USB_GADGET_DEBUG_FILES is not set
# CONFIG_USB_GADGET_DEBUG_FS is not set
@@ -5884,7 +5884,19 @@ CONFIG_LEDS_TRIGGER_TTY=m
#
# Simple LED drivers
#
# CONFIG_ACCESSIBILITY is not set
CONFIG_ACCESSIBILITY=y
CONFIG_A11Y_BRAILLE_CONSOLE=y
CONFIG_SPEAKUP=m
CONFIG_SPEAKUP_SYNTH_ACNTSA=m
CONFIG_SPEAKUP_SYNTH_APOLLO=m
CONFIG_SPEAKUP_SYNTH_AUDPTR=m
CONFIG_SPEAKUP_SYNTH_BNS=m
CONFIG_SPEAKUP_SYNTH_DECTLK=m
CONFIG_SPEAKUP_SYNTH_DECEXT=m
CONFIG_SPEAKUP_SYNTH_LTLK=m
CONFIG_SPEAKUP_SYNTH_SOFT=m
CONFIG_SPEAKUP_SYNTH_SPKOUT=m
CONFIG_SPEAKUP_SYNTH_TXPRT=m
# CONFIG_INFINIBAND is not set
CONFIG_EDAC_SUPPORT=y
# CONFIG_EDAC is not set
@@ -7066,7 +7078,7 @@ CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
CONFIG_OCFS2_FS_STATS=y
CONFIG_OCFS2_DEBUG_MASKLOG=y
# CONFIG_OCFS2_DEBUG_FS is not set
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS=y
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
@@ -7121,7 +7133,7 @@ CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
#
CONFIG_NETFS_SUPPORT=m
# CONFIG_NETFS_STATS is not set
CONFIG_FSCACHE=m
CONFIG_FSCACHE=y
# CONFIG_FSCACHE_STATS is not set
# CONFIG_FSCACHE_DEBUG is not set
CONFIG_CACHEFILES=m
@@ -7200,7 +7212,7 @@ CONFIG_JFFS2_FS_WRITEBUFFER=y
CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_RTIME=y
# CONFIG_CRAMFS is not set
CONFIG_SQUASHFS=y
CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_FILE_CACHE=y
# CONFIG_SQUASHFS_FILE_DIRECT is not set
CONFIG_SQUASHFS_DECOMP_SINGLE=y
@@ -7247,15 +7259,16 @@ CONFIG_EROFS_FS_XATTR=y
CONFIG_EROFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS_SECURITY=y
CONFIG_EROFS_FS_ZIP=y
# CONFIG_EROFS_FS_ZIP_LZMA is not set
# CONFIG_EROFS_FS_ZIP_DEFLATE is not set
CONFIG_EROFS_FS_ZIP_LZMA=y
CONFIG_EROFS_FS_ZIP_DEFLATE=y
# CONFIG_EROFS_FS_PCPU_KTHREAD is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
CONFIG_NFS_FS=m
CONFIG_NFS_FSCACHE=y
# CONFIG_NFS_V2 is not set
CONFIG_NFS_V3=y
CONFIG_NFS_V3=m
# CONFIG_NFS_V3_ACL is not set
CONFIG_NFS_V4=y
CONFIG_NFS_V4=m
CONFIG_NFS_SWAP=y
CONFIG_NFS_V4_1=y
CONFIG_NFS_V4_2=y
@@ -7271,7 +7284,13 @@ CONFIG_NFS_USE_KERNEL_DNS=y
CONFIG_NFS_DEBUG=y
CONFIG_NFS_DISABLE_UDP_SUPPORT=y
CONFIG_NFS_V4_2_READ_PLUS=y
# CONFIG_NFSD is not set
CONFIG_NFSD=m
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_BLOCKLAYOUT=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_V4_2_INTER_SSC=y
CONFIG_GRACE_PERIOD=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
@@ -7280,7 +7299,10 @@ CONFIG_NFS_V4_2_SSC_HELPER=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_BACKCHANNEL=y
CONFIG_SUNRPC_SWAP=y
# CONFIG_RPCSEC_GSS_KRB5 is not set
CONFIG_RPCSEC_GSS_KRB5=m
CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1=y
CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2=y
CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA=y
CONFIG_SUNRPC_DEBUG=y
CONFIG_CEPH_FS=m
# CONFIG_CEPH_FSCACHE is not set
@@ -7334,7 +7356,7 @@ CONFIG_NLS_CODEPAGE_874=m
CONFIG_NLS_ISO8859_8=m
CONFIG_NLS_CODEPAGE_1250=m
CONFIG_NLS_CODEPAGE_1251=m
CONFIG_NLS_ASCII=m
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
CONFIG_NLS_ISO8859_3=m
@@ -7400,7 +7422,7 @@ CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y
CONFIG_SECURITY_APPARMOR_EXPORT_BINARY=y
CONFIG_SECURITY_APPARMOR_PARANOID_LOAD=y
# CONFIG_SECURITY_LOADPIN is not set
# CONFIG_SECURITY_YAMA is not set
CONFIG_SECURITY_YAMA=y
# CONFIG_SECURITY_SAFESETID is not set
# CONFIG_SECURITY_LOCKDOWN_LSM is not set
# CONFIG_SECURITY_LANDLOCK is not set
@@ -7414,6 +7436,8 @@ CONFIG_LSM="landlock,lockdown,yama,loadpin,safesetid,integrity,bpf"
# Kernel hardening options
#
CONFIG_CFI_CLANG=y
#
# Memory initialization
#
@@ -7500,16 +7524,16 @@ CONFIG_CRYPTO_ECDH=y
# Block ciphers
#
CONFIG_CRYPTO_AES=y
# CONFIG_CRYPTO_AES_TI is not set
CONFIG_CRYPTO_AES_TI=m
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_ARIA is not set
CONFIG_CRYPTO_BLOWFISH=y
CONFIG_CRYPTO_BLOWFISH_COMMON=y
CONFIG_CRYPTO_CAMELLIA=y
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST_COMMON=y
CONFIG_CRYPTO_CAST5=y
CONFIG_CRYPTO_CAST6=y
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_DES=m
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_SEED is not set
@@ -7558,10 +7582,10 @@ CONFIG_CRYPTO_ESSIV=y
# Hashes, digests, and MACs
#
CONFIG_CRYPTO_BLAKE2B=m
CONFIG_CRYPTO_CMAC=y
CONFIG_CRYPTO_CMAC=m
CONFIG_CRYPTO_GHASH=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_MD4=y
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
# CONFIG_CRYPTO_MICHAEL_MIC is not set
CONFIG_CRYPTO_POLY1305=y
@@ -7596,7 +7620,7 @@ CONFIG_CRYPTO_LZO=y
# CONFIG_CRYPTO_842 is not set
CONFIG_CRYPTO_LZ4=m
CONFIG_CRYPTO_LZ4HC=m
CONFIG_CRYPTO_ZSTD=m
CONFIG_CRYPTO_ZSTD=y
# end of Compression
#
@@ -7644,7 +7668,7 @@ CONFIG_CRYPTO_SM3_ARM64_CE=m
# CONFIG_CRYPTO_POLYVAL_ARM64_CE is not set
# CONFIG_CRYPTO_AES_ARM64 is not set
CONFIG_CRYPTO_AES_ARM64_CE=y
CONFIG_CRYPTO_AES_ARM64_CE_BLK=m
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m
CONFIG_CRYPTO_AES_ARM64_BS=m
CONFIG_CRYPTO_SM4_ARM64_CE=m
@@ -7693,7 +7717,7 @@ CONFIG_CRYPTO_DEV_FSL_CAAM_PRNG_API=y
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_X509_CERTIFICATE_PARSER=y
CONFIG_PKCS8_PRIVATE_KEY_PARSER=y
CONFIG_PKCS8_PRIVATE_KEY_PARSER=m
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set
@@ -0,0 +1,77 @@
From e332a5aba83500e8d422c90d2a84d8a5f888673e Mon Sep 17 00:00:00 2001
From: Masahiro Yamada <masahiroy@kernel.org>
Date: Thu, 8 Aug 2024 02:47:28 +0900
Subject: [PATCH] treewide: remove unnecessary <linux/version.h> inclusion
These files do not use any macros defined in <linux/version.h>.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
---
drivers/accessibility/speakup/genmap.c | 1 -
drivers/accessibility/speakup/makemapdata.c | 1 -
drivers/staging/media/atomisp/include/linux/atomisp.h | 1 -
samples/trace_events/trace_custom_sched.c | 1 -
sound/soc/codecs/cs42l42.c | 1 -
5 files changed, 5 deletions(-)
diff --git a/drivers/accessibility/speakup/genmap.c b/drivers/accessibility/speakup/genmap.c
index 0125000e00d9ab..0882bab10fb87a 100644
--- a/drivers/accessibility/speakup/genmap.c
+++ b/drivers/accessibility/speakup/genmap.c
@@ -10,7 +10,6 @@
#include <stdio.h>
#include <libgen.h>
#include <string.h>
-#include <linux/version.h>
#include <ctype.h>
#include "utils.h"
diff --git a/drivers/accessibility/speakup/makemapdata.c b/drivers/accessibility/speakup/makemapdata.c
index d7d41bb9b05fbb..55e4ef8a93dc99 100644
--- a/drivers/accessibility/speakup/makemapdata.c
+++ b/drivers/accessibility/speakup/makemapdata.c
@@ -10,7 +10,6 @@
#include <stdio.h>
#include <libgen.h>
#include <string.h>
-#include <linux/version.h>
#include <ctype.h>
#include "utils.h"
diff --git a/drivers/staging/media/atomisp/include/linux/atomisp.h b/drivers/staging/media/atomisp/include/linux/atomisp.h
index 16c9da172c0317..fefbe3cd08f33d 100644
--- a/drivers/staging/media/atomisp/include/linux/atomisp.h
+++ b/drivers/staging/media/atomisp/include/linux/atomisp.h
@@ -20,7 +20,6 @@
#define _ATOM_ISP_H
#include <linux/types.h>
-#include <linux/version.h>
/* struct media_device_info.hw_revision */
#define ATOMISP_HW_REVISION_MASK 0x0000ff00
diff --git a/samples/trace_events/trace_custom_sched.c b/samples/trace_events/trace_custom_sched.c
index b99d9ab7db858f..dd409b704b35b6 100644
--- a/samples/trace_events/trace_custom_sched.c
+++ b/samples/trace_events/trace_custom_sched.c
@@ -8,7 +8,6 @@
#define pr_fmt(fmt) fmt
#include <linux/trace_events.h>
-#include <linux/version.h>
#include <linux/module.h>
#include <linux/sched.h>
diff --git a/sound/soc/codecs/cs42l42.c b/sound/soc/codecs/cs42l42.c
index 60d366e53526ff..6400ac875e6f6c 100644
--- a/sound/soc/codecs/cs42l42.c
+++ b/sound/soc/codecs/cs42l42.c
@@ -11,7 +11,6 @@
#include <linux/module.h>
#include <linux/moduleparam.h>
-#include <linux/version.h>
#include <linux/types.h>
#include <linux/init.h>
#include <linux/delay.h>
+3 -4
View File
@@ -2,7 +2,7 @@
maintainer="Casey Connolly <kcxt@postmarketos.org>"
pkgname=soc-qcom
pkgdesc="Common package for Qualcomm devices"
pkgver=8
pkgver=9
pkgrel=0
url="https://postmarketos.org"
license="BSD-3-Clause"
@@ -17,7 +17,6 @@ depends="
replaces="
soc-qcom-sdm845
soc-qcom-sdm845-nonfree-firmware
upower
"
subpackages="
$pkgname-gstreamer-openrc:gstreamer_openrc
@@ -54,7 +53,7 @@ package() {
# Shutdown when battery is critical instead of sleep
install -Dm644 "$srcdir"/UPower.conf \
"$pkgdir"/etc/UPower/UPower.conf
"$pkgdir"/etc/UPower/UPower.conf.d/50-soc-qcom.conf
install -Dm644 "$srcdir"/51-qcom.conf \
-t "$pkgdir"/usr/share/wireplumber/wireplumber.conf.d
@@ -189,7 +188,7 @@ pulseaudio_systemd() {
sha512sums="
28c14f47eaedec577d152001c51753537c98f267ac4a0acf78a304efebe5f6a1b4dc6d501497da9a0a925806a1d9c80b25e001cf9b1eb21efa22cd6a41ff753b 51-qcom.conf
9d455b56558d453d501a1ad869ffa79f9952ed43485a9847d506db6a78bfcd9f9c9d855660ee1d368eb74f4429385ec166addc30d802261c75562e785fe84c52 UPower.conf
72e8ed55499976574fa09e6c3b79c0e046c786932179cfd30788a80037906a45861f09f6663fa1bc15a4571be97b3a40ee3631988bffd1c9ee9f360358b6486a UPower.conf
6fb4c0bd8b7ed534d855a6732ccff783960e3cfa0e0cc7effcbb93afa00798dec15361a37a3200081bc114c8d266b7a0851cc4e819ad36eabdb47a50c72620d9 call_audio_idle_suspend_workaround.confd
5a58475b6e2ee1d655f3f23d8dc19e1cb2f32f1dfff3b9a9337d9c5baad1ec24bfaec0fb9cc03f00e5a291bee27c6b8bffbc65157e2bee5d65ef6d1adcb0910b call_audio_idle_suspend_workaround.initd
6f08583574782c01d826ee6b67dd0ceca7b700559efa49042c4b9f182fcd7a4f390c8b011d8ede1820f0ac151eaee24e31a8bac127e2aaf9a6fd605eb17fbea9 call-audio-idle-suspend-workaround.service
+3 -92
View File
@@ -1,94 +1,5 @@
# Only the system vendor should modify this file, ordinary users
# should not have to change anything.
[UPower]
# Enable the Watts Up Pro device.
#
# The Watts Up Pro contains a generic FTDI USB device without a specific
# vendor and product ID. When we probe for WUP devices, we can cause
# the user to get a perplexing "Device or resource busy" error when
# attempting to use their non-WUP device.
#
# The generic FTDI device is known to also be used on:
#
# - Sparkfun FT232 breakout board
# - Parallax Propeller
#
# default=false
EnableWattsUpPro=false
# Don't poll the kernel for battery level changes.
#
# Some hardware will send us battery level changes through
# events, rather than us having to poll for it. This option
# allows disabling polling for hardware that sends out events.
#
# default=false
NoPollBatteries=false
# Do we ignore the lid state
#
# Some laptops are broken. The lid state is either inverted, or stuck
# on or off. We can't do much to fix these problems, but this is a way
# for users to make the laptop panel vanish, a state that might be used
# by a couple of user-space daemons. On Linux systems, see also
# logind.conf(5).
#
# default=false
IgnoreLid=false
# Policy for warnings and action based on battery levels
#
# Whether battery percentage based policy should be used. The default
# is to use the time left, change to true to use the percentage, which
# should work around broken firmwares. It is also more reliable than
# the time left (frantically saving all your files is going to use more
# battery than letting it rest for example).
# default=true
UsePercentageForPolicy=true
# When UsePercentageForPolicy is true, the levels at which UPower will
# consider the battery low, critical, or take action for the critical
# battery level.
#
# This will also be used for batteries which don't have time information
# such as that of peripherals.
#
# If any value is invalid, or not in descending order, the defaults
# will be used.
#
# Defaults:
# PercentageLow=20
# PercentageCritical=5
# PercentageAction=2
PercentageLow=10
PercentageCritical=5
PercentageAction=3
# When UsePercentageForPolicy is false, the time remaining in seconds at
# which UPower will consider the battery low, critical, or take action for
# the critical battery level.
#
# If any value is invalid, or not in descending order, the defaults
# will be used.
#
# Defaults:
# TimeLow=1200
# TimeCritical=300
# TimeAction=120
TimeLow=1200
TimeCritical=300
TimeAction=120
# The action to take when "TimeAction" or "PercentageAction" above has been
# reached for the batteries (UPS or laptop batteries) supplying the computer
#
# Possible values are:
# PowerOff
# Hibernate
# HybridSleep
#
# If HybridSleep isn't available, Hibernate will be used
# If Hibernate isn't available, PowerOff will be used
PercentageLow=10.0
PercentageCritical=5.0
PercentageAction=3.0
CriticalPowerAction=PowerOff
@@ -1,8 +1,8 @@
maintainer="Newbyte <newbyte@disroot.org>"
maintainer="Stefan Hansson <newbyte@postmarketos.org>"
pkgname=soc-samsung-exynos4412
pkgdesc="Common package for Samsung Exynos 4412 devices"
pkgver=3
pkgrel=0
pkgrel=1
url="https://postmarketos.org"
license="BSD-3-Clause"
arch="armv7"
+1 -1
View File
@@ -1,5 +1,5 @@
# Mainline u-boot with Librem 5 support and config
# Co-Maintainer: Newbyte <newbyte@postmarketos.org>
# Co-Maintainer: Stefan Hansson <newbyte@postmarketos.org>
# Contributor: Clayton Craft <clayton@craftyguy.net>
maintainer="Alistair Francis <alistair@alistair23.me>"
pkgname=u-boot-librem5
@@ -1,43 +0,0 @@
diff --git a/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi b/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi
index 1a2e24d3ef..296321d697 100644
--- a/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi
+++ b/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi
@@ -24,6 +24,10 @@
u-boot,dm-pre-reloc;
};
+&rng {
+ status = "okay";
+};
+
&sdhci {
max-frequency = <25000000>;
u-boot,dm-pre-reloc;
diff --git a/arch/arm/dts/rk3399-rockpro64-u-boot.dtsi b/arch/arm/dts/rk3399-rockpro64-u-boot.dtsi
index bac09df4a3..cb8991aa25 100644
--- a/arch/arm/dts/rk3399-rockpro64-u-boot.dtsi
+++ b/arch/arm/dts/rk3399-rockpro64-u-boot.dtsi
@@ -19,6 +19,10 @@
};
};
+&rng {
+ status = "okay";
+};
+
&spi1 {
spi_flash: flash@0 {
u-boot,dm-pre-reloc;
diff --git a/configs/pinebook-pro-rk3399_defconfig b/configs/pinebook-pro-rk3399_defconfig
index 0c129b9aeb..21eecf477c 100644
--- a/configs/pinebook-pro-rk3399_defconfig
+++ b/configs/pinebook-pro-rk3399_defconfig
@@ -54,6 +54,8 @@ CONFIG_DM_PMIC_FAN53555=y
CONFIG_PMIC_RK8XX=y
CONFIG_REGULATOR_PWM=y
CONFIG_REGULATOR_RK8XX=y
+CONFIG_DM_RNG=y
+CONFIG_RNG_ROCKCHIP=y
CONFIG_PWM_ROCKCHIP=y
CONFIG_RAM_RK3399_LPDDR4=y
CONFIG_DM_RESET=y
@@ -0,0 +1,25 @@
From 7f584296b5c198c2a4b6fa80cf33ee52e00eec6a Mon Sep 17 00:00:00 2001
From: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
Date: Tue, 19 May 2026 12:38:40 +0200
Subject: [PATCH 1/8] pinebook-pro: ensure USB keyboards are available
Ensure that USB keyboards are available when the boot menu appears.
---
configs/pinebook-pro-rk3399_defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/configs/pinebook-pro-rk3399_defconfig b/configs/pinebook-pro-rk3399_defconfig
index cbf95b4692f..af09eb18b13 100644
--- a/configs/pinebook-pro-rk3399_defconfig
+++ b/configs/pinebook-pro-rk3399_defconfig
@@ -22,6 +22,7 @@ CONFIG_PCI=y
CONFIG_DEBUG_UART=y
CONFIG_BOOTDELAY=3
CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="usb start"
CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-pinebook-pro.dtb"
CONFIG_DISPLAY_BOARDINFO_LATE=y
CONFIG_SPL_MAX_SIZE=0x40000
--
2.54.0
@@ -0,0 +1,32 @@
From 6f53cd84db63766408953cd5ff7aa7f0b1f8e290 Mon Sep 17 00:00:00 2001
From: Arnaud Patard <arnaud.patard@rtp-net.org>
Date: Fri, 11 Sep 2020 16:26:12 -0400
Subject: [PATCH 2/8] drivers/video/rockchip/rk_edp.c: Change clock rate
The current code is setting the clock rate to 192000000, but
due to the current device-tree configuration and linux code,
it should rather be 100000000.
Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Origin: http://people.hupstream.com/~rtp/pbp/20200911/rk_vop_clk_rate.patch
---
drivers/video/rockchip/rk_edp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/rockchip/rk_edp.c b/drivers/video/rockchip/rk_edp.c
index 0ba68dbce3d..fcac6f0a6bd 100644
--- a/drivers/video/rockchip/rk_edp.c
+++ b/drivers/video/rockchip/rk_edp.c
@@ -1100,7 +1100,7 @@ static int rk_edp_probe(struct udevice *dev)
}
ret = clk_get_by_index(uc_plat->src_dev, 0, &clk);
if (ret >= 0)
- ret = clk_set_rate(&clk, 192000000);
+ ret = clk_set_rate(&clk, 100000000);
if (ret < 0) {
debug("%s: Failed to set clock in source device '%s': ret=%d\n",
__func__, uc_plat->src_dev->name, ret);
--
2.54.0
@@ -1,37 +0,0 @@
diff --git a/configs/pinebook-pro-rk3399_defconfig b/configs/pinebook-pro-rk3399_defconfig
index 21eecf477c..733463556a 100644
--- a/configs/pinebook-pro-rk3399_defconfig
+++ b/configs/pinebook-pro-rk3399_defconfig
@@ -61,6 +61,8 @@ CONFIG_RAM_RK3399_LPDDR4=y
CONFIG_DM_RESET=y
CONFIG_BAUDRATE=1500000
CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="usb start"
CONFIG_ROCKCHIP_SPI=y
CONFIG_SYSRESET=y
CONFIG_USB=y
@@ -68,8 +70,11 @@ CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_DWC3=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_GENERIC=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_GENERIC=y
CONFIG_USB_DWC3=y
CONFIG_ROCKCHIP_USB2_PHY=y
+CONFIG_DM_KEYBOARD=y
CONFIG_USB_KEYBOARD=y
CONFIG_USB_HOST_ETHER=y
CONFIG_USB_ETHER_ASIX=y
diff --git a/include/configs/pinebook-pro-rk3399.h b/include/configs/pinebook-pro-rk3399.h
index 4bc8802d11..d910830582 100644
--- a/include/configs/pinebook-pro-rk3399.h
+++ b/include/configs/pinebook-pro-rk3399.h
@@ -25,4 +25,7 @@
#define SDRAM_BANK_SIZE (2UL << 30)
+#define CONFIG_USB_OHCI_NEW
+#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2
+
#endif
@@ -1,646 +0,0 @@
From 5ae3afa4547eb82b92d93553ff07892eb8ff1665 Mon Sep 17 00:00:00 2001
From: Arnaud Patard <arnaud.patard@rtp-net.org>
Date: Fri, 11 Sep 2020 16:26:11 -0400
Subject: [PATCH 01/11] drivers/video/rockchip/rk_vop.c: Use endpoint
compatible string to find VOP mode
The current code is using an hard coded enum and the of node reg value of
endpoint to find out if the endpoint is mipi/hdmi/lvds/edp/dp. The order
is different between rk3288, rk3399 vop little, rk3399 vop big.
A possible solution would be to make sure that the rk3288.dtsi and
rk3399.dtsi files have "expected" reg value or an other solution is
to find the kind of endpoint by comparing the endpoint compatible value.
This patch is implementing the more flexible second solution.
Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Origin: http://people.hupstream.com/~rtp/pbp/20200911/dts_vop_mode.patch
---
.../include/asm/arch-rockchip/vop_rk3288.h | 15 +----------
drivers/video/rockchip/rk_vop.c | 25 +++++++++++++++++--
2 files changed, 24 insertions(+), 16 deletions(-)
diff --git a/arch/arm/include/asm/arch-rockchip/vop_rk3288.h b/arch/arm/include/asm/arch-rockchip/vop_rk3288.h
index 872a158b71..bf19e05997 100644
--- a/arch/arm/include/asm/arch-rockchip/vop_rk3288.h
+++ b/arch/arm/include/asm/arch-rockchip/vop_rk3288.h
@@ -85,26 +85,13 @@ enum {
LB_RGB_1280X8 = 0x5
};
-#if defined(CONFIG_ROCKCHIP_RK3399)
enum vop_modes {
VOP_MODE_EDP = 0,
VOP_MODE_MIPI,
VOP_MODE_HDMI,
- VOP_MODE_MIPI1,
- VOP_MODE_DP,
- VOP_MODE_NONE,
-};
-#else
-enum vop_modes {
- VOP_MODE_EDP = 0,
- VOP_MODE_HDMI,
VOP_MODE_LVDS,
- VOP_MODE_MIPI,
- VOP_MODE_NONE,
- VOP_MODE_AUTO_DETECT,
- VOP_MODE_UNKNOWN,
+ VOP_MODE_DP,
};
-#endif
/* VOP_VERSION_INFO */
#define M_FPGA_VERSION (0xffff << 16)
diff --git a/drivers/video/rockchip/rk_vop.c b/drivers/video/rockchip/rk_vop.c
index 9032eb430e..6cd4ccc97a 100644
--- a/drivers/video/rockchip/rk_vop.c
+++ b/drivers/video/rockchip/rk_vop.c
@@ -235,12 +235,11 @@ static int rk_display_init(struct udevice *dev, ulong fbbase, ofnode ep_node)
struct clk clk;
enum video_log2_bpp l2bpp;
ofnode remote;
+ const char *compat;
debug("%s(%s, %lu, %s)\n", __func__,
dev_read_name(dev), fbbase, ofnode_get_name(ep_node));
- vop_id = ofnode_read_s32_default(ep_node, "reg", -1);
- debug("vop_id=%d\n", vop_id);
ret = ofnode_read_u32(ep_node, "remote-endpoint", &remote_phandle);
if (ret)
return ret;
@@ -282,6 +281,28 @@ static int rk_display_init(struct udevice *dev, ulong fbbase, ofnode ep_node)
if (disp)
break;
};
+ compat = ofnode_get_property(remote, "compatible", NULL);
+ if (!compat) {
+ debug("%s(%s): Failed to find compatible property\n",
+ __func__, dev_read_name(dev));
+ return -EINVAL;
+ }
+ if (strstr(compat, "edp")) {
+ vop_id = VOP_MODE_EDP;
+ } else if (strstr(compat, "mipi")) {
+ vop_id = VOP_MODE_MIPI;
+ } else if (strstr(compat, "hdmi")) {
+ vop_id = VOP_MODE_HDMI;
+ } else if (strstr(compat, "cdn-dp")) {
+ vop_id = VOP_MODE_DP;
+ } else if (strstr(compat, "lvds")) {
+ vop_id = VOP_MODE_LVDS;
+ } else {
+ debug("%s(%s): Failed to find vop mode for %s\n",
+ __func__, dev_read_name(dev), compat);
+ return -EINVAL;
+ }
+ debug("vop_id=%d\n", vop_id);
disp_uc_plat = dev_get_uclass_platdata(disp);
debug("Found device '%s', disp_uc_priv=%p\n", disp->name, disp_uc_plat);
--
2.25.4
From 382c53d4970c609a9f787422fbcd5f804ee00c3f Mon Sep 17 00:00:00 2001
From: Arnaud Patard <arnaud.patard@rtp-net.org>
Date: Fri, 11 Sep 2020 16:26:11 -0400
Subject: [PATCH 02/11] drivers/video/rockchip/rk_edp.c: Add rk3399 support
According to linux commit "drm/rockchip: analogix_dp: add rk3399 eDP
support" (82872e42bb1501dd9e60ca430f4bae45a469aa64), rk3288 and rk3399
eDP IPs are nearly the same, the difference is in the grf register
(SOC_CON6 versus SOC_CON20). So, change the code to use the right
register on each IP.
The clocks don't seem to be the same, the eDP clock is not at index 1
on rk3399, so don't try changing the clock at index 1 to rate 0 on
rk3399.
Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Origin: http://people.hupstream.com/~rtp/pbp/20200911/rk_edp_rk3399.patch
---
.../include/asm/arch-rockchip/edp_rk3288.h | 5 +-
drivers/video/rockchip/rk_edp.c | 85 ++++++++++++++-----
2 files changed, 68 insertions(+), 22 deletions(-)
diff --git a/arch/arm/include/asm/arch-rockchip/edp_rk3288.h b/arch/arm/include/asm/arch-rockchip/edp_rk3288.h
index 105a335dab..c861f0eab1 100644
--- a/arch/arm/include/asm/arch-rockchip/edp_rk3288.h
+++ b/arch/arm/include/asm/arch-rockchip/edp_rk3288.h
@@ -232,8 +232,9 @@ check_member(rk3288_edp, pll_reg_5, 0xa00);
#define PD_CH0 (0x1 << 0)
/* pll_reg_1 */
-#define REF_CLK_24M (0x1 << 1)
-#define REF_CLK_27M (0x0 << 1)
+#define REF_CLK_24M (0x1 << 0)
+#define REF_CLK_27M (0x0 << 0)
+#define REF_CLK_MASK (0x1 << 0)
/* line_map */
#define LANE3_MAP_LOGIC_LANE_0 (0x0 << 6)
diff --git a/drivers/video/rockchip/rk_edp.c b/drivers/video/rockchip/rk_edp.c
index 000bd48140..1b2f5f706d 100644
--- a/drivers/video/rockchip/rk_edp.c
+++ b/drivers/video/rockchip/rk_edp.c
@@ -17,11 +17,10 @@
#include <asm/gpio.h>
#include <asm/io.h>
#include <asm/arch-rockchip/clock.h>
+#include <asm/arch-rockchip/hardware.h>
#include <asm/arch-rockchip/edp_rk3288.h>
#include <asm/arch-rockchip/grf_rk3288.h>
-#include <asm/arch-rockchip/hardware.h>
-#include <dt-bindings/clock/rk3288-cru.h>
-#include <linux/delay.h>
+#include <asm/arch-rockchip/grf_rk3399.h>
#define MAX_CR_LOOP 5
#define MAX_EQ_LOOP 5
@@ -37,18 +36,42 @@ static const char * const pre_emph_names[] = {
#define DP_VOLTAGE_MAX DP_TRAIN_VOLTAGE_SWING_1200
#define DP_PRE_EMPHASIS_MAX DP_TRAIN_PRE_EMPHASIS_9_5
+#define RK3288_GRF_SOC_CON6 0x025c
+#define RK3288_GRF_SOC_CON12 0x0274
+#define RK3399_GRF_SOC_CON20 0x6250
+#define RK3399_GRF_SOC_CON25 0x6264
+
+enum rockchip_dp_types {
+ RK3288_DP = 0,
+ RK3399_EDP
+};
+
+struct rockchip_dp_data {
+ unsigned long reg_vop_big_little;
+ unsigned long reg_vop_big_little_sel;
+ unsigned long reg_ref_clk_sel;
+ unsigned long ref_clk_sel_bit;
+ enum rockchip_dp_types chip_type;
+};
+
struct rk_edp_priv {
struct rk3288_edp *regs;
- struct rk3288_grf *grf;
+ void *grf;
struct udevice *panel;
struct link_train link_train;
u8 train_set[4];
};
-static void rk_edp_init_refclk(struct rk3288_edp *regs)
+static void rk_edp_init_refclk(struct rk3288_edp *regs, enum rockchip_dp_types chip_type)
{
writel(SEL_24M, &regs->analog_ctl_2);
- writel(REF_CLK_24M, &regs->pll_reg_1);
+ u32 reg;
+
+ reg = REF_CLK_24M;
+ if (chip_type == RK3288_DP)
+ reg ^= REF_CLK_MASK;
+ writel(reg, &regs->pll_reg_1);
+
writel(LDO_OUTPUT_V_SEL_145 | KVCO_DEFALUT | CHG_PUMP_CUR_SEL_5US |
V2L_CUR_SEL_1MA, &regs->pll_reg_2);
@@ -1023,6 +1046,8 @@ static int rk_edp_probe(struct udevice *dev)
struct display_plat *uc_plat = dev_get_uclass_platdata(dev);
struct rk_edp_priv *priv = dev_get_priv(dev);
struct rk3288_edp *regs = priv->regs;
+ struct rockchip_dp_data *edp_data = (struct rockchip_dp_data *)dev_get_driver_data(dev);
+
struct clk clk;
int ret;
@@ -1037,16 +1062,17 @@ static int rk_edp_probe(struct udevice *dev)
int vop_id = uc_plat->source_id;
debug("%s, uc_plat=%p, vop_id=%u\n", __func__, uc_plat, vop_id);
- ret = clk_get_by_index(dev, 1, &clk);
- if (ret >= 0) {
- ret = clk_set_rate(&clk, 0);
- clk_free(&clk);
- }
- if (ret) {
- debug("%s: Failed to set EDP clock: ret=%d\n", __func__, ret);
- return ret;
+ if (edp_data->chip_type == RK3288_DP) {
+ ret = clk_get_by_index(dev, 1, &clk);
+ if (ret >= 0) {
+ ret = clk_set_rate(&clk, 0);
+ clk_free(&clk);
+ }
+ if (ret) {
+ debug("%s: Failed to set EDP clock: ret=%d\n", __func__, ret);
+ return ret;
+ }
}
-
ret = clk_get_by_index(uc_plat->src_dev, 0, &clk);
if (ret >= 0) {
ret = clk_set_rate(&clk, 192000000);
@@ -1059,15 +1085,17 @@ static int rk_edp_probe(struct udevice *dev)
}
/* grf_edp_ref_clk_sel: from internal 24MHz or 27MHz clock */
- rk_setreg(&priv->grf->soc_con12, 1 << 4);
+ rk_setreg(priv->grf + edp_data->reg_ref_clk_sel,
+ edp_data->ref_clk_sel_bit);
/* select epd signal from vop0 or vop1 */
- rk_clrsetreg(&priv->grf->soc_con6, (1 << 5),
- (vop_id == 1) ? (1 << 5) : (0 << 5));
+ rk_clrsetreg(priv->grf + edp_data->reg_vop_big_little,
+ edp_data->reg_vop_big_little_sel,
+ (vop_id == 1) ? edp_data->reg_vop_big_little_sel : 0);
rockchip_edp_wait_hpd(priv);
- rk_edp_init_refclk(regs);
+ rk_edp_init_refclk(regs, edp_data->chip_type);
rk_edp_init_interrupt(regs);
rk_edp_enable_sw_function(regs);
ret = rk_edp_init_analog_func(regs);
@@ -1083,8 +1111,25 @@ static const struct dm_display_ops dp_rockchip_ops = {
.enable = rk_edp_enable,
};
+static const struct rockchip_dp_data rk3399_edp = {
+ .reg_vop_big_little = RK3399_GRF_SOC_CON20,
+ .reg_vop_big_little_sel = BIT(5),
+ .reg_ref_clk_sel = RK3399_GRF_SOC_CON25,
+ .ref_clk_sel_bit = BIT(11),
+ .chip_type = RK3399_EDP,
+};
+
+static const struct rockchip_dp_data rk3288_dp = {
+ .reg_vop_big_little = RK3288_GRF_SOC_CON6,
+ .reg_vop_big_little_sel = BIT(5),
+ .reg_ref_clk_sel = RK3288_GRF_SOC_CON12,
+ .ref_clk_sel_bit = BIT(4),
+ .chip_type = RK3288_DP,
+};
+
static const struct udevice_id rockchip_dp_ids[] = {
- { .compatible = "rockchip,rk3288-edp" },
+ { .compatible = "rockchip,rk3288-edp", .data = (ulong)&rk3288_dp },
+ { .compatible = "rockchip,rk3399-edp", .data = (ulong)&rk3399_edp },
{ }
};
--
2.25.4
From b5776e11f8e7c79ff61bc2b93be9b6253db939f1 Mon Sep 17 00:00:00 2001
From: Arnaud Patard <arnaud.patard@rtp-net.org>
Date: Fri, 11 Sep 2020 16:26:12 -0400
Subject: [PATCH 03/11] drivers/video/rockchip/rk_edp.c: Change interrupt
polarity configuration
The linux code is setting polarity configuration to 3 but
uboot code is setting it to 1. Change the configuration to match the
linux configuration
Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Origin: http://people.hupstream.com/~rtp/pbp/20200911/rk_edp_vs_linux.patch
---
drivers/video/rockchip/rk_edp.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/video/rockchip/rk_edp.c b/drivers/video/rockchip/rk_edp.c
index 1b2f5f706d..13fa78aced 100644
--- a/drivers/video/rockchip/rk_edp.c
+++ b/drivers/video/rockchip/rk_edp.c
@@ -100,10 +100,13 @@ static void rk_edp_init_refclk(struct rk3288_edp *regs, enum rockchip_dp_types c
&regs->dp_reserv2);
}
+#define INT_POL1 (0x1 << 1)
+#define INT_POL0 (0x1 << 0)
+
static void rk_edp_init_interrupt(struct rk3288_edp *regs)
{
/* Set interrupt pin assertion polarity as high */
- writel(INT_POL, &regs->int_ctl);
+ writel(INT_POL0 | INT_POL1, &regs->int_ctl);
/* Clear pending registers */
writel(0xff, &regs->common_int_sta_1);
--
2.25.4
From c1f23be1f6e1aa94e6b22e0a403ec061ca311f42 Mon Sep 17 00:00:00 2001
From: Arnaud Patard <arnaud.patard@rtp-net.org>
Date: Fri, 11 Sep 2020 16:26:12 -0400
Subject: [PATCH 04/11] drivers/video/rockchip/rk_edp.c: Change clock rate
The current code is setting the clock rate to 192000000, but
due to the current device-tree configuration and linux code,
it should rather be 100000000.
Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Origin: http://people.hupstream.com/~rtp/pbp/20200911/rk_vop_clk_rate.patch
---
drivers/video/rockchip/rk_edp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/rockchip/rk_edp.c b/drivers/video/rockchip/rk_edp.c
index 13fa78aced..c2dc79faac 100644
--- a/drivers/video/rockchip/rk_edp.c
+++ b/drivers/video/rockchip/rk_edp.c
@@ -1078,7 +1078,7 @@ static int rk_edp_probe(struct udevice *dev)
}
ret = clk_get_by_index(uc_plat->src_dev, 0, &clk);
if (ret >= 0) {
- ret = clk_set_rate(&clk, 192000000);
+ ret = clk_set_rate(&clk, 100000000);
clk_free(&clk);
}
if (ret < 0) {
--
2.25.4
From 8ecab272ff922477da225f1856cb4bc492d41fb2 Mon Sep 17 00:00:00 2001
From: Arnaud Patard <arnaud.patard@rtp-net.org>
Date: Fri, 11 Sep 2020 16:26:12 -0400
Subject: [PATCH 05/11] drivers/video/rockchip/rk_vop.c: Reserve efi fb memory
When booting with EFI and graphics, the memory used for framebuffer
has to be reserved, otherwise it may leads to kernel memory
overwrite.
Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Origin: http://people.hupstream.com/~rtp/pbp/20200911/rk_vop_reserve_fb_memory.patch
---
drivers/video/rockchip/rk_vop.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/video/rockchip/rk_vop.c b/drivers/video/rockchip/rk_vop.c
index 6cd4ccc97a..98d33a3cec 100644
--- a/drivers/video/rockchip/rk_vop.c
+++ b/drivers/video/rockchip/rk_vop.c
@@ -20,6 +20,8 @@
#include <asm/arch-rockchip/vop_rk3288.h>
#include <dm/device-internal.h>
#include <dm/uclass-internal.h>
+#include <efi.h>
+#include <efi_loader.h>
#include <linux/bitops.h>
#include <linux/err.h>
#include <power/regulator.h>
@@ -394,6 +396,13 @@ int rk_vop_probe(struct udevice *dev)
if (!(gd->flags & GD_FLG_RELOC))
return 0;
+ plat->base = gd->bd->bi_dram[0].start + gd->bd->bi_dram[0].size - plat->size;
+
+#if defined(CONFIG_EFI_LOADER)
+ debug("Adding to EFI map %d @ %lx\n", plat->size, plat->base);
+ efi_add_memory_map(plat->base, plat->size, EFI_RESERVED_MEMORY_TYPE);
+#endif
+
priv->regs = (struct rk3288_vop *)dev_read_addr(dev);
/*
--
2.25.4
From 68098155f59cf102add0817d65a3570513500092 Mon Sep 17 00:00:00 2001
From: Arnaud Patard <arnaud.patard@rtp-net.org>
Date: Fri, 11 Sep 2020 16:26:12 -0400
Subject: [PATCH 06/11] rk3399-pinebook-pro-u-boot.dtsi: Enable edp
- uboot rockchip edp code is looking for a rockchip,panel property
for the edp dts node, so add it.
Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Origin: http://people.hupstream.com/~rtp/pbp/20200911/update_pinebook_pro_uboot_dtsi.patch
---
arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi b/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi
index 1a2e24d3ef..f0b58909a4 100644
--- a/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi
+++ b/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi
@@ -41,3 +41,7 @@
&vdd_log {
regulator-init-microvolt = <950000>;
};
+
+&edp {
+ rockchip,panel = <&edp_panel>;
+};
--
2.25.4
From cc514ca0d224b80713b0a653094f498c520bd1b3 Mon Sep 17 00:00:00 2001
From: Arnaud Patard <arnaud.patard@rtp-net.org>
Date: Fri, 11 Sep 2020 16:26:13 -0400
Subject: [PATCH 07/11] configs/pinebook-pro-rk3399_defconfig: enable
SYS_USB_EVENT_POLL_VIA_INT_QUEUE
The default configuration will use SYS_USB_EVENT_POLL for handling the
usb keyboard and it makes the system really slow (eg slow keypress,
loading kernel/initrd from grub-efi is taking ages).
Using CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE seems to be improving
things a lot, so use it.
Tested-by: Samuel Dionne-Riel <samuel@dionne-riel.com>
Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Origin: http://people.hupstream.com/~rtp/pbp/20200911/pbp_defconfig_usb_poll.patch
---
configs/pinebook-pro-rk3399_defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/configs/pinebook-pro-rk3399_defconfig b/configs/pinebook-pro-rk3399_defconfig
index 0c129b9aeb..fa53bef6b9 100644
--- a/configs/pinebook-pro-rk3399_defconfig
+++ b/configs/pinebook-pro-rk3399_defconfig
@@ -69,6 +69,7 @@ CONFIG_USB_EHCI_GENERIC=y
CONFIG_USB_DWC3=y
CONFIG_ROCKCHIP_USB2_PHY=y
CONFIG_USB_KEYBOARD=y
+CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y
CONFIG_USB_HOST_ETHER=y
CONFIG_USB_ETHER_ASIX=y
CONFIG_USB_ETHER_RTL8152=y
--
2.25.4
From f3cae111f1daf8ef6a085cc435d37f741141675a Mon Sep 17 00:00:00 2001
From: Arnaud Patard <arnaud.patard@rtp-net.org>
Date: Fri, 11 Sep 2020 16:26:13 -0400
Subject: [PATCH 08/11] drivers/pwm/rk_pwm.c: Fix default polarity
In the code, the default polarity is set to positive/positive,
which is neither normal polarity or inverted polarity. It's
only the hardware default. This leads to booting linux with
wrong polarity setting.
Update the code to use PWM_DUTY_POSTIVE | PWM_INACTIVE_NEGATIVE
by default instead.
Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Origin: http://people.hupstream.com/~rtp/pbp/20200911/pwm-fix-default-polarity.patch
---
drivers/pwm/rk_pwm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pwm/rk_pwm.c b/drivers/pwm/rk_pwm.c
index 911da1d426..c743feb920 100644
--- a/drivers/pwm/rk_pwm.c
+++ b/drivers/pwm/rk_pwm.c
@@ -146,7 +146,7 @@ static int rk_pwm_probe(struct udevice *dev)
priv->data = (struct rockchip_pwm_data *)dev_get_driver_data(dev);
if (priv->data->supports_polarity)
- priv->conf_polarity = PWM_DUTY_POSTIVE | PWM_INACTIVE_POSTIVE;
+ priv->conf_polarity = PWM_DUTY_POSTIVE | PWM_INACTIVE_NEGATIVE;
return 0;
}
--
2.25.4
From 60046c90d749e29348ee140583b0646e63c838be Mon Sep 17 00:00:00 2001
From: Arnaud Patard <arnaud.patard@rtp-net.org>
Date: Fri, 11 Sep 2020 16:26:13 -0400
Subject: [PATCH 09/11] [HACK NOTFORMERGE] PBP: Fix panel reset
On warm reset, the pinebook pro panel is not working correctly.
The issue is not yet debugged so, for now, this hack seems to be
enough. It toggles the GPIO1_C6 gpio [ LCDVCC_EN signal in the
schematics ] used by the vcc3v3_panel regulator.
There's no gpio_request, since the gpio is already in use at this
stage, so it can only fail.
Origin: http://people.hupstream.com/~rtp/pbp/20200911/hack-reset.patch
---
board/pine64/pinebook-pro-rk3399/pinebook-pro-rk3399.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/board/pine64/pinebook-pro-rk3399/pinebook-pro-rk3399.c b/board/pine64/pinebook-pro-rk3399/pinebook-pro-rk3399.c
index 516292aaa5..6b8376d6cd 100644
--- a/board/pine64/pinebook-pro-rk3399/pinebook-pro-rk3399.c
+++ b/board/pine64/pinebook-pro-rk3399/pinebook-pro-rk3399.c
@@ -7,9 +7,12 @@
#include <common.h>
#include <dm.h>
#include <syscon.h>
+#include <linux/delay.h>
+#include <asm/gpio.h>
#include <asm/io.h>
#include <asm/arch-rockchip/clock.h>
#include <asm/arch-rockchip/grf_rk3399.h>
+#include <asm/arch-rockchip/gpio.h>
#include <asm/arch-rockchip/hardware.h>
#include <asm/arch-rockchip/misc.h>
#include <power/regulator.h>
@@ -59,6 +62,7 @@ int misc_init_r(void)
const u32 cpuid_length = 0x10;
u8 cpuid[cpuid_length];
int ret;
+ unsigned int gpio;
setup_iodomain();
@@ -70,6 +74,11 @@ int misc_init_r(void)
if (ret)
return ret;
+ gpio_lookup_name("B22", NULL, NULL, &gpio);
+ gpio_direction_output(gpio, 0);
+ mdelay(500);
+ gpio_direction_output(gpio, 1);
+
return ret;
}
#endif
--
2.25.4
From 5e8bdb80f959e8fab2821191ec7f2868871a9798 Mon Sep 17 00:00:00 2001
From: Arnaud Patard <arnaud.patard@rtp-net.org>
Date: Fri, 11 Sep 2020 16:26:13 -0400
Subject: [PATCH 10/11] SPL malloc() before relocation used 0x22d0 bytes (8 KB)
>>TPL: board_init_r() spl_init Trying to boot from BOOTROM Returning to boot
ROM... spl_early_init pmic@1b: ret=-6 i2c@ff3c0000: ret=-6 dm_scan_fdt()
failed: -6 dm_extended_scan_dt() failed: -6 dm_init_and_scan() returned error
-6 spl_early_init() failed: -6 ### ERROR ### Please RESET the board ###
Origin: http://people.hupstream.com/~rtp/pbp/20200911/pmic-dm-reloc.patch
---
arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi b/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi
index f0b58909a4..0f8879c4ca 100644
--- a/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi
+++ b/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi
@@ -20,9 +20,9 @@
u-boot,dm-pre-reloc;
};
-&rk808 {
+/*&rk808 {
u-boot,dm-pre-reloc;
-};
+};*/
&sdhci {
max-frequency = <25000000>;
--
2.25.4
From 771c6108e693223e82d2672a18a81d8468c2d0f4 Mon Sep 17 00:00:00 2001
From: Arnaud Patard <arnaud.patard@rtp-net.org>
Date: Fri, 11 Sep 2020 16:26:14 -0400
Subject: [PATCH 11/11] (patch file disable_cdp_dp.patch)
Origin: http://people.hupstream.com/~rtp/pbp/20200911/disable_cdp_dp.patch
---
arch/arm/dts/rk3399-pinebook-pro.dts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/dts/rk3399-pinebook-pro.dts b/arch/arm/dts/rk3399-pinebook-pro.dts
index 294d21bf45..4e2dd14084 100644
--- a/arch/arm/dts/rk3399-pinebook-pro.dts
+++ b/arch/arm/dts/rk3399-pinebook-pro.dts
@@ -372,9 +372,9 @@
};
};
-&cdn_dp {
+/*&cdn_dp {
status = "okay";
-};
+};*/
&cpu_b0 {
cpu-supply = <&vdd_cpu_b>;
--
2.25.4
@@ -0,0 +1,35 @@
From 1b9016041a69a8aa5e8502c9f867c8d3ee5b67fe Mon Sep 17 00:00:00 2001
From: Samuel Dionne-Riel <samuel@dionne-riel.com>
Date: Tue, 7 Jul 2020 05:04:53 -0400
Subject: [PATCH 3/8] vidconsole-uclass: Implement ANSI_CURSOR_COLUMN
---
drivers/video/vidconsole-uclass.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c
index f1b2d61bd8f..f277328675e 100644
--- a/drivers/video/vidconsole-uclass.c
+++ b/drivers/video/vidconsole-uclass.c
@@ -264,6 +264,18 @@ static void vidconsole_escape_char(struct udevice *dev, char ch)
set_cursor_position(dev, row, col);
break;
}
+ case 'G': {
+ int row, col;
+ get_cursor_position(priv, &row, &col);
+ char *s = priv->escape_buf;
+ s++; /* [ */
+ s = parsenum(s, &col);
+ col = col-1;
+ if (col < 0)
+ col = 0;
+ set_cursor_position(dev, row, col);
+ break;
+ }
case 'H':
case 'f': {
int row, col;
--
2.54.0
@@ -0,0 +1,54 @@
From 264ef8ba822ed2e28eb5c5c7fc95e92171e85194 Mon Sep 17 00:00:00 2001
From: Samuel Dionne-Riel <samuel@dionne-riel.com>
Date: Wed, 8 Jul 2020 01:26:55 -0400
Subject: [PATCH 4/8] Configure boot splash logo
This assumes LOGO_BMP is set by the derivation as a make flag.
Co-Authored-By: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
---
configs/pinebook-pro-rk3399_defconfig | 6 ++++++
include/configs/pinebook-pro-rk3399.h | 8 +++++++-
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/configs/pinebook-pro-rk3399_defconfig b/configs/pinebook-pro-rk3399_defconfig
index af09eb18b13..ebc03751237 100644
--- a/configs/pinebook-pro-rk3399_defconfig
+++ b/configs/pinebook-pro-rk3399_defconfig
@@ -101,3 +101,9 @@ CONFIG_DISPLAY=y
CONFIG_VIDEO_ROCKCHIP=y
CONFIG_DISPLAY_ROCKCHIP_EDP=y
CONFIG_ERRNO_STR=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
+CONFIG_CMD_BMP=y
+CONFIG_VIDEO_BMP_RLE8=y
+CONFIG_VIDEO_LOGO=y
+CONFIG_VIDEO_LOGO_MAX_SIZE=0x7E8480
diff --git a/include/configs/pinebook-pro-rk3399.h b/include/configs/pinebook-pro-rk3399.h
index 141ffcd036b..e737a075105 100644
--- a/include/configs/pinebook-pro-rk3399.h
+++ b/include/configs/pinebook-pro-rk3399.h
@@ -7,11 +7,17 @@
#ifndef __PINEBOOK_PRO_RK3399_H
#define __PINEBOOK_PRO_RK3399_H
+#define SPLASH_ENV \
+ "splashimage=0x08080000\0" \
+ "splashpos=m,m\0" \
+ "splashsource=mmc_fs\0"
+
#define ROCKCHIP_DEVICE_SETTINGS \
+ SPLASH_ENV \
"stdin=serial,usbkbd\0" \
"stdout=serial,vidconsole\0" \
"stderr=serial,vidconsole\0"
#include <configs/rk3399_common.h>
-#endif
+#endif
\ No newline at end of file
--
2.54.0
@@ -1,54 +0,0 @@
From 61eb4a33dfbffbf19ab5aca62533d20b0e4cba43 Mon Sep 17 00:00:00 2001
From: dhivael <dhivael.git@eno.space>
Date: Sat, 11 Jan 2020 15:04:46 +0100
Subject: [PATCH] rk3399: light pinebook power and standby leds during early
boot
this is a hack, but it works for now.
Origin: https://git.eno.space/pbp-uboot.git/commit/?id=1a01021c9361c4e017cb5b032300f5555c393710
---
arch/arm/mach-rockchip/rk3399/rk3399.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-rockchip/rk3399/rk3399.c b/arch/arm/mach-rockchip/rk3399/rk3399.c
index 4fda93b1527..952ac881711 100644
--- a/arch/arm/mach-rockchip/rk3399/rk3399.c
+++ b/arch/arm/mach-rockchip/rk3399/rk3399.c
@@ -19,6 +19,8 @@
#include <asm/arch-rockchip/hardware.h>
#include <linux/bitops.h>
#include <power/regulator.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pinctrl/rockchip.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -119,8 +121,8 @@ void board_debug_uart_init(void)
struct rk3399_grf_regs * const grf = (void *)GRF_BASE;
#ifdef CONFIG_TARGET_CHROMEBOOK_BOB
struct rk3399_pmugrf_regs * const pmugrf = (void *)PMUGRF_BASE;
- struct rockchip_gpio_regs * const gpio = (void *)GPIO0_BASE;
#endif
+ struct rockchip_gpio_regs * const gpio = (void *)GPIO0_BASE;
#if defined(CONFIG_DEBUG_UART_BASE) && (CONFIG_DEBUG_UART_BASE == 0xff180000)
/* Enable early UART0 on the RK3399 */
@@ -153,6 +155,14 @@ void board_debug_uart_init(void)
spl_gpio_set_pull(&pmugrf->gpio0_p, GPIO(BANK_B, 4), GPIO_PULL_NORMAL);
#endif /* CONFIG_TARGET_CHROMEBOOK_BOB */
+ {
+ // set GPIO0_A2/B3 to GPIO_ACTIVE_HIGH
+ // set GPIO0_A2/B3 to OUTPUT
+ int mask = (1UL << RK_PA2)/* | (1UL << RK_PB3) green LED */;
+ setbits_le32(&gpio->swport_dr, mask);
+ setbits_le32(&gpio->swport_ddr, mask);
+ }
+
/* Enable early UART2 channel C on the RK3399 */
rk_clrsetreg(&grf->gpio4c_iomux,
GRF_GPIO4C3_SEL_MASK,
--
2.25.4
@@ -0,0 +1,63 @@
From 8d80a591d67e75c0ec10320fdc127ab40e72dc8a Mon Sep 17 00:00:00 2001
From: Samuel Dionne-Riel <samuel@dionne-riel.com>
Date: Thu, 9 Jul 2020 02:50:29 -0400
Subject: [PATCH 5/8] cli: Clear ctrl+c before running a command
This fixes an issue where:
With an environment like so:
bootmenu_0=Default U-Boot boot=run distro_bootcmd; $menucmd -1
* Running bootmenu
* Running the option
* Cancelling using CTRL-C
Would show the menu as expected, but running *any* command
post-cancellation would spuriously exit in unexplainable ways.
---
common/cli.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/common/cli.c b/common/cli.c
index 4694a35cd0e..75b0a2c0a40 100644
--- a/common/cli.c
+++ b/common/cli.c
@@ -57,6 +57,9 @@ int run_command(const char *cmd, int flag)
if (flag & CMD_FLAG_ENV)
hush_flags |= FLAG_CONT_ON_NEWLINE;
+
+ clear_ctrlc(); /* forget any previous Control C */
+
return parse_string_outer(cmd, hush_flags);
}
/*
@@ -93,6 +96,8 @@ int run_command_repeatable(const char *cmd, int flag)
int ret;
if (use_hush_old()) {
+ clear_ctrlc(); /* forget any previous Control C */
+
ret = parse_string_outer(cmd,
FLAG_PARSE_SEMICOLON
| FLAG_EXIT_FROM_LOOP);
@@ -146,6 +151,8 @@ int run_command_list(const char *cmd, int len, int flag)
}
#ifdef CONFIG_HUSH_PARSER
if (use_hush_old()) {
+ clear_ctrlc(); /* forget any previous Control C */
+
rcode = parse_string_outer(buff, FLAG_PARSE_SEMICOLON);
} else {
rcode = parse_string_outer_modern(buff, FLAG_PARSE_SEMICOLON);
@@ -339,4 +346,4 @@ void cli_init(void)
if (CONFIG_IS_ENABLED(VIDEO_ANSI))
printf(ANSI_CURSOR_SHOW "\n");
-}
+}
\ No newline at end of file
--
2.54.0
@@ -1,53 +0,0 @@
From f091aa06bfd4f7f9066dabe7a7caf268cd9c6683 Mon Sep 17 00:00:00 2001
From: dhivael <dhivael.git@eno.space>
Date: Thu, 6 Feb 2020 22:34:34 +0100
Subject: [PATCH] support SPI flash boot
SPI uboot images can be built with
tools/mkimage -n rk3399 -T rkspi -d tpl/u-boot-tpl-dtb.bin:spl/u-boot-spl-dtb.bin spl.bin
cat <(dd if=spl.bin bs=512K conv=sync) u-boot.itb >spiflash.bin
and written to spi flash with uboot sf commands, any hardware flasher
available, rkdeveloptool, or possibly other methods.
Origin: https://git.eno.space/pbp-uboot.git/commit/?id=3d3dbebfe8726cf2ae51ed44dc49bbc497d62ac5
---
arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi | 2 +-
configs/pinebook-pro-rk3399_defconfig | 10 ++++++++++
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi b/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi
index f3d85e1dba1..a40b71fa204 100644
--- a/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi
+++ b/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi
@@ -12,7 +12,7 @@
};
chosen {
- u-boot,spl-boot-order = "same-as-spl", &sdhci, &sdmmc;
+ u-boot,spl-boot-order = "same-as-spl", &spiflash, &sdhci, &sdmmc;
};
};
diff --git a/configs/pinebook-pro-rk3399_defconfig b/configs/pinebook-pro-rk3399_defconfig
index 733463556a2..dbbd43ed9f3 100644
--- a/configs/pinebook-pro-rk3399_defconfig
+++ b/configs/pinebook-pro-rk3399_defconfig
@@ -85,3 +85,13 @@ CONFIG_VIDEO_ROCKCHIP=y
CONFIG_DISPLAY_ROCKCHIP_EDP=y
CONFIG_SPL_TINY_MEMSET=y
CONFIG_ERRNO_STR=y
+
+# SPI boot Support
+CONFIG_MTD=y
+CONFIG_DM_MTD=y
+CONFIG_SPI_FLASH_SFDP_SUPPORT=y
+CONFIG_SPL_DM_SPI=y
+CONFIG_SPL_SPI_FLASH_TINY=n
+CONFIG_SPL_SPI_FLASH_SFDP_SUPPORT=y
+CONFIG_SPL_SPI_LOAD=y
+CONFIG_SYS_SPI_U_BOOT_OFFS=0x80000
--
2.25.4
@@ -1,640 +0,0 @@
From 375503f9a98878297ee05ba12c3be14afa795812 Mon Sep 17 00:00:00 2001
From: Da Xue <da@libre.computer>
Date: Fri, 8 May 2020 16:35:27 -0400
Subject: [PATCH] splash: fix CONFIG_SPLASH_SOURCE and enable backup logo load
Origin: https://github.com/libre-computer-project/libretech-u-boot/commit/8ddf2cded4efad8b5596b0b15a507aa3fb00f6d0
---
common/splash.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/common/splash.c b/common/splash.c
index 2b9313e03f1..cca81bff8ed 100644
--- a/common/splash.c
+++ b/common/splash.c
@@ -82,11 +82,12 @@ static inline int splash_video_logo_load(void) { return -ENOSYS; }
__weak int splash_screen_prepare(void)
{
- if (CONFIG_IS_ENABLED(SPLASH_SOURCE))
- return splash_source_load(default_splash_locations,
- ARRAY_SIZE(default_splash_locations));
-
- return splash_video_logo_load();
+ return
+#ifdef CONFIG_SPLASH_SOURCE
+ splash_source_load(default_splash_locations,
+ ARRAY_SIZE(default_splash_locations)) &&
+#endif
+ splash_video_logo_load();
}
#ifdef CONFIG_SPLASH_SCREEN_ALIGN
--
2.25.4
From 02328c238f24591e135bd7bae7ac5ca3f8bb59fa Mon Sep 17 00:00:00 2001
From: Da Xue <da@libre.computer>
Date: Tue, 7 Jul 2020 04:47:48 -0400
Subject: [PATCH] hack: bmp: compressed logo
Origin: https://github.com/libre-computer-project/libretech-u-boot/commit/9f849b044b60cf9a05618ef7da13db3961120304
---
tools/Makefile | 6 +++++-
tools/bmp_logo.c | 29 +++++++++++++++++++++++++----
2 files changed, 30 insertions(+), 5 deletions(-)
diff --git a/tools/Makefile b/tools/Makefile
index 879c3fd4a74..199378d8cea 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -256,7 +256,6 @@ ifneq ($(wildcard $(srctree)/$(src)/logos/$(VENDOR).bmp),)
LOGO_BMP= $(srctree)/$(src)/logos/$(VENDOR).bmp
endif
endif
-
endif # !LOGO_BMP
#
@@ -279,8 +278,13 @@ $(LOGO_H): $(obj)/bmp_logo $(LOGO_BMP)
$(obj)/bmp_logo --gen-info $(LOGO_BMP) > $@
ifeq ($(CONFIG_DM_VIDEO),y)
+ifneq ($(wildcard $(LOGO_BMP).gz),)
+$(LOGO_DATA_H): $(obj)/bmp_logo $(LOGO_BMP)
+ $(obj)/bmp_logo --gen-bmp-gz $(LOGO_BMP) $(LOGO_BMP).gz > $@
+else
$(LOGO_DATA_H): $(obj)/bmp_logo $(LOGO_BMP)
$(obj)/bmp_logo --gen-bmp $(LOGO_BMP) > $@
+endif
else
$(LOGO_DATA_H): $(obj)/bmp_logo $(LOGO_BMP)
$(obj)/bmp_logo --gen-data $(LOGO_BMP) > $@
diff --git a/tools/bmp_logo.c b/tools/bmp_logo.c
index 74fcadca63e..d8727c227fd 100644
--- a/tools/bmp_logo.c
+++ b/tools/bmp_logo.c
@@ -3,7 +3,8 @@
enum {
MODE_GEN_INFO,
MODE_GEN_DATA,
- MODE_GEN_BMP
+ MODE_GEN_BMP,
+ MODE_GEN_BMP_GZ
};
typedef struct bitmap_s { /* bitmap description */
@@ -17,7 +18,7 @@ typedef struct bitmap_s { /* bitmap description */
void usage(const char *prog)
{
- fprintf(stderr, "Usage: %s [--gen-info|--gen-data|--gen-bmp] file\n",
+ fprintf(stderr, "Usage: %s [--gen-info|--gen-data|--gen-bmp|--gen-bmp-gz] file\n",
prog);
}
@@ -76,7 +77,7 @@ int main (int argc, char *argv[])
{
int mode, i, x;
int size;
- FILE *fp;
+ FILE *fp, *gzfp;
bitmap_t bmp;
bitmap_t *b = &bmp;
uint16_t data_offset, n_colors, hdr_size;
@@ -92,6 +93,8 @@ int main (int argc, char *argv[])
mode = MODE_GEN_DATA;
else if (!strcmp(argv[1], "--gen-bmp"))
mode = MODE_GEN_BMP;
+ else if (!strcmp(argv[1], "--gen-bmp-gz"))
+ mode = MODE_GEN_BMP_GZ;
else {
usage(argv[0]);
exit(EXIT_FAILURE);
@@ -102,9 +105,17 @@ int main (int argc, char *argv[])
perror(argv[2]);
exit (EXIT_FAILURE);
}
-
+
if (fgetc (fp) != 'B' || fgetc (fp) != 'M')
error ("Input file is not a bitmap", fp);
+
+ if (mode == MODE_GEN_BMP_GZ){
+ gzfp = fopen(argv[3], "rb");
+ if (!gzfp) {
+ perror(argv[3]);
+ exit (EXIT_FAILURE);
+ }
+ }
/*
* read width and height of the image, and the number of colors used;
@@ -182,6 +193,11 @@ int main (int argc, char *argv[])
fseek(fp, 0L, SEEK_END);
size = ftell(fp);
fseek(fp, 0L, SEEK_SET);
+ } else if (mode == MODE_GEN_BMP_GZ) {
+ /* copy full bmp file */
+ fseek(gzfp, 0L, SEEK_END);
+ size = ftell(gzfp);
+ fseek(gzfp, 0L, SEEK_SET);
} else {
fseek(fp, (long)data_offset, SEEK_SET);
}
@@ -200,6 +216,10 @@ int main (int argc, char *argv[])
/* write full bmp */
for (i = 0; i < size; i++)
b->data[i] = (uint8_t)fgetc(fp);
+ } else if (mode == MODE_GEN_BMP_GZ) {
+ /* write full bmp */
+ for (i = 0; i < size; i++)
+ b->data[i] = (uint8_t)fgetc(gzfp);
} else {
for (i = (b->height - 1) * b->width; i >= 0; i -= b->width) {
for (x = 0; x < b->width; x++) {
@@ -224,5 +244,6 @@ int main (int argc, char *argv[])
out:
fclose(fp);
+ if (mode == MODE_GEN_BMP_GZ) fclose(gzfp);
return 0;
}
--
2.25.4
From 1cc7a56f46f8b8195ece2d8f647cfed45505a457 Mon Sep 17 00:00:00 2001
From: Samuel Dionne-Riel <samuel@dionne-riel.com>
Date: Tue, 7 Jul 2020 00:59:45 -0400
Subject: [PATCH] bootmenu: Replace reverse for truetype console
The truetype console doesn't support many ANSI escape sequences, among
those the reverse sequence is *broken*. It reverses the text, but does
not change the background color.
This, instead, uses characters to show which option is currently active.
---
cmd/bootmenu.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/cmd/bootmenu.c b/cmd/bootmenu.c
index 18efe25751f..7b7db74c8e2 100644
--- a/cmd/bootmenu.c
+++ b/cmd/bootmenu.c
@@ -61,23 +61,24 @@ static char *bootmenu_getoption(unsigned short int n)
static void bootmenu_print_entry(void *data)
{
struct bootmenu_entry *entry = data;
- int reverse = (entry->menu->active == entry->num);
+ int active = (entry->menu->active == entry->num);
/*
* Move cursor to line where the entry will be drown (entry->num)
* First 3 lines contain bootmenu header + 1 empty line
*/
printf(ANSI_CURSOR_POSITION, entry->num + 4, 1);
+ puts(ANSI_CLEAR_LINE);
- puts(" ");
-
- if (reverse)
- puts(ANSI_COLOR_REVERSE);
+ if (active)
+ puts(" => [");
+ else
+ puts(" ");
puts(entry->title);
- if (reverse)
- puts(ANSI_COLOR_RESET);
+ if (active)
+ puts("]");
}
static void bootmenu_autoboot_loop(struct bootmenu_data *menu,
--
2.25.4
From c904267ca621815876eba5c21b967306a30c4cce Mon Sep 17 00:00:00 2001
From: Samuel Dionne-Riel <samuel@dionne-riel.com>
Date: Tue, 7 Jul 2020 05:04:53 -0400
Subject: [PATCH] vidconsole-uclass: Implement ANSI_CURSOR_COLUMN
---
drivers/video/vidconsole-uclass.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c
index 9b761547212..3e8895017a1 100644
--- a/drivers/video/vidconsole-uclass.c
+++ b/drivers/video/vidconsole-uclass.c
@@ -306,6 +306,18 @@ static void vidconsole_escape_char(struct udevice *dev, char ch)
set_cursor_position(priv, row, col);
break;
}
+ case 'G': {
+ int row, col;
+ get_cursor_position(priv, &row, &col);
+ char *s = priv->escape_buf;
+ s++; /* [ */
+ s = parsenum(s, &col);
+ col = col-1;
+ if (col < 0)
+ col = 0;
+ set_cursor_position(priv, row, col);
+ break;
+ }
case 'H':
case 'f': {
int row, col;
--
2.25.4
From 6676c66c0108f4a2db1d17ce8c742189df7fb7eb Mon Sep 17 00:00:00 2001
From: Samuel Dionne-Riel <samuel@dionne-riel.com>
Date: Tue, 7 Jul 2020 22:17:36 -0400
Subject: [PATCH] autoboot: Make all prompts configurable
This is a multi-purpose commit. Though it is hard to split into distinct
changes.
1. Allows the non-keyed prompt to be configured
This is self-explanatory. This allows better customization for the
integrator. Though, more to the point, this reduces the confusion that
comes from the option name and description. Now it is used for all
auto-boot prompts, not only for the keyed prompt.
2. Redraws using ANSI escapes
This is required for (1), as we can't backspace over the arbitrary
amount of characters to redraw the countdown.
This is done through resetting the column to 1 and clearing the line for
maximum compatibility. Tested against serial, default dm_video and the
truetype console.
---
cmd/Kconfig | 4 ++--
common/autoboot.c | 15 ++++++++++-----
2 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/cmd/Kconfig b/cmd/Kconfig
index 192b3b262f1..f5d6781473a 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -86,8 +86,8 @@ config AUTOBOOT_KEYED
config AUTOBOOT_PROMPT
string "Autoboot stop prompt"
- depends on AUTOBOOT_KEYED
- default "Autoboot in %d seconds\\n"
+ default "Autoboot in %d seconds\\n" if AUTOBOOT_KEYED
+ default "Hit any key to stop autoboot: %2d \\n"
help
This string is displayed before the boot delay selected by
CONFIG_BOOTDELAY starts. If it is not defined there is no
diff --git a/common/autoboot.c b/common/autoboot.c
index 6d78716a266..a3b2fb0c16f 100644
--- a/common/autoboot.c
+++ b/common/autoboot.c
@@ -5,6 +5,7 @@
*/
#include <common.h>
+#include <ansi.h>
#include <autoboot.h>
#include <bootretry.h>
#include <cli.h>
@@ -251,14 +252,16 @@ static int abortboot_single_key(int bootdelay)
int abort = 0;
unsigned long ts;
- printf("Hit any key to stop autoboot: %2d ", bootdelay);
+ printf(CONFIG_AUTOBOOT_PROMPT, bootdelay);
/*
* Check if key already pressed
*/
if (tstc()) { /* we got a key press */
- (void) getc(); /* consume input */
- puts("\b\b\b 0");
+ (void) getc(); /* consume input */
+ puts(ANSI_CLEAR_LINE);
+ printf(ANSI_CURSOR_COLUMN, 1);
+ printf(CONFIG_AUTOBOOT_PROMPT, 0);
abort = 1; /* don't auto boot */
}
@@ -272,7 +275,7 @@ static int abortboot_single_key(int bootdelay)
abort = 1; /* don't auto boot */
bootdelay = 0; /* no more delay */
- key = getc(); /* consume input */
+ key = getc(); /* consume input */
if (IS_ENABLED(CONFIG_USE_AUTOBOOT_MENUKEY))
menukey = key;
break;
@@ -280,7 +283,9 @@ static int abortboot_single_key(int bootdelay)
udelay(10000);
} while (!abort && get_timer(ts) < 1000);
- printf("\b\b\b%2d ", bootdelay);
+ puts(ANSI_CLEAR_LINE);
+ printf(ANSI_CURSOR_COLUMN, 1);
+ printf(CONFIG_AUTOBOOT_PROMPT, bootdelay);
}
putc('\n');
--
2.25.4
From 0a4a4fca5af332e93d9b44032fe8afd7686387f4 Mon Sep 17 00:00:00 2001
From: Da Xue <da@libre.computer>
Date: Tue, 7 Jul 2020 22:23:48 -0400
Subject: [PATCH] autoboot: correct config naming, only allow escape key to
menu
Origin: https://github.com/libre-computer-project/libretech-u-boot/commit/e8dc057670e9ff0e8ecfea4fd549ce8cc2516378
---
common/autoboot.c | 51 ++++++++++++++++++++++++++++++++---------------
1 file changed, 35 insertions(+), 16 deletions(-)
diff --git a/common/autoboot.c b/common/autoboot.c
index a3b2fb0c16f..82eb7ba3440 100644
--- a/common/autoboot.c
+++ b/common/autoboot.c
@@ -44,8 +44,12 @@ static int menukey;
#define AUTOBOOT_STOP_STR_SHA256 ""
#endif
-#ifdef CONFIG_USE_AUTOBOOT_MENUKEY
-#define AUTOBOOT_MENUKEY CONFIG_USE_AUTOBOOT_MENUKEY
+#ifdef CONFIG_AUTOBOOT_USE_MENUKEY
+#ifdef CONFIG_AUTOBOOT_MENUKEY
+#define AUTOBOOT_MENUKEY CONFIG_AUTOBOOT_MENUKEY
+#else
+#define AUTOBOOT_MENUKEY 0
+#endif
#else
#define AUTOBOOT_MENUKEY 0
#endif
@@ -258,11 +262,22 @@ static int abortboot_single_key(int bootdelay)
* Check if key already pressed
*/
if (tstc()) { /* we got a key press */
- (void) getc(); /* consume input */
- puts(ANSI_CLEAR_LINE);
- printf(ANSI_CURSOR_COLUMN, 1);
- printf(CONFIG_AUTOBOOT_PROMPT, 0);
- abort = 1; /* don't auto boot */
+ if (IS_ENABLED(CONFIG_AUTOBOOT_USE_MENUKEY)){
+ menukey = getc();
+ puts(ANSI_CLEAR_LINE);
+ printf(ANSI_CURSOR_COLUMN, 1);
+ printf(CONFIG_AUTOBOOT_PROMPT, 0);
+ if (menukey == AUTOBOOT_MENUKEY) {
+ abort = 1;
+ bootdelay = 0;
+ }
+ } else {
+ (void) getc(); /* consume input */
+ puts(ANSI_CLEAR_LINE);
+ printf(ANSI_CURSOR_COLUMN, 1);
+ printf(CONFIG_AUTOBOOT_PROMPT, 0);
+ abort = 1; /* don't auto boot */
+ }
}
while ((bootdelay > 0) && (!abort)) {
@@ -271,13 +286,18 @@ static int abortboot_single_key(int bootdelay)
ts = get_timer(0);
do {
if (tstc()) { /* we got a key press */
- int key;
-
- abort = 1; /* don't auto boot */
- bootdelay = 0; /* no more delay */
- key = getc(); /* consume input */
- if (IS_ENABLED(CONFIG_USE_AUTOBOOT_MENUKEY))
- menukey = key;
+
+ if (IS_ENABLED(CONFIG_AUTOBOOT_USE_MENUKEY)){
+ menukey = getc();
+ if (menukey == AUTOBOOT_MENUKEY){
+ abort = 1;
+ bootdelay = 0;
+ }
+ } else {
+ abort = 1; /* don't auto boot */
+ bootdelay = 0; /* no more delay */
+ menukey = getc(); /* consume input */
+ }
break;
}
udelay(10000);
@@ -383,8 +403,7 @@ void autoboot_command(const char *s)
disable_ctrlc(prev); /* restore Ctrl-C checking */
}
- if (IS_ENABLED(CONFIG_USE_AUTOBOOT_MENUKEY) &&
- menukey == AUTOBOOT_MENUKEY) {
+ if (IS_ENABLED(CONFIG_AUTOBOOT_USE_MENUKEY)) {
s = env_get("menucmd");
if (s)
run_command_list(s, -1, 0);
--
2.25.4
From c2832bcbc0ae86b2fe85abc68dd98a406ee0deeb Mon Sep 17 00:00:00 2001
From: Samuel Dionne-Riel <samuel@dionne-riel.com>
Date: Wed, 8 Jul 2020 01:26:30 -0400
Subject: [PATCH] Define a very-opinionated boot sequence
---
configs/pinebook-pro-rk3399_defconfig | 25 +++++++++++++++++++++++++
include/configs/pinebook-pro-rk3399.h | 17 +++++++++++++++++
2 files changed, 42 insertions(+)
diff --git a/configs/pinebook-pro-rk3399_defconfig b/configs/pinebook-pro-rk3399_defconfig
index dbbd43ed9f3..4acccdfb0f7 100644
--- a/configs/pinebook-pro-rk3399_defconfig
+++ b/configs/pinebook-pro-rk3399_defconfig
@@ -95,3 +95,28 @@ CONFIG_SPL_SPI_FLASH_TINY=n
CONFIG_SPL_SPI_FLASH_SFDP_SUPPORT=y
CONFIG_SPL_SPI_LOAD=y
CONFIG_SYS_SPI_U_BOOT_OFFS=0x80000
+
+# Boot menu required for the menu (duh)
+CONFIG_CMD_BOOTMENU=y
+
+# Truetype console configuration
+CONFIG_CONSOLE_TRUETYPE=y
+CONFIG_CONSOLE_TRUETYPE_NIMBUS=y
+CONFIG_CONSOLE_TRUETYPE_SIZE=26
+
+# Boot menu and default boot configuration
+
+# Gives *some* time for the user to act.
+# Though an already-knowledgeable user will know they can use the key before
+# the message is shown.
+# Conversely, CTRL+C can cancel the default boot, showing the menu as expected
+# In reality, this gives us MUCH MORE slop in the time window than 1 second.
+CONFIG_BOOTDELAY=1
+# This would be escape, but the USB drivers don't really play well and
+# escape doesn't work from the keyboard.
+CONFIG_AUTOBOOT_MENUKEY=27
+# So we'll fake that using CTRL+C is what we want...
+# It's only a side-effect.
+CONFIG_AUTOBOOT_PROMPT="Press CTRL+C for the boot menu."
+# And this ends up causing the menu to be used on CTRL+C (or escape)
+CONFIG_AUTOBOOT_USE_MENUKEY=y
diff --git a/include/configs/pinebook-pro-rk3399.h b/include/configs/pinebook-pro-rk3399.h
index d9108305824..5b1234ac7ad 100644
--- a/include/configs/pinebook-pro-rk3399.h
+++ b/include/configs/pinebook-pro-rk3399.h
@@ -7,7 +7,24 @@
#ifndef __PINEBOOK_PRO_RK3399_H
#define __PINEBOOK_PRO_RK3399_H
+// This sets up additional environment variables for our opinionated setup.
+// (See rk3399_common.h, it should be apended to ROCKCHIP_DEVICE_SETTINGS here
+// but it makes patches harder to apply...)
+#define OPINIONATED_ENV \
+ "setup_leds=led green:power on; led red:standby on\0" \
+ "bootcmd=run setup_leds; run distro_bootcmd\0" \
+ "bootmenu_delay=-1\0" \
+ "bootmenu_0=Default U-Boot boot=run distro_bootcmd; echo \"Boot failed.\"; sleep 5; $menucmd -1\0" \
+ "bootmenu_1=Boot from eMMC=run bootcmd_mmc0; echo \"eMMC Boot failed.\"; sleep 5; $menucmd -1\0" \
+ "bootmenu_2=Boot from SD=run bootcmd_mmc1; echo \"SD Boot failed.\"; sleep 5; $menucmd -1\0" \
+ "bootmenu_3=Boot from USB=run bootcmd_usb0; echo \"USB Boot failed.\"; sleep 5; $menucmd -1\0" \
+ "bootmenu_4=Boot PXE=run bootcmd_pxe; echo \"PXE Boot failed.\"; sleep 5; $menucmd -1\0" \
+ "bootmenu_5=Boot DHCP=run bootcmd_dhcp; echo \"DHCP Boot failed.\"; sleep 5; $menucmd -1\0" \
+ "bootmenu_6=Reboot=reset\0" \
+ "menucmd=bootmenu\0"
+
#define ROCKCHIP_DEVICE_SETTINGS \
+ OPINIONATED_ENV \
"stdin=serial,usbkbd\0" \
"stdout=serial,vidconsole\0" \
"stderr=serial,vidconsole\0"
--
2.25.4
From 7fad5fa92dc905a11cf53549a4fc52940571e204 Mon Sep 17 00:00:00 2001
From: Samuel Dionne-Riel <samuel@dionne-riel.com>
Date: Wed, 8 Jul 2020 01:26:55 -0400
Subject: [PATCH] Configure boot splash logo
This assumes LOGO_BMP is set by the derivation as a make flag.
---
configs/pinebook-pro-rk3399_defconfig | 3 +++
include/configs/pinebook-pro-rk3399.h | 16 ++++++++++++++++
2 files changed, 19 insertions(+)
diff --git a/configs/pinebook-pro-rk3399_defconfig b/configs/pinebook-pro-rk3399_defconfig
index 4acccdfb0f7..8dc5bc95cd9 100644
--- a/configs/pinebook-pro-rk3399_defconfig
+++ b/configs/pinebook-pro-rk3399_defconfig
@@ -99,6 +99,9 @@ CONFIG_SYS_SPI_U_BOOT_OFFS=0x80000
# Boot menu required for the menu (duh)
CONFIG_CMD_BOOTMENU=y
+# Required for the splash (see include/configs/pinebook-pro-rk3399.h)
+CONFIG_CMD_BMP=y
+
# Truetype console configuration
CONFIG_CONSOLE_TRUETYPE=y
CONFIG_CONSOLE_TRUETYPE_NIMBUS=y
diff --git a/include/configs/pinebook-pro-rk3399.h b/include/configs/pinebook-pro-rk3399.h
index 5b1234ac7ad..2c276476ca8 100644
--- a/include/configs/pinebook-pro-rk3399.h
+++ b/include/configs/pinebook-pro-rk3399.h
@@ -7,10 +7,26 @@
#ifndef __PINEBOOK_PRO_RK3399_H
#define __PINEBOOK_PRO_RK3399_H
+// The following bunch of defines is for the splash
+#define CONFIG_SPLASHIMAGE_GUARD
+#define CONFIG_SPLASH_SCREEN
+#define CONFIG_SPLASH_SCREEN_ALIGN
+#define CONFIG_SPLASH_SOURCE
+#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (1920*1080*4)
+#define CONFIG_VIDEO_BMP_GZIP
+#define CONFIG_VIDEO_BMP_LOGO
+#define CONFIG_VIDEO_BMP_RLE8
+#define CONFIG_VIDEO_LOGO
+#define SPLASH_ENV \
+ "splashimage=0x08080000\0" \
+ "splashpos=m,m\0" \
+ "splashsource=mmc_fs\0"
+
// This sets up additional environment variables for our opinionated setup.
// (See rk3399_common.h, it should be apended to ROCKCHIP_DEVICE_SETTINGS here
// but it makes patches harder to apply...)
#define OPINIONATED_ENV \
+ SPLASH_ENV \
"setup_leds=led green:power on; led red:standby on\0" \
"bootcmd=run setup_leds; run distro_bootcmd\0" \
"bootmenu_delay=-1\0" \
--
2.25.4
From 025775cd6469ed0a5a818d2708cc82a43755abb9 Mon Sep 17 00:00:00 2001
From: Samuel Dionne-Riel <samuel@dionne-riel.com>
Date: Thu, 9 Jul 2020 02:50:29 -0400
Subject: [PATCH] [WIP] cli: Clear ctrl+c before running a command
This fixes an issue where:
With an environment like so:
bootmenu_0=Default U-Boot boot=run distro_bootcmd; $menucmd -1
* Running bootmenu
* Running the option
* Cancelling using CTRL-C
Would show the menu as expected, but running *any* command
post-cancellation would spuriously exit in unexplainable ways.
---
common/cli.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/common/cli.c b/common/cli.c
index 6635ab2bcf8..f49a0689cc7 100644
--- a/common/cli.c
+++ b/common/cli.c
@@ -45,6 +45,9 @@ int run_command(const char *cmd, int flag)
if (flag & CMD_FLAG_ENV)
hush_flags |= FLAG_CONT_ON_NEWLINE;
+
+ clear_ctrlc(); /* forget any previous Control C */
+
return parse_string_outer(cmd, hush_flags);
#endif
}
@@ -65,6 +68,9 @@ int run_command_repeatable(const char *cmd, int flag)
* parse_string_outer() returns 1 for failure, so clean up
* its result.
*/
+
+ clear_ctrlc(); /* forget any previous Control C */
+
if (parse_string_outer(cmd,
FLAG_PARSE_SEMICOLON | FLAG_EXIT_FROM_LOOP))
return -1;
@@ -105,6 +111,9 @@ int run_command_list(const char *cmd, int len, int flag)
buff[len] = '\0';
}
#ifdef CONFIG_HUSH_PARSER
+
+ clear_ctrlc(); /* forget any previous Control C */
+
rcode = parse_string_outer(buff, FLAG_PARSE_SEMICOLON);
#else
/*
--
2.25.4
@@ -0,0 +1,27 @@
From e95e40a662f7563b80896a6e5f70cf4b2183a459 Mon Sep 17 00:00:00 2001
From: dhivael <dhivael.git@eno.space>
Date: Sat, 11 Jan 2020 15:04:04 +0100
Subject: [PATCH 6/8] rockchip: move usb0 after mmc1 in default boot order
now that we support booting from USB we should prefer USB boot over eMMC
boot. we still try to boot from SD cards first.
---
include/configs/rockchip-common.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/configs/rockchip-common.h b/include/configs/rockchip-common.h
index d5550a46575..21c95c75d05 100644
--- a/include/configs/rockchip-common.h
+++ b/include/configs/rockchip-common.h
@@ -14,7 +14,7 @@
#ifndef CONFIG_XPL_BUILD
#ifndef BOOT_TARGETS
-#define BOOT_TARGETS "mmc1 mmc0 nvme scsi usb pxe dhcp spi"
+#define BOOT_TARGETS "mmc1 usb nvme scsi mmc0 pxe dhcp spi"
#endif
#ifdef CONFIG_ARM64
--
2.54.0
@@ -0,0 +1,41 @@
From 1385d1131866384e43531074a781978f04b6ac4e Mon Sep 17 00:00:00 2001
From: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
Date: Tue, 19 May 2026 08:31:20 +0000
Subject: [PATCH 7/8] pinebook-pro: Fix vcc_sdio regulator max voltage
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Commit 0b75109b6aa (v2026.01) made dw_mmc return an error when voltage
setting is outside of the supported range, and fall back back to the
minimal value (1.8V in this case).
Prior to this, the error was silently ignored, no fallback was applied,
and the voltage remained the default (3.0V).
The device tree specifies that the regulator supports 1.8V–3.0V, but the
RK808 LDO4 datasheet specifies that it supports 1.8V–3.4V.
Change regulator-max-microvolt to 3400000 µV as per the RK808 datasheet.
Patch submitted upstream: https://lists.infradead.org/pipermail/linux-rockchip/2026-May/071171.html
---
dts/upstream/src/arm64/rockchip/rk3399-pinebook-pro.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dts/upstream/src/arm64/rockchip/rk3399-pinebook-pro.dts b/dts/upstream/src/arm64/rockchip/rk3399-pinebook-pro.dts
index eaaca08a760..ac3926bb7ff 100644
--- a/dts/upstream/src/arm64/rockchip/rk3399-pinebook-pro.dts
+++ b/dts/upstream/src/arm64/rockchip/rk3399-pinebook-pro.dts
@@ -532,7 +532,7 @@
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <3000000>;
+ regulator-max-microvolt = <3400000>; /* RK808 LDO4 supports 1.8V-3.4V */
regulator-state-mem {
regulator-on-in-suspend;
--
2.54.0
@@ -1,29 +0,0 @@
From dd52b971005271d615e63f4f946a0ee9331925bc Mon Sep 17 00:00:00 2001
From: dhivael <dhivael.git@eno.space>
Date: Sat, 11 Jan 2020 15:04:04 +0100
Subject: [PATCH 3/5] rockchip: move mmc1 before mmc0 in default boot order
on pinebooks mmc1 is the external card, which should take boot priority
over the internal emmc even if the emmc is bootable.
---
include/configs/rockchip-common.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/configs/rockchip-common.h b/include/configs/rockchip-common.h
index 0b9e24d1db4..6610f95b7b9 100644
--- a/include/configs/rockchip-common.h
+++ b/include/configs/rockchip-common.h
@@ -17,8 +17,8 @@
/* First try to boot from SD (index 0), then eMMC (index 1) */
#if CONFIG_IS_ENABLED(CMD_MMC)
#define BOOT_TARGET_MMC(func) \
- func(MMC, mmc, 0) \
- func(MMC, mmc, 1)
+ func(MMC, mmc, 1) \
+ func(MMC, mmc, 0)
#else
#define BOOT_TARGET_MMC(func)
#endif
--
2.25.3
@@ -1,55 +0,0 @@
From 4b11a4444983c997addc5c581da1ec287f27fa47 Mon Sep 17 00:00:00 2001
From: dhivael <dhivael.git@eno.space>
Date: Sat, 11 Jan 2020 15:04:04 +0100
Subject: [PATCH 4/5] rockchip: move usb0 after mmc1 in default boot order
now that we support booting from USB we should prefer USB boot over eMMC
boot. we still try to boot from SD cards first.
---
include/configs/rockchip-common.h | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/include/configs/rockchip-common.h b/include/configs/rockchip-common.h
index 6610f95b7b9..d743ebe83e6 100644
--- a/include/configs/rockchip-common.h
+++ b/include/configs/rockchip-common.h
@@ -16,11 +16,10 @@
/* First try to boot from SD (index 0), then eMMC (index 1) */
#if CONFIG_IS_ENABLED(CMD_MMC)
- #define BOOT_TARGET_MMC(func) \
- func(MMC, mmc, 1) \
- func(MMC, mmc, 0)
+ #define BOOT_TARGET_MMC(func, idx) \
+ func(MMC, mmc, idx)
#else
- #define BOOT_TARGET_MMC(func)
+ #define BOOT_TARGET_MMC(func, idx)
#endif
#if CONFIG_IS_ENABLED(CMD_NVME)
@@ -55,16 +54,18 @@
#ifdef CONFIG_ROCKCHIP_RK3399
#define BOOT_TARGET_DEVICES(func) \
- BOOT_TARGET_MMC(func) \
- BOOT_TARGET_NVME(func) \
+ BOOT_TARGET_MMC(func, 1) \
BOOT_TARGET_USB(func) \
+ BOOT_TARGET_NVME(func) \
+ BOOT_TARGET_MMC(func, 0) \
BOOT_TARGET_PXE(func) \
BOOT_TARGET_DHCP(func) \
BOOT_TARGET_SF(func)
#else
#define BOOT_TARGET_DEVICES(func) \
- BOOT_TARGET_MMC(func) \
+ BOOT_TARGET_MMC(func, 1) \
BOOT_TARGET_USB(func) \
+ BOOT_TARGET_MMC(func, 0) \
BOOT_TARGET_PXE(func) \
BOOT_TARGET_DHCP(func)
#endif
--
2.25.3
@@ -1,28 +0,0 @@
From 9482bb0eea3ad397b06ef195f9c2f09de94e74cb Mon Sep 17 00:00:00 2001
From: Tian Yuanhao <tianyuanhao@aliyun.com>
Date: Mon, 6 Jul 2020 16:46:33 +0800
Subject: [PATCH] rk3399: boot from compressed Image
Add kernel_comp_addr_r and kernel_comp_size to rk3399_common.h, so that
people can use compressed Image (e.g. Image.gz) in extlinux.conf.
Signed-off-by: Tian Yuanhao <tianyuanhao@aliyun.com>
---
include/configs/rk3399_common.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/include/configs/rk3399_common.h b/include/configs/rk3399_common.h
index f0ae6e67a7..6a275818d0 100644
--- a/include/configs/rk3399_common.h
+++ b/include/configs/rk3399_common.h
@@ -53,7 +53,9 @@
"pxefile_addr_r=0x00600000\0" \
"fdt_addr_r=0x01f00000\0" \
"kernel_addr_r=0x02080000\0" \
- "ramdisk_addr_r=0x06000000\0"
+ "kernel_comp_addr_r=0x06000000\0" \
+ "kernel_comp_size=0x02000000\0" \
+ "ramdisk_addr_r=0x08000000\0"
#ifndef ROCKCHIP_DEVICE_SETTINGS
#define ROCKCHIP_DEVICE_SETTINGS
+25 -23
View File
@@ -1,9 +1,9 @@
# Seperate u-boot package for the pine64-pinebookpro because this includes
# a driver for the display and supports efi loading operating systems
maintainer="Quade Curry <qc8086@qc8086.com>"
maintainer="Hugo Osvaldo Barrera <hugo@whynothugo.nl>"
pkgname=u-boot-pinebookpro
pkgver=2020.07
pkgrel=5
pkgver=2026.04
pkgrel=0
pkgdesc="u-boot bootloader for the rk3399"
url="https://gitlab.denx.de/u-boot/u-boot"
arch="aarch64"
@@ -11,27 +11,29 @@ license="GPL-2.0-or-later OFL-1.1 BSD-2-Clause BSD-3-Clause eCos-2.0 IBM-pibs
ISC LGPL-2.0-only LGPL-2.1-only X11"
makedepends="$depends_dev
arm-trusted-firmware
bash
bc
bison
dtc
flex
gnutls-dev
openssl-dev
python3-dev
py3-elftools
py3-setuptools
swig
u-boot-tools
"
options="!check"
source="
ftp://ftp.denx.de/pub/u-boot/u-boot-${pkgver//_/-}.tar.bz2
0001-enable-rockchip-rng.patch
0002-enable-usb-keyboard.patch
0003-display-support.patch
0004-rk3399-light-pinebook-power-and-standby-leds.patch
0005-support-SPI-flash-boot.patch
0006-implement-boot-menu.patch
0007-rockchip-boot-order.patch
0008-rockchip-boot-order-add-usb.patch
0009-rk3399-support-compressed-kernel.patch
0001-pinebook-pro-ensure-USB-keyboards-are-available.patch
0002-drivers-video-rockchip-rk_edp.c-Change-clock-rate.patch
0003-vidconsole-uclass-Implement-ANSI_CURSOR_COLUMN.patch
0004-Configure-boot-splash-logo.patch
0005-cli-Clear-ctrl-c-before-running-a-command.patch
0006-rockchip-move-usb0-after-mmc1-in-default-boot-order.patch
0007-pinebook-pro-Fix-vcc_sdio-regulator-max-voltage.patch
pine64.bmp
"
builddir="$srcdir"/u-boot-${pkgver//_/-}
@@ -68,14 +70,14 @@ package() {
}
sha512sums="df91264fe8a42e676c3f2aa09d644c6a3035cc8169bf52a8ab95efe7e542cfc758a0ef150949b0d9f03c7dec7d95f8d20a2efe2dbb60c2ef1a61c8063770478d u-boot-2020.07.tar.bz2
058408fdf8921bcde5f9ca9ea03fdad6d87dd94f09bd6768792d72af43e64e801dfd8cb3f16e83be14153d9c38b3e3e23fe949778d9347ff72bada996bd82cfe 0001-enable-rockchip-rng.patch
8e454e486a7c9fe486a1bdbececf8c6b163b90b7b57a3822afb2a30f42ba9552439360d08a6ecc19a2ebe807c6c15961a73e0fe47dce9d2a7f86ce4742cb2510 0002-enable-usb-keyboard.patch
7292dab0af5b0127663eac7966499fc5af87c544485168b5269cdf16a226cd8a215b76a4745cf19afb751ea6fea680e26b86adfdaab54e3ec7fc8fd8bec85c6b 0003-display-support.patch
5188c54bb1efe18471b3e0ff8113b0d46d6ecad2be222416c7fb89021e76f2816771793d3efaba561602064a8079cf0da66e25228e132d44a0f6b14658f93ffb 0004-rk3399-light-pinebook-power-and-standby-leds.patch
ee51dca25a5a00011186c7f750e20ed08061a5a64a67bd81ca6d96cefdb139a15078d48c2c5b6ecb09b4ab5d778e11f3b62ff3daa74ffc7d73963b15e4eee215 0005-support-SPI-flash-boot.patch
8d989d200639204c8f7fb2620209bd1e096e8c5ea04085f68486b71490deb60e89e2d54704508bfe22c006b0d331dcc0c5cbfac6c0e02328a01b0f0b611d6b58 0006-implement-boot-menu.patch
3a91ae0f499ca668ac95cc24c3b2794b0884acfcba2a76493cb2329b8e00d84eb1bbfdcdb2475064cc5b0fb0b52df849afc59b6399de44699db9dfda4d0c5f3c 0007-rockchip-boot-order.patch
b655dfd83c12925d5e90f317c97d8bca9f047df337202627bfe40e0ebaba79d8adc429575a04f5af531bcc2626521b517ea7b9026dbdffb54ba97316d1674cf9 0008-rockchip-boot-order-add-usb.patch
cc03b87e42ce0ade1d3ddd9eebc76304451c01c4ee2ea2f52aa572ab8a30d84960df4d47f14315d96943467793fccee2052f53ace9fbac059e30c86c749d7ccc 0009-rk3399-support-compressed-kernel.patch
e317f8527dbb3b8a40a45d20da6c42f8cfd98b968060d6b4f1fa5453736441d36d1048bdc4359af47c2129fa86b6d43b3e263ef282f5c7b2e54f702d8b6bd8b1 pine64.bmp"
sha512sums="
c5fca2abc533759985dfcc6d071d154007535787b0bbd569b61bda1fe2f3a31fba08481c8caf18cf5f2bc79609f50dee504977a8b65e8c4cc21f277268232e03 u-boot-2026.04.tar.bz2
572d24d70d96e84649b71a0a460ac9b9ae26d155d549bda1bc2534a54d102b158319caef24609fdbef6465a63d6c2624a42851bcad5b5cb60373abef62bd1850 0001-pinebook-pro-ensure-USB-keyboards-are-available.patch
3657612c577076c733637cf1b52ece1722369f3a7b821e6a08b7650e85692f5e69acc8f1d4a20d36b701a5bcc4a5bc306456ac371689fcc69ee4c4626ec78483 0002-drivers-video-rockchip-rk_edp.c-Change-clock-rate.patch
e1dc0553c3685ea1f52f067907b042f54f8244060f9ba865a81970bceba387fe1581d6ea05f6d1aa1ca81513a8e92580781ecb20f9d02d83c56033809ede4ccc 0003-vidconsole-uclass-Implement-ANSI_CURSOR_COLUMN.patch
da1b515afbbe2387f6fee1028277cb19f5536598ba3fe7cd940d11476f41f162d3d4c08d9ee0ff5554e16dd9cbb4fc70015b5cc5eed885e75267a9e82bf7209f 0004-Configure-boot-splash-logo.patch
11be09f9dc0bd2eefb645fcc3d5681ade90e104aa8e7c9de549b20393761074edd0e42828fb5147e186d995e11e1397bc94dd2cc521f307d8d26b6925fe22f1b 0005-cli-Clear-ctrl-c-before-running-a-command.patch
5fdf9a5b42b271414b1f07a8cd94b537562d4994b5cb21377dddc065754b3977a8a3af646c9db0736eeb9cb7e9be0da7838721c5c1bc58f6de00bc1cbed54604 0006-rockchip-move-usb0-after-mmc1-in-default-boot-order.patch
3537d81c0a839f2a35e28ef0dc9126e3d175950a0752b363839970c64db4c5aa6afceb8912a2e0a3a09d14fceb94704be2f752a0c002ace51676e736a58ba435 0007-pinebook-pro-Fix-vcc_sdio-regulator-max-voltage.patch
e317f8527dbb3b8a40a45d20da6c42f8cfd98b968060d6b4f1fa5453736441d36d1048bdc4359af47c2129fa86b6d43b3e263ef282f5c7b2e54f702d8b6bd8b1 pine64.bmp
"
+2 -2
View File
@@ -1,9 +1,9 @@
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Newbyte <newbytee@protonmail.com>"
maintainer="Stefan Hansson <newbyte@postmarketos.org>"
pkgname=device-htc-golfu
pkgdesc="HTC Desire C"
pkgver=4
pkgrel=0
pkgrel=1
url="https://postmarketos.org"
license="MIT"
arch="armv7"
+31
View File
@@ -0,0 +1,31 @@
# Reference: <https://postmarketos.org/devicepkg>
maintainer="Nardo45 <Nardo45@proton.me>"
pkgname=device-lg-elsa
pkgdesc="LG V20 (elsa)"
pkgver=1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="
linux-lg-elsa
mkbootimg
msm-fb-refresher
postmarketos-base
"
makedepends="devicepkg-dev"
source="deviceinfo kernel-cmdline.conf"
build() {
devicepkg_build $startdir $pkgname
}
package() {
devicepkg_package $startdir $pkgname
}
sha512sums="
a84a72e0bc7a2662ff2626865097d1da6f3cb08412f685a8e9add80dd9e674d648fd9d3fc7c81e6b380bd25668cfed7ce5874975aff080be8770ecc2493a083d deviceinfo
67a15c9304112e80e54e62da1bfc6c4c0b942f3a125723f6d007afaa07232fe61ec14c515570ae9abf2ef35a8bdd2f4e7df892904b79b0c1b0f54073603ac157 kernel-cmdline.conf
"
@@ -0,0 +1,25 @@
# Reference: <https://postmarketos.org/deviceinfo>
# Please use double quotes only. You can source this file in shell scripts.
deviceinfo_format_version="0"
deviceinfo_name="LG V20"
deviceinfo_manufacturer="LG"
deviceinfo_codename="lg-elsa"
deviceinfo_year="2016"
deviceinfo_arch="aarch64"
# Device related
deviceinfo_chassis="handset"
deviceinfo_external_storage="true"
# Bootloader related
deviceinfo_flash_method="fastboot"
deviceinfo_generate_bootimg="true"
deviceinfo_flash_pagesize="4096"
deviceinfo_flash_offset_base="0x80000000"
deviceinfo_flash_offset_kernel="0x00008000"
deviceinfo_flash_offset_ramdisk="0x01000000"
deviceinfo_flash_offset_second="0x80000000"
deviceinfo_flash_offset_tags="0x00000100"
deviceinfo_rootfs_image_sector_size="4096"
Loaded 100 of 292 files, more files were not shown because too many files have changed in this diff. Show more