Upstream change logs:
5.11.2:
fdc91c4e20
5.11.4:
a178aa515c
This also adds a -dev subpackage, and cleans up makedepends
[ci:skip-build]: already built successfully in CI
This includes a new librem5-base config release, the most notable change
being some mic echo cancellation changes in pulseaudio config.
Upstream changelog:
351958ffc0
Note: I did not include the upstream change to disable wifi PM. I don't
find the performance to be so bad that it's worth giving up some battery
efficiency for.
Note: the librem5-base thing from purism has a new naming/versioning
format, which is in line with some of their other projects, so the
APKBUILD has been updated to support that too
Downstream kernel is outdated and no longer maintained by us. Thus,
removed. The linux-xiaomi-beryllium-mainline kernel is removed because
its superseded by the common sdm845 kernel and is no longer needed.
This adds a new subpackage that installs dependencies and configures the
smartcard reader on the librem 5. Some setup is required before this
will work (e.g. upgrading reader firmware), the L5 wiki page will have
this information.
The pcsc init script was forked into this package to allow for powering
on the reader *before* the service started. Doing this in a separate
init script would have caused the reader to power on regardless of
whether the pcsc service was set to start, which is not desirable since
it should *only* be powered on when pcsc is starting
So far the debug-shell in initfs works. The device uses dynamic
partitions, so that has to be figured out to get a proper rootfs.
One thing to look out for is that mount_subpartitions task in initfs
hangs, so pmos_boot=sth was added to kernel cmdline to skip it. This is
also related to dynamic partitions, anyway.
[ci:skip-build] Already built on CI
Purism has changed the kernel name they used, so that's reflected in the
apkbuild.
This kernel includes patches for renaming the audio device, and requires
a corresponding upgrade to the device package to bring in the new ucm2
config changes for that.
Cypress bought the brcm WiFi stuff from broadcom so they want their firmware to
be called cyfmac instead of brcmfmac
a lot of brcmfmac firmware is now symlinked to cyfmac
This package is no longer used, as the OnePlus 6 will now use the
linux-postmarketos-qcom-sdm845 package.
Signed-off-by: Caleb Connolly <caleb@connolly.tech>
There is already samsung-a3ulte in community, and the devices actually
share the same kernel, device tree, and basically everything except
firmware. We just need separate firmware packages because Samsung uses
different secure boot certificates on a3lte and a3ulte.
They also share the same wiki page which suggests installation using
the pre-built images now, so having pre-built images only for
samsung-a3ulte is quite confusing for users.
The situation is similar as for samsung-a5ulte and samsung-a5lte
which also are both in community already.
This updates the current commit and refactor APKBUILD to
more modern way of writing downstream kernels. Also move to main/ to fit
other linux-postmarketos-* kernels.
Not sure why "qemu" is listed in the depends of bq-paella-downstream,
that does not really make sense. Also fixup the pkgdesc of the
nonfree-firmware subpackage, the modem works somewhat now.
[ci:skip-build]: already built successfully in CI
The "bq-picmt" device port is actually for the same device as the
"bq-paella" device package in community, just with the downstream
kernel. This is useful occasionally for testing.
However, the name applies that this device package should be used
on the BQ variant of the BQ Aquaris X5 (picmt) and the mainline
package should be used on the Cyanogen variant (paella). Actually
both packages work on both variants since the hardware is the same.
To make that clear, rename "bq-picmt" to "bq-paella-downstream".
Right now the "bq-picmt" device port is quite confusing.
It's actually for the same device as "bq-paella", which is in community
and uses the mainline kernel, except that it uses the downstream kernel.
Having the downstream kernel packaged is useful for testing sometimes,
but otherwise the device package is completely unsupported.
The mainline port works much better. The downstream port should only
be used if you know what you are doing (e.g. because you want to test
if something is working on downstream but not mainline) and therefore
it should not show up in "pmbootstrap init" by default.
Move the device package to unmaintained to implement that.
Also, add an "# Unmaintained: ..." comment that will be displayed
in "pmbootstrap init" if the device is selected anyway.
This is required by some software, e.g. bluez/gnome to set some ACLs on
/dev/rfkill (see #904). While probably nobody will notice on the
downstream kernels (as we don't have any proper software there anyways)
it's definitely needed on mainline-ish kernels. Surprisingly only one
kernel has broken by enabling this option (linux-sony-tulip) which I've
patched up.
linux-postmarketos-qcom-sdm660 did not break by enabling this option,
but required linux4.17-gcc10-extern_YYLOC_global_declaration.patch to
build again, so this was fixed too.
[ci:skip-build] [ci:ignore-count]
According to Purism, the imx8mq-librem5.dtb alias is going away soon,
and we should be using the -r2 dtb. The -r2 dtb (which represents
Birch/Chestnut L5 variants) is most compatible, it'll boot on later
variants. dtbs for later L5 devices won't work on older devices.
This is a generic package for devices which use x86_64 CPU and 32-bit
EFI. Most distributions don't provide installation for 32-bit EFI, so
installation is not user-friendly.
Actually, these tablets deserve device-specific packages (I am going to
make ones for ASUS VivoTab Note 8 and ASUS Transformer Book T100TA), but
this one includes basic functions and can be booted on any 32-bit EFI
tablet with disabled secure boot and missing device-specific package.
I guess 32-bit EFI with 64-bit CPU is Intel's "feature" and AMD doesn't
have such stuff, so this package will be installed only on devices with
Intel CPU, unlike device-tablet-x64uefi which can be installed on any
x86_64 PC. So i decided to enable some Intel specific things (userspace
GPU stuff and alsa-ucm-conf).
I used for reference device-tablet-x64uefi and
device-trekstor-surftabduow1 packages. This package also can be used as
a reference for device-specific ones.
Added support for Motorola Moto E 2014 codename: condor
It is booting, has usb, battery, flashing needs special fastboot command for the boot partition
- 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.
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.
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.
based off from lineage os, manages to boot including ssh over usb.
had to disable:
CONFIG_HTC_RADIO_SMEM
CONFIG_HTC_MODEM_NOTIFIER
CONFIG_MSM_SMP2P
CONFIG_UIO_MSM_SHAREDMEM
[ci:skip-build]: already built successfully in CI
This adds eg25-manager for managing modem power in userspace instead of
relying on the modem-power stuff in the kernel. The userspace
eg25-manager has proven to be more reliable than using modem-power.
An older setup-modem script is installed for ofono, since eg25-manager
cannot interface with ofono (yet).
The eg25 init script was removed since it only dealt with configuring
the modem-power driver in the kernel
[ci:skip-build]: already built successfully in CI
Instead of running the entire setup_usb_network_configfs function we
run the parts that are actually necessary for
setup_usb_network_android to succeed when it is run afterwards.
USB networking, Touchscreen and display are working.
CONFIG_SND_SOC_QDSP6V2 is omitted from kernel config for now as the resulting driver fails to build.
Upstream changelog:
868f3eb852
Suspend is also disabled in the kconfig, since it is not
supported/working on this device
[ci:skip-build]: already built successfully in CI