There was lately a discussion upstream due to apk 2.12.10 breaking
some packages in aports[1]. The conclusion in IRC is that provides
were designed to be either versioned or have a provider_priority.
Otherwise, the provides will be treated as a "virtual package".
Which is not what we want here.
[1] https://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/10847
The patch was meant well. But there are problems with yelp in its
current form in postmarketOS:
* It's practically empty. In the default install, there is only one
application that has some sort of help text, which is Chatty. But
when you click on the entry, there is only one line of generic
information about the app. Not useful for users.
* Yelp is not adapted for small screens, the one line of help text is
cut off on the PinePhone.
So let's not ship it by default in edge and v22.06 for now.
This reverts commit 5ef50b12f2.
[ci:skip-vercheck]: modifying _pmb_recommends doesn't need a version
bump.
At the moment, mkinitfs loads some file system modules always (ext4),
some dynamically (brtfs) and some not at all (f2fs, vfat), expecting
them to be built-in.
To support generic kernels (e.g. from Alpine) properly, use the
partition type detection for both boot and root partition and always
load the necessary modules before mounting.
An increasing number of devices relies on the vfat file system in the
initfs (e.g. for UEFI boot). Having to add all the modules required for
it to work to deviceinfo_modules_initfs is annoying and inconsistent,
in particular for the additionally chosen "nls" modules. Since we
already bundle several file systems by default, let's just add vfat
as well to simplify this.
Ideally mkinitfs should detect the file systems chosen at install time
in the future and only include the necessary modules, but until then
this just adds a couple of kilobytes to the initramfs.
closes#1515
This patch HAS NOT been tested to see if it actually fixes#1515. I do
not have my pinephone keyboard with me and will not till v22.06 is out.
Can someone please test this patch before merging?
Note: this is being merged upstream but needs a refactor of the
Makefile. See:
https://lists.sr.ht/~mil/sxmo-devel/patches/32630
Since we cannot get the refactor of the Makefile out before the next
release, this is the next best thing
[ci:skip-build] already built successfully in CI.
This replaces the previous `udevadm test` hack with a combination of
`udevd`, `udevadm trigger` and `udevadm settle` in order to coldplug all
available devices and make them available for use via libinput / unl0kr.
Relates to: #1411
[ci:skip-build] already built successfully in CI
We decided against pvr hacks, quoting craftyguy from issue 1316:
> We discussed this in our team meeting, and ultimately decided that
> supporting pvr in pmaports/pmOS has many of the same problems that
> we saw when trying to support hallium/libhybris, something we
> decided against. For much of the same reasons, we've decided that we
> want to avoid adding the proprietary userspace components required to
> support pvr in pmOS.
No device port is using this package anymore, but we forgot to remove
it. After branching v22.06 I realized that it doesn't build anymore
and as stated in MR 2702, it's unmaintained.
Related: https://builds.sr.ht/~postmarketos/job/767700
Fix the build failure when built with newer gcc:
/home/pmos/build/src/gcc-6.4.0/gcc/config/i386/i386.c: In function 'int function_arg_advance_32(CUMULATIVE_ARGS*, machine_mode, const_tree, long int, long int)':
/home/pmos/build/src/gcc-6.4.0/gcc/config/i386/i386.c:8743:18: error: converting to 'bool' from 'std::nullptr_t' requires direct-initialization [-fpermissive]
8743 | bool error_p = NULL;
| ^~~~
Patch source: https://svnweb.freebsd.org/ports/head/lang/gcc7/files/patch-gcc_config_i386_i386.c?view=markup&pathrev=545751
Fix the build failure when built with newer gcc:
/home/pmos/build/src/gcc-4.9.2/gcc/reload1.c:89:24: error: use of an operand of type 'bool' in 'operator++' is forbidden in C++17
89 | (this_target_reload->x_spill_indirect_levels)
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/home/pmos/build/src/gcc-4.9.2/gcc/reload1.c:444:7: note: in expansion of macro 'spill_indirect_levels'
444 | spill_indirect_levels++;
| ^~~~~~~~~~~~~~~~~~~~~
Patch source: https://github.com/ChrisMacGregor/esp-open-sdk/blob/master/1001-fix-reload1-compile-error.patch
This should be reverted when this Alpine issue has been closed:
https://gitlab.alpinelinux.org/alpine/aports/-/issues/13778
sxmo-common already had this for some reason.
[ci:ignore-count]
[ci:skip-build] Already built successfuly on CI in MR
the networkmanager package in alpine was refactored and the wifi and
wwan components were split off into separate subpackages. without these,
wifi and wwan networking are broken.
also see: aports 830af82c6c
[ci:ignore-count]
This code wasn't actually working for me on samsung-m0, so I
investigated and came up with that this fixes it. I'm not sure if you
are supposed to be able to omit the deviceinfo_ prefix? Either way, it
doesn't seem to work, so let's fix it.
Fixes fad7c7ef8e
XWayland is a phosh dependency. Having it in pmb_recommends adds
nothing and can be confusing, since power users would expect that
removing it from world would remove the package. That will never
be the case since phosh depends on it.
[ci:skip-build] already built successfully in CI
Adding bluez to "depends" in order to enable bluetooth service (doesn't
work on packages in "_pmb_recommends").
Adding blueman to "_pmb_recommends" to allow uninstallation by the
user.
Closes https://gitlab.com/postmarketOS/pmaports/-/issues/1465
nmcli and nmtui are still missing in Gnome.
Move NetworkManager dependencies from postmarketos-ui-phosh, and phosh
will get them when depending on postmarketos-ui-gnome.
postmarketos-ui-i3wm|mate.post-deinstall:
Contains removal of file "61-autologin.conf"|"65-autologin.conf".
However, this file is removed by apk automatically unpon
deinstallation.
postmarketos-ui-i3wm|mate|xfce4.pre-deinstall:
Contains disabling service "lightdm". Removing display manager service
upon deinstallation isn't done by other UIs either. It can lead to
unexpected behaviour when installing another UI using lightdm and then
uninstall MATE UI.
Additionally
postmarketos-ui-i3wm.post-upgrade:
Removed postmarketos-ui-i3wm.post-upgrade and replaced it with a link to
postmarketos-ui-i3wm.post-install, like it's done in MATE and Xfce4.
I usually end up installing it on new installs. Why not enable it by
default and have a more polished experience for users? Most users will
use a gtk app and/or use the gtk file chooser
mesa-egl is usually installed by dependencies of ui packages, but when
choosing the "none" ui option in pmbootstrap, it isn't selected, leading
to libEGL.so.1 not being found.
Add it as an explicit dependency.
[ci:skip-build]: already built successfully in CI
Add and rearrange dependencies with new apps, and fix angelfish package
name.
Adds the following packages to extras:
- alligator (rss reader)
- kasts (podcasts)
- tokodon (mastodon client)
Move neochat from a required to an extra dependency, since it's a
matrix client (which many people may not need).
Add plasma-mobile-sounds to main dependency, so that kclock (and dialer
in the future) have sounds to choose from.
Rename plasma-angelfish to angelfish dependency since plasma-angelfish
was renamed in alpine at some point.
Remove the part of the description of the package that says numeric
passwords are required (no longer the case).
When moving the code to it's own repo I changed the license to GPL-2.0,
I forgot to update the APKBUILD.
[ci:skip-build] already built successfully in CI
Shared package for shared gnome and phosh ui configurations
Additionally, added missing dependencies:
Both Phosh and GNOME need elogind to do sleep inhibition and to
provide pam modules. gnome-bluetooth has some small udev rule
that helps marking devices for rfkill. Given that most devices
in pmOS have a bluetooth, this should be useful as a dependency.
These were most likely copied from phosh, but not necessary in
GNOME. They safe space in the interface, but GNOME Shell is really
not that useful in very narrow devices, so adding a configuration
for such cases should be unnecessary.
The dconf configuration and installation file was needed because the
schemas `sm.puri.phoc.application.org-gnome-maps` and
`sm.puri.phoc.application.firefox` are not schemas that can be overriden.
The actual schema is `sm.puri.phoc.application`, which is a relocatable
schema. Therefore, we could use an override to specify the default,
but with a simple configuration file, gsettings cannot relocate the
schema. Therefore, the dconf configuration makes sense for these kind
of schemas. For regular schemas that can be overriden with an override
file, it is simpler to just use it.
Phosh takes care of it in a smarter way[1]. The custom override also has the
consequence of never showing closing buttons in docked mode, which can be
an inconvenience.
[1] https://gitlab.gnome.org/World/Phosh/phosh/-/blob/main/src/docked-manager.c#L292-L295
Or in case the lines change with time:
```C
phosh_docked_manager_set_enabled (PhoshDockedManager *self, gboolean enable)
if (enable)
g_settings_reset (self->wm_settings, WM_KEY_LAYOUT);
else
g_settings_set_string (self->wm_settings, WM_KEY_LAYOUT, "appmenu:");
```
Phosh already installs these schemas by default[1] and makes them specific
to the Phosh desktop. Originally these might have been needed because
either Phosh didn't ship the overrides or/and tinydm wasn't setting the
environment variable XDG_CURRENT_DESKTOP properly[2]. To verify that the
behavior of the Phosh override is working as expected one can do the following
from an ssh session (so that the full DE envvars are not set):
```bash
$ export DISPLAY=:0 # so that gsettings reset works
$ gsettings reset org.gnome.desktop.interface clock-show-date
$ gsettings get org.gnome.desktop.interface clock-show-date # false
$ sudo rm /usr/share/glib-2.0/schemas/000-postmarketos.gschema.override
$ sudo glib-compile-schemas --strict /usr/share/glib-2.0/schemas/
$ gsettings get org.gnome.desktop.interface clock-show-date # true (which is the default)
$ export XDG_CURRENT_DESKTOP=GNOME:Phosh
$ gsettings get org.gnome.desktop.interface clock-show-date # false (from phosh override)
```
[1] https://gitlab.gnome.org/World/Phosh/phosh/-/blob/main/data/00_sm.puri.Phosh.gschema.override
[2] https://gitlab.com/postmarketOS/tinydm/-/merge_requests/12
firefox scaling was set to true before `mobile-config-firefox` existed.
In new installations false is the default, so explicitly stating false is
only necessary for upgrades. Since the default was changed in one and a half
years ago in fef3af0d75 when the
package was still in version 4, removing it should not have any impact. If
anybody had an edge installation not upgrade for more than 1.5 years, it would
definitely be wiser to reinstall than to upgrade.
Glade can be useful if you're building GTK apps on your phone when
making use of convergence, so let's unhide it. The reason it was
hidden was that it gets pulled in when building Phosh, but this
might be solvable in a better way.
Hiding of org.gnome.Extensions can probably be dropped when
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/31086
has been merged.
Enable screen locking and embed virtual keyboard. For devices with a
hardware keyboard, this is unfavorable. For touch devices, however,
that's needed for unlocking the screen.
Additionally enable single-click behavior in file manager. This applies
also to the desktop icons. Again this is unfavorable for conventional
devices but advantageous for touch devices.
unclutter-xfixes version 1.6 introduced new options --hide-on-touch
and --start-hidden. That seems appropriate enough to cover the use
cases touchscreen usage (hide cursor) and mouse/touchpad usage (show
cursor).
The main change is to move the postmarketOS-specific Xfce4 configs
from /etc/skel to /etc/xdg. This improves the config handling because
the location in /etc/xdg can be defined as the default fallback
configs.
Moving the gtk-3.0 folder to /etc/xdg did not work. Therefore this
one remains in /etc/skel.
Beyond this, there are some minor changes from the xfce4-phone
repository:
- Change icon path of whiskermenu button to new location
- Apply pmOS wallpaper to more monitors
- Several clean-ups in the config files
- Project naming scheme is changed to "lk2nd-msmXXXX"
- lk1st-msm8916: Experimental support for running as the "first" lk
- Secondary core bringup on non-psci firmware is now done by lk2nd
- rproc selection is now handled by lk2nd
- Some display information improvements
- New devices and various improvements for existing ones
[ci:skip-build]: already built successfully in CI
Fixes error: postmarketos-base-18-r0: trying to overwrite etc/fstab owned by alpine-baselayout-data-3.2.0-r20.
caused by 9ecba8a514
[ci:skip-build] already built successfully in CI
This installs/starts udiskie, a udisk2 helper, that facilitates
auto-mounting of removable drives.
Note support for umounting is broken in the current Portfolio release,
so disks have to be umounted manually:
udiskie-umount /run/media/<user>/*
I decided to add this to the `depends` and not `pmb_recommends`, because
I felt like 1) this is a feature that folks would expect to work, 2) by
having it in depends, it'll 'fix' existing installs where mounting
removable disks automatically is not implemented
MMS support (via mmsd-tng) involves sending/receiving network
requests/responses over the wwan interface. If it's ipv4-only and the
device is connected to some other ipv4 network on another iface (like
wifi), this can cause the rp_filter to reject responses on wwan iface
because it incorrectly thinks they are martian packets.
This does theoretically disable some "security" feature in the kernel,
but it's worth noting that:
1) rp_filter isn't implemented at all in the kernel for ipv6
2) other distros (mobian, pureos at least) are also disabling rp_filter
3) this seems to be a relatively common problem with folks using mms on
pmOS, since many carriers' data networks are ipv4-only
also see:
https://gitlab.com/kop316/mmsd/-/merge_requests/55/diffs?commit_id=b22c253fb939ff1eb949ea4e628706e6a28c851a
[ci:skip-build] already built successfully in CI
ondev-boot-mount.sh expects the 'real' losetup (it uses --show), instead
of the busybox version (which doesn't support that parameter).
Alpine broke this in 31372fab76 when they split out losetup from
util-linux
[ci:skip-build]: already built successfully in CI
Allow calling the script with:
SPLASH_CONFIG=$srcdir/splash.ini devicepkg_build $startdir $pkgname
In order to pass a custom splash config, as it will be used with the
PineNote (MR 2910).
The postmarketOS icon was moved to a new location (see issue
pmaports#1418). Therefore the button of whiskermenu in the panel
becomes empty. This commit creates a symlink at the old location
to restore the icon on existing Xfce4 installations.
[ci:skip-build] already built successfully in CI
This copies rules from /etc/udev/rules.d as well which ensures that
device-specific udev rules (e.g. for Nokia N900) are available in the
initfs.
Relates to: #1411
Prevent apk from pulling in pipewire-pulse instead of pulseaudio, as
this leads to various audio issues with Phosh in postmarketOS (volume
buttons not working, no sound in various applications).
Pipewire will be a great replacement for pulseaudio, but let's rather
enable it intentionally for Phosh once we fixed everything that's
currently breaking with it. Without this patch it may get installed when
installing or upgrading other packages (not entirely sure how it gets
triggered yet, but I have seen it myself multiple times and we've gotten
reports about it).
[ci:skip-build] already built successfully in CI
Merge list:
5fd3e07fd10e Linux 5.16.2
a498f4a42b81 ALSA: hda/realtek: Re-order quirk entries for Lenovo
21ad9041b615 ALSA: hda/realtek: Add quirk for Legion Y9000X 2020
5053b09e0e90 ALSA: hda/tegra: Fix Tegra194 HDA reset failure
ea3fcb111c87 ALSA: hda: ALC287: Add Lenovo IdeaPad Slim 9i 14ITL5 speaker quirk
73990b61c549 ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Master after reboot from Windows
2ac0c35159be ALSA: hda/realtek: Use ALC285_FIXUP_HP_GPIO_LED on another HP laptop
08968ce43f9d ALSA: hda/realtek: Add speaker fixup for some Yoga 15ITL5 devices
7faa2fb7bcd1 perf annotate: Avoid TUI crash when navigating in the annotation of recursive functions
1f21b193707e firmware: qemu_fw_cfg: fix kobject leak in probe error path
fd8a2f12de64 firmware: qemu_fw_cfg: fix NULL-pointer deref on duplicate entries
261f47d05859 firmware: qemu_fw_cfg: fix sysfs information leak
105ee59fc79e rtlwifi: rtl8192cu: Fix WARNING when calling local_irq_restore() with interrupts enabled
230d1fa69ff8 media: uvcvideo: fix division by zero at stream start
c923276ddd49 video: vga16fb: Only probe for EGA and VGA 16 color graphic cards
0b1a05b219fe 9p: fix enodata when reading growing file
4947e1735a87 9p: only copy valid iattrs in 9P2000.L setattr implementation
cda396e5ce51 NFSD: Fix zero-length NFSv3 WRITEs
f3f2900c93e2 remoteproc: qcom: pas: Add missing power-domain "mxc" for CDSP
07f5f305ed81 KVM: s390: Clarify SIGP orders versus STOP/RESTART
60af2066bc5d KVM: x86: don't print when fail to read/write pv eoi memory
ec985a8dfbe9 KVM: x86: Register Processor Trace interrupt hook iff PT enabled in guest
51d24f081b90 KVM: x86: Register perf callbacks after calling vendor's hardware_setup()
68fe61050dc2 perf: Protect perf_guest_cbs with RCU
8b1530a3772a vfs: fs_context: fix up param length parsing in legacy_parse_param
af8ad4718278 remoteproc: qcom: pil_info: Don't memcpy_toio more than is provided
931b93ac1fce orangefs: Fix the size of a memory allocation in orangefs_bufmap_alloc()
16a1622c3424 drm/amd/display: explicitly set is_dsc_supported to false before use
3bddfeab42ab devtmpfs regression fix: reconfigure on each mount
Change-Id: I3238c7c90d5723ca09df84a825dc4ad156dc92f9
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build] Already built well once on CI in MR
Ran `pmbootstrap kconfig edit linux-postmarketos-qcom-sdm845` to
regenerate the defconfig.
Change-Id: Ie4b9e6e4a790d37a1a1d8f479e7e10dfd3ef9db0
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build]: already built successfully in CI
Use the new linux-postmarketos-exynos5 package. A dtb for klimtwifi
is added as well, even though the device has not been ported yet.
[ci:skip-build]: Already built successfully in MR CI.
Seems like the PinePhone keyboard needs KEYBOARD_MATRIX enabled to
function at all. Also works during OSK when using FDE.
Signed-off-by: Jean Lucas <jean@4ray.co>
[ci:skip-build] Trivial KCONFIG change
Some patches from bam-dmux patchset (mobile internet on 8916/8974)
have landed upstream.
Other than that, no changes compared to 5.15.x kernel.
[ci:skip-build]: already built successfully in CI
To make sound work out of the box. And being able to choose audio
output when connected via bluetooth.
[ci:skip-build]: already built successfully in CI
Kodi UI is broken on Wayland with Cage, switch to GBM instead.
GBM is more suitable for running standalone and easier to maintain.
Also add udev rules to automount USB drives as you cannot access
them from Kodi otherwise.
[ci:skip-build] already built successfully in CI
unudhcpd is a lightweight dhcp server that effectively implements static
assignment of a single IP on an interface regardless of client MAC, with
no lease. The end result is that a system connected to a pmOS device via
usb networking should always get an IP, and always get one very quickly.
This adds a new dependency on this dhcp server, and starts it in initfs.
Fixes#1199
[ci:skip-build] already built successfully in CI
allows applications that use midi files that expect a synthesizer to work
via a new file that appears under /dev
[ci:skip-build]: already built successfully in CI
This reverts 5fa1755fba. Bundling
/sbin/modprobe is no longer necessary because Alpine switched back to gz
for LTS kernels with [1].
Relates: !2693
Relates: #1294
[1]: 12243ca822
This is done as devices that use Heimdall flash to KERNEL instead of boot
like in case of fastboot, plus devices with weird partitions can set the
var in deviceinfo
SHIFT6mq (axolotl) requires this panel driver.
Config is already merged upstream:
- 9ed86f14d0
Change-Id: I7d0286084df53b1a160702e8928f4691153b64f4
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build] Already built on CI in MR
This configures bootmisc to clear /tmp on bootup. I think most folks
expect distros to do this, many even mount /tmp as tmpfs. I don't think
that's a great idea in pmOS since RAM is usually limited on many
devices. So this, clearing it on boot, seems like a reasonable compromise.
Fixes#1342
NOTE: Should be likely backported without the kernel config changes
since Alpine 3.15 still has the older gcc version.
[ci:skip-build] Already built successfully on CI
rc-update fails if this service is not in the default runlevel,which is
the case if it's a brand new installation, or would be the case later on
upgrading this package again after the service was already removed from
the runlevel.
The issue that c47c62e3 set out to solve isn't fatal, if polkit fails to
start by openrc then users can manually remove it from the runlevel.
partially reverts c47c62e3
[ci:skip-build] already built successfully in CI
This upgrades ttyescape to use buffyboard, a new fbkeyboard replacement
by @Cherrypicker. It adds a lot of missing keys and uses the same layout
as Phosh's Squeekboard, so should feel much more like home for Phosh
users.
This also switches to the new HKDM daemon for hotkey handling, replacing
triggerhappy.
[ci:skip-build] already passed
A recent(?) update in shellcheck made this fail, possibly because the
test in shellcheck was fixed(?) or ???
The failure this fixes is:
Test with shellcheck: ./main/msm-firmware-loader/msm-firmware-loader.sh
In msm-firmware-loader.sh line 49:
if [ -z "${FW_PARTITIONS##*$PARTNAME*}" ] && [ -n "$PARTNAME" ]
^-------^ SC2295 (info): Expansions inside ${..} need to be quoted separately, otherwise they match as patterns.
[ci:skip-build] already built successfully in CI
Simple upgrade with few generic kernel features enabled
* IWD support
* F2FS
* NTFS3_FS
* USB mass storage support
* disable MTD and build more things as modules to reduce
kernel size to compensate some new built-in options,
as kernel doesn't boot otherwise.
No new things for pmOS's devices (yet). Should work same as before.
[ci:skip-build] Already built on CI in MR
Changing source to freemangordon's branch as that is much more stable and does not crash, got firefox running, which with older mesa would crash the GPU
Display the app icon properly, instead of the "unknown" icon, in the
activity view. Phosh attempts to open a .desktop file with the name of
the gtk app-id, but the app-id is "firefox" and the file is named
org.mozilla.firefox.desktop (see related commit, where it was renamed
for a good reason). The way Phosh is doing the name lookup doesn't
always work for other apps too, phosh_get_desktop_app_info_for_app_id()
has workarounds e.g. for gnome-control-center hardcoded. As workaround,
add a .desktop file that makes the icon show up properly, but is not
displayed anywhere else (NoDisplay=true).
Replace epiphany with FF in the default favorite applications in phosh
(top 4 displayed at the top). We already install FF instead of epiphany
and so the 4th place is currently empty.
Related: 2d291a4afc
Finally a new upgrade! This brings along some minor driver changes and
improvements, more stuff slowly landing upstream.
We also get a few new splats during boot, these are inevitable at this
point due to fw_devlink changes and large reworking of the drm/msm code,
they are caused by the common clock framework not knowing that some
clocks are left enabled by the bootloader, it panics when they aren't in
a state it expects. They are harmless as far as I know.
[ci:skip-build]
Upstream has switched from ofono to modemmanager since Plasma 5.23 and
Plasma Mobile Gear 21.12. Since the latter has just been released it's
now time to switch our images too.
The modemmanager service will be enabled to start on default and for
existing installations the .post-upgrade script will disable and stop
the existing ofono service and enable and start modemmanager instead.
Changes:
- Replace "Battery Monitor" by "Power Manager Plugin" (#1317)
- Fix the lower panel
- Change clock format from "1:23" to "01:23"
- Make font DPI changable for device package post-install scripts (#293)
- Reset list of keyboard shortcuts to default
- Remove brightness-switch properties from configs
Waydroid works better than anbox, and this package keeps failing to
build as in theory the bundled f-droid version needs to be upgraded more
frequently than we do.
Prepare to drop anbox from pmaports in favor of waydroid. For waydroid,
there's an nftables rule packaged as waydroid-nftables subpackage of the
waydroid package in Alpine (see pmaports issue 1280).
This adds two new subpackages postmarketos-mkinitfs-modprobe-lts and
postmarketos-mkinitfs-modprobe-edge that include /sbin/modprobe in the
initfs when one of the Alpine kernels (linux-lts or linux-edge) are also
installed.
Fixes: #1294
[ci:skip-build] already built successfully in CI
- Update to Linux 5.15
- Upstreamed many more patches
- Major rework of CPU core boot: This is now partially handled in lk2nd
since mainline Linux does not want to support anything except PSCI on arm64.
- Major rework of "-modem" DTB variants. Now all device trees only contain
the full modem configuration. lk2nd can patch the DTB at runtime to get
the alternative "no-modem" variant where audio bypasses the modem entirely.
- Rename some Samsung device trees to drop variant suffixes (e.g. *lte/*wifi)
- Lots of other cleanup everywhere
- Probably many other things I forgot :)
Device changes:
- samsung-gtelwifiue: new device tree
- eMMC, SD card, USB, Buttons
- Display (no brightness control yet)
- Touchscreen
- gt58: touch keys and some touch fixes
- Note: Multi-touch seems broken at the moment :<
- samsung-a2015/samsung-serranove:
- Battery: Report voltage as uV
- Touch keys: Allow changing function from userspace
Kernel config changes:
- Enable required options for AppArmor and IWD
[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
Without the explicit dependency to `polkit-elogind` the packages
`polkit` and `polkit-libs` are installed. This however prevents starting
`sway`. Below is the error message from the `tinydm` log:
```
00:00:00.028 [ERROR] [wlr] [libseat] [libseat/backend/logind.c:310] Could not activate session: Interactive authentication required.
00:00:00.028 [ERROR] [wlr] [libseat] [libseat/libseat.c:79] No backend was able to open a seat
00:00:00.028 [ERROR] [wlr] [backend/session/session.c:84] Unable to create seat: Function not implemented
00:00:00.028 [ERROR] [wlr] [backend/session/session.c:218] Failed to load session backend
00:00:00.028 [ERROR] [wlr] [backend/backend.c:353] Failed to start a DRM session
00:00:00.028 [ERROR] [sway/server.c:53] Unable to create backend
```
Signed-off-by: Paul Spooren <mail@aparcar.org>
Enable options required to run iwd instead of wpa_supplicant for the
aarch64 kernel config. Make it easier to test this, before we consider
switching to iwd as default (and enforcing kernel options in all devices
in main and community).
[ci:skip-build]: already built successfully in CI before disabling
CRYPTO_USER_API_ENABLE_OBSOLETE. I've built and verified the aarch64
version with this disabled locally, and I'm pretty sure that the armv7
version will build successfully too. So let's avoid the wait here.
Let every postmarketos-ui-* package have a link on top that points to
the new UI package reference. Do not put the link in <>, as it was done
with other references, since there's no benefit to it. It doesn't look
better and it doesn't make it easier to click the link or something, I
just did this initially because I saw it in GPL license headers.
[ci:skip-vercheck] [ci:ignore-count]
Enable CONFIG_RFKILL in the kernel configuration for Exynos4 devices.
This allows Gnome's Bluetooth panel to detect the Bluetooth controllers
present.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
[ci:skip-build]: already built successfully in CI
Add two patches that fixes the Bluetooth node in the Device Tree of the
Galaxy S2 (i9100).
These two patches are not upstream yet, but were accepted by the
maintainer for inclusion in Linux 5.17.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Let postmarketos-ui-phosh depend on modemmanager and
modemmanager-openrc, so we ensure both get installed before the
post-install script runs. The post-install script will not be able to
enable the modemmanager openrc service otherwise.
Related: issue 1297
Alpine patches busybox to support image alignment in [1].
So far we don't need to align the spalshes in postmarketOS as those are
generated per device. However with generic images it becomes impossible
to support multiple resolutions with this approach.
Set the alignment to "Center" in fbsplash config so generic system
images can reuse the splash on multiple resolutions.
[1] - https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/main/busybox/0008-fbsplash-support-image-and-bar-alignment-and-positio.patch
[ci:skip-build] already built successfully in CI
Upgrade to 5.15.0, disable some unused I2C and SPI configs, and
remove msm8996 from linux-msm8996-$_tag, since $_tag already
includes msm8996 and makes the first one redundant.
[ci:skip-build] Already built on CI in MR
v5.14.15 kernel used (current newest stable).
Intended to be used also on msm8992 which has nearly the same DTS.
I haven't tested other functionality except boot to initramfs on
huawei-angler and lg-bullhead.
Some kernel config options set according to
linux-postmarketos-qcom-msm8996.
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
[ci:skip-build] Already built on CI in MR
We should always install lk image as /boot/lk2nd.img, even for
image with appended DTB (lk2nd-appended-dtb.img). pmbootstrap tooling
will expect it this way, and also it keeps all subpackages consistent,
while also making them conflict with each other.
Add new subpackages that are explicitly named -appended, but still
install the same file.
Each device should "know" which kind of LK image it needs and should
explicitly depends on specific variant.
Having only one file `/boot/lk2nd.img` will simplify many things,
for example we don't have to introduce new deviceinfo properties
to specify which image is needed (like if we installed both of them).
Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
Support for custom "Loading..." splashes was added in MR 1776, but
`unlock_root_partition` function is still hardcoding default "Loading..."
splash. Fix this behaviour by replacing usage of `show_splash` function with
`show_splash_loading`, which accounts for presence of custom splash.
Closes#759
MyCroft is something definitely not everybody wants, and it could in
theory even make slower devices unusable while they would otherwise work
fine with Bigscreen. Let's move it to extras so it's optional to install
Last update for 5.14 kernel, next one will be 5.15
Kernel config cleanup:
* enable various USB peripherals support, per user requests:
* usb webcams [m]
* usb ethernet adapters [m]
* remove support for various TV tuners and DVB cards
* enable few filesystem drivers [m], like iso9660, exFAT, ntfs
* enable kernel automounter, to use with nfs (autofs, [m])
* disable CONFIG_ARM_CPUIDLE, which gets rid of annoying message
during boot:
/cpus/cpu@0: unsupported enable-method property: qcom,kpss-acc-v2
Cpuidle is handled by another driver, which is still enabled:
CONFIG_ARM_QCOM_SPM_CPUIDLE
[ci:skip-build] already built successfully in CI
firmware-qcom-msm8916-wcnss is a virtual package used for MSM8916
devices without secure boot (i.e. device that do not require signed
firmware). For those it's best to install more recent firmware by
default rather than using the firmware on the firmware partition.
firmware-qcom-msm8916-wcnss is provided by firmware-qcom-db410c-wcnss
by default, however it's still useful to make it possible to switch to
the stock firmware on the firmware partition if needed. To allow that,
add a dummy msm-firmware-loader-wcnss package that provides the virtual
package using the msm-firmware-loader.
# apk add msm-firmware-loader-wcnss
(1/2) Purging firmware-qcom-db410c-wcnss (1034.2.1-r2)
(2/2) Installing msm-firmware-loader-wcnss (1-r1)
* xts, libaes & aes are required for root partition FDE unlocking
* evdev is required by osk-sdl for input
[ci:skip-build] already built successfully in CI
This seems to fix the last missing piece to getting the hotspot stuff
working, at least when it's set up with networkmanager (I haven't tested
other methods, but assume this rule is still needed there too...)
fixes#1198
Installing postmarketos-base currently changes the file permissions
of /etc/sudoers:
# apk add sudo
# stat /etc/sudoers
Access: (0440/-r--r-----) Uid: ( 0/ root) Gid: ( 0/ root)
# apk add postmarketos-base
# stat /etc/sudoers
Access: (0044/----r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
The file mode 0044 decodes to:
- User *cannot* read
- Group can read
- Other can read
which does not make any sense. The "sudoers" man page makes it very
clear that this file should have a file mode of 0440 [1]
("readable by owner and group, writable by none").
This looks like a bad typo. However, given that only read permissions
were given out this shouldn't have major security implications
(except allowing all users to see who can use sudo).
Install the file with 0440 instead of 0044 to fix this:
# apk add postmarketos-base
# stat /etc/sudoers
Access: (0440/-r--r-----) Uid: ( 0/ root) Gid: ( 0/ root)
[1]: https://www.sudo.ws/man/1.9.8/sudoers.man.html#Error_log_entries
This used to be in Alpine but they don't want what is basically a giant
unknown blob, and for good reasons. However we do want to provide these
images for ease of install and quality-control, so let's ship it in pmOS
instead
When building from tarball git tag is not available.
We need to pass version number manually.
This chnage is cosmetic, but will allow users to easily
identify version and source of their bootloader.