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.
Package secondary LK bootloader for some Qualcomm devices
(for now: msm8916, msm8974, msm8226).
Bootloader binary is built from source in x86_64 chroot.
Two targets are built in a sequence. Then package is split
into 2 subpackages, each of them installs `/boot/lk2nd.img`.
So the end result is - lk2nd-msm8916 and lk2nd-msm8974 can't
be installed at the same time.
Device- packages then can depend on specific subpackage of this
package and have proxy-bootloader image ready to use in /boot.
This can improve user experience with installing postmarketOS on
several devices using only pmbootstrap tool.
At the very least, pmbootstrap can suggest user to flash lk2nd
immediately after `pmbootstrap install` or even offer some kind
of `pmbootstrap flasher` integration.
This will also open possibilities to automatically update and flash
lk2nd using package manager, it we ever want this.
Improvements from xfce4-phone source:
- Add screenshot to README.md
- Enable screen locking
- Disable Desktop icons "Home", "File System", "Trash"
- Enable single-click on Desktop
- Enable single-click in Thunar
- Change clock format
- Set postmarketos wallpaper
Additional changes in postmarketos-ui-xfce4:
- Installing greybird-themes (which is already set as default theme in
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml).
- Changing /etc/skel/.config/autostart/onboard-autostart.desktop to
slightly speed up keysboard startup (overriding startup-delay of
/etc/xdg/autostart/onboard-autostart.desktop).
- Enabling scrollbars by /etc/profile.d/enable-scrollbars.sh, this is
helpful where touch-scrolling doesn't work like e.g. in whiskermenu.
(And re-ordered network-manager-applet in APKBUILD _pmb_recommends
section.)
Also removing xfce4 subpackages of device-qemu-amd64,
device-qemu-aarch64 and device-nokia-n900. The device specific monitor
to set the wallpaper will now be automatically derived from "monitor0"
in file xfce4-desktop.xml.
Additionally taking maintainership as discussed in merge request
(!2506).
Many devices need proprietary firmware blobs. So far those blobs were
packaged and installed from the repository but this approach has many
drawbacks:
- The rootfs can only be used on a single device model.
- If a model has multiple variants that have diferent secire-boot key,
each must have it's own firmware blobs.
This makes maintaining packaged firmware very hard and outweights the
benefits of having a repeatable installation in most cases.
Instead we can load blobs dynamically from preexisting firmware
partitions that usually have same structure and contain the blobs we are
interested in.
The proposed scripts place symlinks to the blobs in a special dir that
then given to the kernel. Blobs from firmware/postmarketos (or another
dir that was set as extra path prior the script execution) will take
priority which allows to override some blobs (e.g. for deviecs with no
secure-boot)
Also add patches from the Replicant project to fix so that charging
works, and patches from the linux-pm list to fix the SOC INTR message
that has been spamming our dmesg (issue
https://gitlab.com/postmarketOS/pmaports/-/issues/1214).
Add kernel flags needed for Anbox and Waydroid to work
[ci:skip-build] Already built successfully on CI
Signed-off-by: Raffaele Tranquillini <raffaele.tranquillini@gmail.com>
Also add patches that should fix backlight control, add reboot modes,
and work around a nasty eMMC corruption issue.
[ci:skip-build]: already built successfully in CI
- Update to Linux 5.14
- Enable new RPMSG WWAN CTRL driver that is now used to communicate
with the modem through the new WWAN subsystem in Linux
- Minor fixes for ARM32
- Enable some additional options in kernel config (F2FS, UHID, LED triggers)
- Add TravMurav as second maintainer