Mount the boot partition at /sysroot/boot and keep it mounted, when
running the switch_root command. This way, OpenRC doesn't need to mount
it and possibly use the wrong partition. The OpenRC service does not use
the same logic to find the boot partition, in particular it does not
support the pmos_boot kernel parameter.
While at it, print the mountpoint and read-only/read-write arguments in
the mounting log message for both root and boot.
Fixes: #664
Get rid of the "write_unless_modified" code, which was supposed to only
change /etc/fstab, /etc/issue, /etc/motd if the user did not modify it.
This is nice in theory, but we have a bug report where the code did not
do what it should (apk audit possibly failed due to a qemu bug?), and
then it lead to strange bugs related to not having the expected
/etc/fstab installed.
Fixes: #661, #258
This enables mult-sensor support in sun6i-csi, support for the
gc2145 front camera, the new panel driver from mainline linux
and a small fix for the anx7688 that prevents it spamming the
kernel log when no cable is plugged in on 1.2a hardware.
gitlab.com had a service disruption, so it was not possible to "git
clone" from gitlab.com from some regions, like where the sourcehut
infrastructure is located. Since we are building our packages on
builds.sr.ht, this caused all packages that should be built at that time
to fail. It is working again, so bump the pkgrels to restart the builds.
This switch has happened in the Alpine repos quite a while ago and most
of the pmOS packages were using it already too, so let's switch over the
last ones as well.
This also cleans up the APKBUILDs where necessary
In the Linux kernel, the ST-Ericsson NovaThor U8500 SoC is barely
ever mentioned under the "NovaThor" name, more common are names like
U8500, Ux500, ST-Ericsson, STE, ...
Let's rename the kernel package to linux-postmarketos-stericsson
to make that more clear. Also cleanup the APKBUILD a bit while we're
at it, HOSTCC is unneeded, remove unnecessary depends, ...
We cannot have two of them at the same time, most compiler would fail here
but for some reason our didn't.
However, it's better to just use one (the new one, or the old one). Enable
CONFIG_RTL8723CS_NEW, which is the new driver that made it to pine64
kernel since 5.5.
Signed-off-by: Danct12 <danct12@disroot.org>
[ci:skip-build]: already built successfully in CI
We should disable it by default and let the user to enable it
when they want it.
And currently it's causing problems where the backlight would
go very dark with it enabled on PinePhone.
Signed-off-by: Danct12 <danct12@disroot.org>
This release gets rid of the hacks needed for out-of-tree modules in the
previous version of calamares.
[ci:skip-build]: already built successfully in CI
This makes recording system audio very simple and feasible in a cross-device
manner since application-logic can always rely / forward ALSA audio to the
loopback device instead of a device-specific audio interface.
We are in the midst of the Linux 5.8 merge window so there is no new
-rc version to rebase on. -rc1 next week is also not the perfect choice
for a release (first rc is usually still a bit unstable).
On the other hand the changes that landed the last few days are quite
nice and ready to go, so I decided to rebase on a stable kernel release
(5.7.1). Not sure if I'm ever going to do this again :)
Changes:
- Update to Linux 5.7.1
- bq-paella: Add sound and modem
- Enable some new kernel options for DB410c
dbus-launch doesn't get installed automatically. On the other hand,
dbus-run-session does. This version ensures that dbus is also launched
for the graphical demos
Disable modules for hardware that's impossible to connect to the
allwinner devices or older than the 90's this shrinks the size from 380
to 250MB.
Then it enables module compression so it shrinks from 250MB to 57MB.
Then the module stripping was enabled, shrinking it to 20MB
[ci:skip-build]: already built successfully in CI
* Support for sharp ls052t3sx02 video mode panel and max1187x
touchscreen used in Sony Xperia Z2 (sirius)
* Support for display in OnePlus One (bacon)
* Support for touchscreen, touchkeys and notification led in Samsung
Galaxy S5 (klte)
At the moment we have Contributor: lines on some packages (but not all of them),
but often they don't represent the actual contributors to the package very well.
E.g. when we added them retroactively to the device packages we only added
the initial contributor (which isn't necessarily the person
who made most of the work for a device...)
The Git history is the most representative source for figuring out
who contributed to a package, so there is no reason to duplicate that
into the APKBUILD.
[skip ci]: way too many packages
fixes the desktop file:
* add -- to make cage ignore kodi's arguments
* add --standalone to kodi's arguments
update the dependencies:
* add upower as kodi tries to communicate with it to read battery status
* add pulseaudio as kodi complains it is missing
* add elogind as it is required for cage to run
* remove xorg-server
Fixes#469
- Update to Linux 5.7-rc2
- Initial support for BQ Aquaris X5 (bq-paella/picmt)
- Add speaker for samsung-gt510wifi/matissevewifi
- Add flash LED for wileyfox-crackling
Read kernel module names from files in
/etc/postmarketos-mkinitfs/modules and print out which modules are
required by which of these files as the initramfs gets generated. Put
the default modules into a new 00-default.modules. This allows mkinitfs
hooks to add modules to the initramfs.
Parse the modules from a file similar to modules-load.d, with commented
lines and empty lines ignored. Add a simple test script for that and run
it in check().
Split mkinitfs.sh into two files, so the functions (now in
mkinitfs_functions.sh) can be sourced in a test. Such a test will be
added in the next commit.
Move $BINARIES_EXTRA into the get_binaries_extra() function, so its
$(find...) does not get executed when sourcing the functions file. Move
$BINARIES into get_binaries() too for consistency.
Make it pass shellcheck by fixing obvious mistakes like '==' instead of
'='. Add "shellcheck disable" lines for things that are intentionally done
or would be a bit more complicated to rewrite. It would be nice to
refactor some things like '${outfile/initramfs-/uImage-}', but this should
be done in a separate change (patches welcome).
Remove unused variable "modules_path". While at it, add two new fatal
error messages instead of just "exit 1" without any comment and remove
redundant mkdir in APKBUILD.
We'll use the new RTL8723CS driver in the kernel tree instead
of using the one that we have to fetch from GitHub.
Signed-off-by: Danct12 <danct12@disroot.org>
Signed-off-by: Asriel Dreemurr <asriel.danctnix@gmail.com>
[ci:skip-build]: already built successfully in CI
The lddtree script uses the scanelf utility which has some security check that causes a slowdown of the operation, executing it without privileges it's really faster.
The current postmarketOS port does not do Hildon/Maemo Leste justice.
Various features are missing or broken. We can't even upgrade to the newest
version, because of packaging issues that can't easily be resolved. And
nobody is maintaining it currently. So for the people who want to use
Hildon, please use Maemo Leste (https://maemo-leste.github.io/).
If somebody is willing to invest a lot of time for a new postmarketOS
port of Hildon/Maemo Leste, let us know!
[skip-ci]: just downloading all kernel sources takes about one hour
and ollieparanoid wants to merge it now. This already ran
successfully with [ci:skip-build] and [ci:skip-vercheck].
Many device ports install extra modules-load.conf/modprobe.conf
configurations. Simplify this a bit by installing these automatically
to appropriate locations in the file system.
Left over from unity 8, which has been removed from pmaports earlier.
umockdev depends on libgudev in Alpine, which has been moved from main
to community. As of writing, there is no armhf package, so the upstream
compatibility test is failing. There is no point in waiting until the
package was built though, since nobody is currently using in in
pmaports.
CONFIG_INPUT_UINPUT is needed for !1012
- linter fix: remove unneeded HOSTCC
- use downstreamkernel_package
- _abi_release was never used
- this package is only enabled for aarch64, so always use
modules_install dbts_install in package(), remove redundant
switch case
The point of this program was to have something to play with once weston
boots up. It does not make sense to ship this with
postmarketos-ui-plasma-mobile.
Related: postmarketos-demos#1
nokia-n900 is the last user of linux-postmarketos-stable.
Let's keep it as-is temporarily until nokia-n900 has been migrated
to Alpine's linux-lts or a custom kernel.
Disable it on all other architectures to make it clear
that it is obsolete.
[ci:skip-vercheck]: no changes, only disabled architectures
- Update to Linux 5.6-rc5
- Basic audio support on samsung-gt510wifi (speaker is WIP)
- Initial support for samsung-matissevewifi
- Enable some kernel config options for elogind/Anbox/fbkeyboard
These dependencies don't belong here.
- iw: should be installed by the user themselves when wanted
- nano: should be installed by the user themselves when wanted
- pulseaudio: should be installed by the UI meta packages that need it
instead
- pulseaudio-alsa: should automatically be installed when both
PulseAudio and alsa are installed
https://gitlab.alpinelinux.org/alpine/aports/merge_requests/4820
Partial revert of 24fa68c9 ("avoid storing initramfs-extra twice").
Some people have (rightfully) complained that including the hash
in the filename of the initramfs-extra prevents the device from booting
whenever the boot partition gets out of sync with the boot image.
In general we should assume that those two are in sync, but there is
no need to unnecessarily break this if previously booting the outdated
extra initramfs worked just fine.
At the end, the hash is just an implementation detail for the caching
mechanism - we need it when (re-)generating the initramfs, but it does
not have to be within the filename. Instead, we can simply append the
hash to the file contents. GZIP will simply ignore the trailing garbage.
The boot partition will then look like:
$ cat /boot/initramfs-<flavor>-extra
<GZIP data>d3c7b449c6fc811d97351bbc46852b66 (the hash)
This makes the filename of initramfs-extra nice and stable again.
It also fixes a regression where the initramfs-extra would no longer
get symlinked by "pmbootstrap export" (I was going to fix that in
pmbootstrap but now this solution is more appealing...)
While we're at it: Make the script more resilient again by writing
to a temporary file first, then move it (atomically) to the real path.
We should do this in the UI packages that need it rather than in the
device packages themselves because for example Phosh doesn't need Ofono
but ModemManager
HOSTCC defaults to gcc, so we should only set it to override it
if we want to use an older GCC. Removing it avoids annoying linter
warnings caused by the HOSTCC="..." variable assignments.
Currently, every LCDs inside their (our users) pocket are driving 3.3V,
meanwhile the LCD interface is meant to drive at ~2V.
This turns our LCDs into a timebomb that is ready to trigger at any moment,
killing the display.
Signed-off-by: Danct12 <danct12@disroot.org>
- Update to Linux 5.6-rc2
- Major improvements for Motorola Moto G4 Play (motorola-harpia)
- Display
- Touchscreen
- Accelerometer
- Audio
- Modem
- Vibrator
- Fix headphones/headset detection for wileyfox-crackling
- Add mount-matrix for samsung-a3ulte/a5ulte to fix
orientation detection with iio-sensor-proxy
- A lot of cleanup everywhere
- APKBUILD: Clean up makedepends (a lot of them are unneeded)
wileyfox-crackling was the only user of QCDT. Now that it is also
using appended DTBs, there is no need to generate the QCDT image anymore.
Another advantage of this is that mainline can then be only booted using lk2nd
(as intended), since booting it from the stock bootloader has weird side effects
(e.g. no WiFi/BT MAC address set).
That path works just as well as documented at
https://doc.qt.io/qt-5/qstandardpaths.html (GenericConfigLocation) and
it doesn't depend on the user being created after the package has been
installed.
polkit rely on systemd, so we don't get correctly working setup.
This impact non-working backlight control from userspace and other
stuff.
Signed-off-by: David Heidelberg <david@ixit.cz>
At the moment we store the same initramfs-extra twice on the file system:
- /boot/initramfs-<flavor>-extra
- /var/cache/postmarketos-mkinitfs/initramfs-<flavor>-extra_<hash>
The second copy is exactly the same file, just with the <hash> (for caching)
appended to the filename.
We can avoid this by appending the hash directly to the filename
on the boot partition, i.e.
- /boot/initramfs-<flavor>-extra_<hash>
This is possible because we only reference initramfs-extra from the main
initramfs, and we already replace the path in it dynamically.
It will just let the main initramfs load -extra_<hash> instead of just -extra.
This saves a few megabytes of disk space on the rootfs.
postmarketos-ui-sway already depends on xorg-server-xwayland for
X clients. There is no need to pull in the entire X server including
all necessary drivers.
This saves ~84 MiB of disk space when installing postmarketos-ui-sway
on asus-me176c. X applications are still working fine through Xwayland.
Also remove explicit dependency on dbus - it is already pulled in
by dependencies like lightdm or elogind and nothing in
postmarketos-ui-sway depends on it specifically.
We need to generate the splash screens separately for each device,
because they are specific to the device's display resolution.
At the moment we do this dynamically during the installation process.
This has the advantage that there is no need to re-build all device
packages when one of the splash screen is changed (or a new one is added).
In reality, however, the splash screens do not change very frequently.
On the other hand, generating the splash screens dynamically has signficant
disk usage overhead for a minimal ("none" UI) rootfs:
The Python interpreter together with the necessary libraries requires
about ~60 MB of disk space on aarch64.
The splash screens itself require about ~100 KB for 720x1280.
This is not necessary if we move the splash screen generation into
devicepkg-dev, which is used to build the device package for all devices.
Another advantage is that we no longer need the (rather complicated)
caching mechanism for splash screens - so we actually end up with less
lines than before.
rootfs size for samsung-a5ulte ("none" UI):
Before: 450M
After: 388M (-62M)
After this change, every(!) device package needs to be rebuilt once.
No changes are necessary in device packages.
Kernel subpackages may contain a "-" (e.g. -kernel-mainline-modem);
replace it with an underscore to make sure that we find the
kernel-specific variables in deviceinfo.
If (a) the kernel command line parameters include PMOS_BOOTCHART2 and
(b) /sbin/bootchartd exists (i.e., the bootchart2 package has been
installed), run /sbin/bootchartd instead of /sbin/init.
Port bootchart2 to PostmarketOS, with three patches:
1. Modification of /etc/bootchartd.conf so that the collector
will stop after sshd has started.
2. Python 3.8 compatibility
3. Disable the interactive mode of pybootchartgui.
Use bootchart2 to profile system boot or a running system.
1. Add the bootchart2 package to your device.
2. Add the following kernel command line parameters: initcall_debug
printk.time=y quiet
3. To profile system boot
a. add the following kernel command line parameter: PMOS_BOOTCHART2.
This parameter causes mkinitfs to start /sbin/bootchartd instead of
/sbin/init. /sbin/bootchartd then starts /sbin/init.
b. (optional) modify EXIT_PROC in /etc/bootchartd.conf to define
when the collector is to stop.
c. Boot the system. Approximately 20 seconds after sshd starts
(if using the default value of EXIT_PROC), the collector
will exit.
4. To profile a running system
a. use the command '/sbin/bootchartd start' (as root) to start
profiling
b. use the command '/sbin/bootchartd stop' (as root) to stop
profiling
5. When the collector exits, /usr/bin/pybootchartgui will create
a visualization in /var/log/bootchart.png.
- Update to Linux 5.5-rc4
- Fix freeze/crash when accessing reserved memory on Samsung devices
- This happened e.g. when doing large eMMC writes
because the disk cache filled all available RAM.
- Fix SD card detection on samsung-serranovelte
- Disable UHS-1 modes since they appear to be broken in hardware
[ci:skip-build]: already built successfully in CI
Comment out the initstepslew line in /etc/chrony/chrony.conf.
initstepslew can delay booting while chrony sets the time. The
makestep 1 -1 line in the configuration also causes chrony to step
the time (whenever the offset is greater than 1s), making
initstepslew redundant.
Unfortunately, early firmware versions on MSM8916 (used together with
Android 4.4) are not capable of booting aarch64 kernels. MSM8916 was
Qualcomm's first 64-bit capable CPU, and back when it was introduced
Android did not even support aarch64 yet. So the aarch64 capable
hardware was usually used together with armv7 binaries.
To make things worse, this firmware is also signed (usually per-device),
making it (currently) impossible to update it without help from the manufacturer.
This means that we are currently unable to run mainline on devices
that never received an update to Android 5.0
(e.g. the Samsung Galaxy S4 Mini Value Edition).
One way to circumvent this limitation is to build mainline for armv7.
This works surprisingly well with some additional fixes.
Devices with this firmware limitation are still unable to use aarch64
binaries, but at least we can run mainline on them!
- Rebase on Linux 5.5-rc3
- Add display, touchscreen and GPIO keys for samsung-gt510wifi
- Add vibrator for wileyfox-crackling
- Zinitix touchscreen improvements (used in samsung-a3ulte)
- Upstreamed several patches
Current default is performance, and that is for sure not a great choice
for battery. We can experiment with ondemand as well, but based on docs,
conservative is recommended.
[ci:skip-build]: build takes too long
On some devices a getty should run on the serial console.
Configure the getty by setting the deviceinfo_getty variable. The
format is "<port>;<baud rate>". For example, "ttyS0;115200".
A post-installation trigger in postmarketos-base checks
/etc/deviceinfo, and modifies /etc/inittab if the device should run
a getty.
Fix the following error when installing postmarketos-ui-plasma-mobile:
ERROR: unsatisfiable constraints:
polkit-elogind-0.116-r1:
breaks: polkit-dev-0.116-r0[polkit=0.116-r0]
satisfies: polkit-kde-agent-1-5.17.3-r0[polkit-elogind]
.pmbootstrap-20191121.210534[polkit-elogind]
consolekit2-1.2.1-r1[polkit]
consolekit2-1.2.1-r1[so:libpolkit-gobject-1.so.0]
networkmanager-1.20.6-r0[so:libpolkit-agent-1.so.0]
networkmanager-1.20.6-r0[so:libpolkit-gobject-1.so.0]
polkit-qt-1-0.113.0-r0[so:libpolkit-agent-1.so.0]
polkit-qt-1-0.113.0-r0[so:libpolkit-gobject-1.so.0]
accountsservice-0.6.55-r0[so:libpolkit-gobject-1.so.0]
urfkill-0.5.0_git20170118-r0[so:libpolkit-gobject-1.so.0]
This is the reason, why the pmbootstrap qemu test (which performs a full
plasma mobile installation and checks running processes) check failed:
https://postmarketos.gitlab.io/-/pmbootstrap/-/jobs/357942365/artifacts/log_testsuite.txt
Enable armhf again, because "gnome-session" is available in Alpine for
armhf now.
[ci:skip-build]: already built successfully in CI. ollieparanoid made
sure that all packages build for armhf.
[ci:skip-vercheck]
Signed-off-by: David Heidelberg <david@ixit.cz>
It seems the the CFLAGS are not properly set in the CMakeLists.txt.
Cmake currently appends -std=gnu90 at the end of the CFLAGS, overriding
the earlier set -std=c99. Work around this with sed. Better fix is
welcome, this is a stop-gap solution to unbreak the build (which is
blocking build.postmarketos.org).
It's unmaintained both on our side and upstream. Nobody stepped up to
maintain it (https://gitlab.com/postmarketOS/pmaports/issues/372), so
let's drop it before it introduces security issues and compilation
problems.
ConfigFS USB attrs are customizable based on the `deviceinfo_usb_*` variables,
however some downstream kernels (e.g: msm-3.18) doesn't use configfs, instead
uses the traditional Android USB Gadget.
Based on `deviceinfo_usb_{idVendor/idProduct}` variables, we can change the USB
vendor and product.
So that on these devices, we can make it appear on USB bus as the correct USB
vendor/product ID, not "Google Inc. Nexus 4 (fastboot)"
Signed-off-by: Danct12 <danct12@disroot.org>
At the moment, a full file system check is forced even if the
file system is marked clean (i.e. it was properly unmounted the
last time it was used). On large file systems with slow I/O
(e.g. SD cards), this can take a significant amount of time.
Removing the -f option of e2fsck allows skipping the full
file system check if it is marked clean, speeding up the boot time.
Some devices' downstream kernels may have different RNDIS/functionfs
drivers (ex. QCRNDIS) that require different values for some
configfs gadget attributes. Make it possible to customize with
deviceinfo file from device- package.
The idea is that each device- package can optionally specify a
bunch of `deviceinfo_usb_*` variables to customize the way it is
visible on USB bus. The ability to override
`deviceinfo_usb_rndis_function` is essential to make downstream
sdm660 based device to appear on USB bus.
While at it, make `idVendor`, `idProduct` and `serialnumber` also
customizable. So that we can make, for example, PineTab appear on
USB bus as PineTab, not as "Google Inc. Nexus 4 (fastboot)".
Mainline U-Boot looks for the device tree blob in the "second" area
of the Android boot image (see https://patchwork.ozlabs.org/patch/1025211/).
Add an option "deviceinfo_bootimg_dtb_second" to place the device DTB there.
Currently, the USB networking setup using configfs does not configure
a "serialnumber" for the USB gadget. This means that an empty
serial number will be sent during USB enumeration.
This is usually not a problem, but it seems to cause issues under
special circumstances (on asus-me176c on one of my PCs).
The USB Gadget configfs documentation also suggests setting
the "serialnumber":
https://www.kernel.org/doc/Documentation/usb/gadget_configfs.txt
It can be any string, so we can just set it as "postmarketOS" like
the manufacturer.
The openrc service of lightdm has been moved to lightdm-openrc in
Alpine. Fix all UIs depending on lightdm, so their post-install script
does not fail with:
Executing postmarketos-ui-plasma-mobile-2-r6.post-install
* rc-update: service `lightdm' does not exist
Upgrade and add depends to static libraries to make it build again. When
the package was added initially, the static libraries were part of the
respective -dev packages.
The initramfs needs ext4 (to mount the rootfs) and usb_f_rndis
(to enable USB networking on devices that use USB configfs).
If these are built as modules, they need to be included in initramfs.
[ci:skip-build]: already built successfully in CI
apitrace have a GUI tool to inspect the trace dumped by apitrace tool.
This is built when a optional dependency of qt5 widgets and qt5 network
is satisfied. So build that as well.
current version merged was missing the zlib-dev and libpng-dev
dependency which would make apitrace build internal copies of them, and
that would fail due to missing patches for musl.
add dependencies zlib-dev and libpng-dev
The package was added with the initial Unity 8 packaging but even then
it seems that this package was never actually used.
Remove it because it no longer builds (some patches upstream might get
it building again).
[ci:skip-build]: already built successfully in CI
We have linux-postmarketos-qcom and linux-postmarketos-qcom-msm8916 now,
which is quite confusing. linux-postmarketos-qcom was originally added
for MSM8974 devices (e.g. Nexus 5) and its patches on top of mainline
are therefore quite focused on MSM8974.
linux-postmarketos-qcom-msm8916 on the other hand, has patches specific
to MSM8916. The two packages do not have any patch in common, therefore
merging the two would only cause signficiant overhead to coordinate
testing for devices of the two SoCs.
Therefore, it is better to keep them separate.
To avoid confusion, rename linux-postmarketos-qcom to
linux-postmarketos-qcom-msm8974 to make it clear that it is really
a close-to-mainline kernel for MSM8974 devices.
[ci:skip-build]: already built successfully in CI
5.17.x will be released soon with python3 changes, but before it is, for
now let's add this critical bugfix
[ci:skip-build]: already built successfully in CI
The sparse image tools (img2simg, simg2img, append2simg) are now
part of Alpine's android-tools package where they are continously
updated. (See https://github.com/nmeum/android-tools/pull/8)
Remove "libsparse" as depends from all packages because it is either:
- installed automatically by pmbootstrap when needed for
deviceinfo_flash_sparse="true"
(device-chuwi-hi10plus, device-htc-flounder, device-lg-bullhead,
device-semc-anzu, device-xiaomi-kenzo)
- seemingly unused(?)
(device-asus-z00t, linux-motorola-falcon, linux-motorola-peregrine)
[ci:skip-build]: already built successfully in CI
Phosh depends on gnome-session, which is currently not available in
Alpine for armhf. Fix the arch-lines to unblock building the binary
repository. [ci:skip-vercheck]
Fixes 'pmbootstrap flasher boot' for fastboot devices. This is probably
not used as often as 'pmbootstrap flasher flash_*', so I'm not enforcing
the upgrade by modifying pmaports.cfg this time.
We'll switch from whatever version of shellcheck is packaged in Debian
stretch to the newer version in Alpine edge in the next commit. Adjust
postmarketos-mkinitfs first, so it doesn't report any errors.
Also removed the explicit depends on telepathy-mission-control, as that
was already picked up by abuild with the soname
[ci:skip-build]: already built successfully in CI
This MR enable the new CONFIG_SND_SOC_NOKIA_RX51 kernel option which
replaces the old CONFIG_SND_OMAP_SOC_RX51, enabling the audio on the
N900 again (just tested).
[ci:skip-build]: won't finish in time
Rebuild all other GCC packages against mpfr4, so they don't fail with:
Error loading shared library libmpfr.so.4: No such file or directory (needed by /usr/gcc4/libexec/gcc/x86_64-alpine-linux-musl/4.9.2/cc1)
[ci:skip-build]: won't finish in time
Related: 2b32ed3a48786fa151cad8f920e5d9997bee94ed in Alpine's aports.git
* Added display in final pinephone to the kernel
* Added getty
* Use RGB led to signify booting status in u-boot
* Enable CONFIG_GPIO_SYSFS
[ci:skip-build]: won't finish in time
Seems like VIA/Wondermedia 8850 devices do not boot with the default
address. Add new deviceinfo_legacy_uboot_load_address variable to
allow setting a custom one.
[ci skip] Package output does not change except for meta
information (licenses), so don't build or verify checksums
of the packages to prevent outdated source URL's breaking it.
This will have to be looked at later
A Wayland kiosk. Works in Wayland (tested in weston), X11 (tested in
i3wm) and tty. Works with both dri-virtio and dri-swrast, but I won't
recommend you running with swrast because it's veeeeery slow.
[ci:skip-build]: already built successfully in CI
Previously, running reboot-mode as an unprivileged user resulted in
Error: No error information
without a newline at the end. According to SYSCALL(2), the return value
of -1 indicated an error, but the actual error code is stored in errno.
The DRM module itself can not do anything without a DRM driver.
It just takes up precious space (about ~5 MB for aarch64)
on the boot partition.
Devices that do include the appropriate DRM driver via
deviceinfo_modules_initfs will automatically pull in
"drm" and "drm_kms_helper" as dependencies, if needed.
So there is no need to depend on it explicitly.
Use deviceinfo_framebuffer_landscape during splash screen generation.
Also add the postmarketos-splash arguments variable to the computation
of the hash for the cache.
Adjust device-pine-pinetab to use the new variable, and therefore rotate
its splash screen.
[ci:skip-build]: already built successfully in CI
kirigami-gallery is not meant for users, but it is good testing
application and is even part of reference image provided by Plasma
Mobile team.
For now we are not targetting plasma-mobile towards users anyway and
only developers, so include kirigami-gallery in main UI package.
Currently we rely on the fact, that the kernel asks user space to load
the firmware for it, so we can use the /lib/firmware/postmarketos
directory for firmware.
As the kernel has support for loading the firmware itself since
v3.7, and the parameter for adding an additional path to the search
paths was added with v3.10, we can use that to not rely on
CONFIG_FW_LOADER_USER_HELPER being set.
Update to the 5.2 kernel plus my patches for the Nexus 5 display that
will also work for other msm8974-based systems:
https://github.com/masneyb/linux/commits/v5.2-nexus5-display. There's
currently 25 extra patches on top of 5.2:
- The first 9 patches after the 5.2 commit are currently in 5.3rc1 and
were back ported to 5.2. All of these patches have 'Commit XXX
upstream.' messages in the commit message.
- The next 9 patches are for ocmem support and some msm display fixes. I
expect that these will be merged upstream for 5.4rc1.
- The remaining 7 patches are still not suitable to send upstream.
[ci:skip-build]: already built successfully in CI
I've ordered the $depends list alphabetically for better readability,
and added the bluedevil (for Bluetooth) kwallet-pam and
xdg-desktop-portal-kde runtime dependencies.
[ci:skip-build]: already built successfully in CI
As Idan Horo wrote in osk-sdl!82:
"Newer versions of cryptsetup automatically encrypt with LUKS v2.
osk-sdl assumes all partitions are encrytped with v1 and as such fails.
By just changing the encryption type to NULL cryptsetup automatically
detects and chooses the correct LUKS version. Tested on xiaomi-kenzo."
Fix wifi on htc-ace by properly setting nl80211 before wext.
/etc/conf.d/wpa_supplicant is supposed to get modified twice with the
current code in the post-install file. The first one was patched
recently to set nl80211 before wext, but that change does not work in
practice, for two reasons:
1. The code block does not even get executed, because apk reports that
/etc/conf.d/wpa_supplicant was already modified (by a package that
was installed before, in its post-install script? I could not find
out which one does that though).
2. Even if it worked, the second code block would revert the change and
put wext before nl80211 again.
Fix this by removing the first code block, and changing the order in the
second one. Make it easier to catch such errors in the future, by
printing, which files get modified, or get skipped. Set "#!/bin/sh -e",
so the script can not fail silently.
When doing pmbootstrap -y zap and then pmbootstrap install, the output
looks like this:
(141/151) Installing postmarketos-base (3-r26)
Executing postmarketos-base-3-r26.post-install
- Modifying: /etc/fstab
- Modifying: /etc/issue
- Modifying: /etc/motd
- Modifying: /etc/conf.d/syslog
- Modifying: /etc/conf.d/wpa_supplicant
- Modifying: /etc/sudoers
- Modifying: /etc/chrony/chrony.conf