Remove devmappings service. The original purpose of this service was to
ensure that /boot is mounted properly after the initramfs passed control
to OpenRC, because the initramfs used to umount /boot before that. With
/etc/fstab alone, /boot get not get mounted with subpartitions (which we
use on Android devices), if util-linux >= 2.33 was installed (MR 115).
Nowadays, we don't umount /boot in the initramfs before passing control
to OpenRC anymore (MR 1398). So this service isn't needed anymore, and
prevented the previous pmOS_inst_boot <> pmOS_boot patch from working
correctly.
Find partitions with the label "pmOS_inst_boot" too, and prefer using
them as boot partition over ones with label "pmOS_boot". (I'd use
"pmOS_install_boot", but there is a character limit in the label.)
Without this, the initramfs may choose the wrong boot partition if
postmarketOS is available once as install OS (on device installer) on
the SD card and once on the eMMC (installed).
I just had this problem with QEMU when simulating the install from SD to
eMMC use case with pmbootstrap qemu --second-storage. The pmOS initramfs
scripts would detect the previously created eMMC boot partition as the
proper one and mount it. It would boot into the right root partition,
because that already has a different label (pmOS_install instead of
pmOS_root), but because the wrong boot partition is already mounted,
during the install it would not be possible to run mkfs on it.
- Upgrade librem5-base to v33
- Include the haptic vibration driver in initfs for supporting osk-sdl's
haptic feedback feature
- remove gps udev rule in pmaports in favor of using rule from
librem5-base
- install modem audio udev rule from librem5-base
- add openrc service for putting device into 'ship mode' on shutdown
(prevents battery from slowly draining)
- include Evergreen/r4 dtb in /boot
- Fix audio with port of ucm config to ucm2 (patch submitted upstream
here: https://source.puri.sm/Librem5/librem5-base/-/merge_requests/214)
Port based on an unofficial LineageOS port
from https://www.los-legacy.de/17.1/zerofltexx, using kernel from https://github.com/Exynos7420/android_kernel_samsung_exynos7420/
What works:
- Kernel boots
- Display and touch input (tested with Weston)
- USB networking
Note: I removed camera support in kernel config for now, as there were related kernel crashes.
Wifi doesn't work either yet because the firmware dependencies/paths need to be fixed first.
- Update to Linux 5.11-rc4
- Upstreamed more patches
- Fix audio regression without modem introduced by some refactoring
from Qualcomm upstream
Devices:
- samsung-a2015 (a3/a5): Fix speaker on some devices
- motorola-osprey: Add modem
The modprobe.conf is not necessary on those devices because they already
load the panel module using deviceinfo_modules_initfs. Let's skip the
modprobe.conf in that case so we don't need to add all panels in two places.
A hack shamelessly stolen from Manjaro. Plasma Mobile runs in the user
session and needs direct access to the sys entries of the flashlight to
be able to toggle it in the GUI
[skip ci] Broken, thinks there is an unreferenced file while there is
not
Move the shelli-specific alsa config from MR 1741 into a subpackage that
only gets installed together with shelli.
With the config installed, programs using alsa instead of pulseaudio,
can't be controlled through the volume setting in Phosh anymore (and
probably other UIs too). Shelli doesn't use pulseaudio.
Change the path of the config file like in MR 1877, so it's easier to
override it if necessary.
While at it, improve the APKBUILD slightly by fixing the install_if of
the phosh subpkg (should depend on =$pkgver-r$pkgrel, see APKBUILD
reference), and fix long lines.
Fix about dialogs not being adaptive and all other changes by Purism,
which are the reason why we use the fork in the first place. The patches
didn't get applied in the previous version we had packaged in
postmarketOS, because the patches are in debian/patches now.
Remove check-version.py, it's in the source tree now.
Simply disabling FIMC IS does not work however due to compilation
errors and a null pointer dereference. 01-fix-FIMC-IS-disabling.patch
takes care of this.
As with other exynos devices some additional things had to be disabled
to make the kernel compile after FIMC IS had been disabled,
specifically:
CONFIG_CAMERA_EEPROM
CONFIG_VIDEO_EXYNOS_MIPI_CSIS
CONFIG_LEDS_MAX77803
Apart from that we also have:
02-netfilter-symbols.patch, which fixes another compilation error.
03-usb_gadget-set-random-rndis-host-MAC-address-to-prev.patch (taken
from another device) which prevents host mac address being set to
00:00:00:00:00.
Kernel sources have been changed to the lineage-16.0 branch in the
exynos5420 repo, as that is where development happens at the moment.