systemd 261 can now natively detect and mount subpartitions.
Fixes#4544
This also works around an issue where udiskie will prompt for mounting
the /usr partitions on disk, when they are subpartitions. I didn't
file a bug upstream because it's really not clear to me what to blame
(udisks2? udiskie? udev?)
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8660>
Split postmarketos-base-nofde out from postmarketos-base to fix this
bootstrap problem:
postmarketos-initramfs:
provides: postmarketos-ramdisk
depends: postmarketos-fde-unlocker
postmarketos-base:
depends: postmarketos-ramdisk
provides: postmarketos-fde-unlocker (via postmarketos-base-nofde subpackage)
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8657>
Apparently plymouth's config parser can't handle in-line comments. This
also fixes an issue I just noticed where the scale wasn't being parsed
correctly either because 1.0 is not a uint.
../src/libply/ply-key-file.c:427:ply_key_file_get_ulong : group 'Daemon' key 'DeviceScale' val '1.0' is not a valid unsigned number
../src/libply/ply-key-file.c:427:ply_key_file_get_ulong : group 'Daemon' key 'XkbExtraEscButton' val '0x1008ff2a # Power button (XKB_KEY_XF86PowerOff)' is not a valid unsigned number
The additional xkb config is necessary for plymouth to detect the pwr
key press, or else it isn't initialized.
Fixes#4548
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8561>
Without this rule, fb0 doesn't get ID_PATH set in the udev database
and plymouth this to detect that fb0 is backed by a DRM device. This
fixes an issue where plymouth times out and treats fb0 as an independent
display, and creates a second framebuffer renderer, which caused it to
render the splash at the wrong resolution.
These lines were lifted from 71-seat.rules, which are packaged in
systemd-udevd and elogind. They're vendored here because we don't want
to depend on elogind just for a few udev rules. These rules should be
idempotent in the rootfs (setting ID_PATH is guarded by ID_PATH=="" and
IIUC setting an existing TAG is a noop in udev)
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8561>
We don't need to have makedepends="postmarketos-initramfs" for building
postmarketos-base. I'm not sure why this was added in
6c799ac4f6.
Removing it fixes this dependency loop we currently see in BPO while
bootstrapping v26.06:
* postmarketos-initramfs-3.11.0-r0 (missing depends: postmarketos-base)
* postmarketos-base-61-r1 (missing depends: postmarketos-initramfs)
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8643>
Pinenote includes waveform lookup tables that are proprietary and only
available through the `waveform` partition. Before, we packaged empty
files for the firmware so that mkinitfa does not fail. The init scripts
then extracts the waveform binaries on first boot. Unfortunately, this
has the consequence that of overriding the extracted binaries every boot.
Fixes this by only creating stub files when files are missing so
mkinitfs does not fail via pre upgrade and install script.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8639>
4a1612eb56 introduced a set of changes for this kernel to support the
pine64-pinenote. The commit converts certain built-in drivers into
modules to make them work with the device.
This initially broke `pinebook-pro` due to `CONFIG_GPIO_ROCKCHIP=m`
which was reverted with 51261ea7. Making `CONFIG_DRM_ROCKCHIP` a module
pushes screen init to later in the boot, which is less ideal.
This reverts the change for `CONFIG_DRM_ROCKCHIP` for it to be built-in.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8633>
Vibrate on multiple stages:
* twice when forced to enter debug-shell
* 3 times on error
* once at the end of the initramfs to indicate that we're booting
to the OS
This uses the beebzzr tool <https://scm.dersco.re/utils/beebzzr.git>.
It is meant to be useful to know if your phone is booting or having
issues, which is useful when legally or fully blind, or when the display
isn't working yet.
On devices without force-feedback support, this is a no-op.
It is worth noting that quite a few devices do not yet have some modules
required for haptics in initramfs. These will need to be fixed for
beebzzr to work.
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7563>
Setting this to an empty string will result in the kernel invoking just
"ld" for linking, rather than aarch64-alpine-linux-musl-ld. When
building with GCC and linking with BFD, we still need to rely on
pmbootstrap to set CROSS_COMPILE appropriately, overriding it will break
cross compilation.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8622>
It turns out that U-Boot exposes a different name to ALSA UCM. Fix the
symlink to be the correct name from SMBIOS data.
Add the missing PlaybackMixer line. Without it, ALSA doesn't select the
right mixer, leading to a Qualcomm DSP error.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8624>