Add the dependency, so the systemd-services package gets built as part
of the bootstrap. Otherwise no service files will be installed, as the
individual service files get pulled in via install_if, and that only
works if a binary package is available.
There's some patches we didn't get upstreamed to mkinitfs yet, we need
them for /usr merge compatibility.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
This is a hack to configure utilisation clamping for gnome-shell. It
works by telling the scheduler that the gnome-shell process should run
with a much higher performance level. This improve animation performance
and general UI smoothness. A proper solution to have gnome-shell manage
this itself is in the works upstream.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
For systemd (and our own sanity) we need to do the /usr merge. This fork
of apk-tools includes the logic to support alpine packages like tar
which install the main tar binary to /bin and then a symlink to
/usr/bin/...
We should find a way to implement this in upstream apk-tools, and
continue pushing Alpine to also adopt the merged /usr model.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
alpine-base hard depends on openrc... Fork it to drop this.
We should eventually upstream this by having alpine-base depend on a
virtual pid1 or init-system subpackage which openrc and systemd can both
provide.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
This package is meant to encompass what an average developer would want
from a postmarketOS image. We plan to provide -dev variants of some
postmarketOS images for some devices for use by the Linux mobile
developer community. These should include useful tools out of the box
and provide a familiar shell and coreutils.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Apparently nftables-openrc doesn't get pulled in automatically? But we
can't just depend on it now. Add our own -openrc subpackage with the
correct install_if property to pull in nftables-openrc.
The upstream nftables-openrc subpackage should be fixed (if it's
broken).
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Install a kill-pbsplash systemd service which is configured to be
started as part of the graphical-session user target. Additionally
install an override so that if the display-manager service (aliases to
gdm, sddm, etc) fails to start it will still kill pbsplash.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Not sure if dropping the networkmanager-openrc dependency causes issues.
Otherwise, make the elogind subpackage conflict with systemd-logind.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Sxmo maintainers have decided to stay with OpenRC on postmarketOS. Set
this option, so pmbootstrap doesn't even ask the user if they want to
install Sxmo with systemd. The idea is that users don't end up
reporting issues about this unsupported use case.
Allow this package to be used on systemd installs without pulling in a
bunch of openrc services.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
How to boot from USB drives:
1. Make sure the extcon has OTG support and included in initramfs
2. Make sure the PMIC supports the power to OTG devices, and included in initramfs. Otherwise, a hub with external power supply is required.
3. Make sure module `usb-storage` is enabled in initramfs
4. `pmbootstrap install --sdcard=/dev/<usb_drive>`
- postmarketOS/pmbootstrap@942ee20789 is required to ignore sdcard check. Thanks @ollieparanoid for the patch.
5. `pmbootstrap flasher flash_kernel`
6. Insert the USB drive to OTG and boot
[ci:skip-build]: already built successfully in CI
I contribute to this package from time to time, so let's add myself to
maintainers to represent it here.
[ci:skip-build]: already built successfully in CI
This upgrades kernel to 6.6.22 backporting fixes for major performance
issues of Microsoft Surface RT.
This also re-generates config with "make grate_defconfig pmos.config"
and adds pmb:kconfigcheck-uefi for surface rt.
Now as boot-deploy allows us to generate both boot.img and extlinux.conf
at the same time, enable generating the config for all msm8226 since it
will be used in the future lk2nd release. boot.img is still kept to keep
compatibility with current lk2nd releases and to allow system recovery
with fastboot when required.
[ci:skip-build]: already built successfully in CI
* Parse the file in python and ensure it is ordered alphabetically
* Ensure that we have at least as many gitlab nicknames in CODEOWNERS,
as there are listed maintainers in main and community devices. This
should help with enforcing that every maintainer is also listed in
CODEOWNERS, so they can be easily pinged via their gitlab nickname if
something for the device they maintain is happening.
[ci:skip-build]: already built successfully in CI
Sometimes we need to figure out the gitlab nicknames of maintainers and
co-maintainers as listed in the APKBUILDs, e.g. when a specific issue
appears that only happens with a given device. Or if we want to ping
all device maintainers in the testing phase for the new release.
So far it has been a very tiresome, manual process to figure out gitlab
nicknames from the maintainers in the APKBUILDs (involving git log
--follow and opening merge requests in browsers...). After some
discussion we figured it would be good to store it in the CODEOWNERS
file.
This also has the nice side-effect that maintainers get notifications if
the APKBUILDs they maintain get changed.
We configure editors via editorconfig file. Remove the modeline, it was
wrong anyway by setting "et" to expand tabs to spaces, where in reality
this file uses tabs.
pmOS does not support charge mode anyway, and boots to a full UI, but this vendor kernel disables touchscreen when booting in charge mode. Remove that check, so that the phone can be used as usual.
[ci:skip-build]: already built successfully in CI
The postmarketos-artwork-wallpapers-gnome package no longer exists. Now
we just depend on the postmarketos-artwork-wallpapers package.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Current 6.6 kernel has some features broken for xiaomi-polaris including
LCD and Wi-Fi.
Add two patches that fix these problems.
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
[ci:skip-build]: already built successfully in CI
- kconfig changes from `pmb kconfig migrate`
- also enabled some USB serial drivers I wanted
- Reverts 7dcd3e014aa7, fixing bluetooth connections. This commit was
added after 6.8-rc6 and causes a regression. A revert was sent
upstream: https://lore.kernel.org/all/ZfMStHjwtCT1SW3z@hovoldconsulting.com/
[ci:skip-build] already built successfully in CI
Only temporarilly. This is in pmb_recommends, so does not need pkgver
bump. We can swap them back once it's built for armv7 in alpine, but
it's now blocking all MRs from merging.
[ci:skip-vercheck]
Reading the `ifname` of a gadget that has not been configured with a UDC
succeeds with the content `(unnamed net_device)` instead of failing.
So we need to explicitly check that a UDC was configured before we read
the interface name.
Ref: #2648
[ci:skip-build]: already built successfully in CI
Reading the `ifname` of a gadget that has not been configured with a UDC
succeeds with the content `(unnamed net_device)` instead of failing.
So we need to explicitly check that a UDC was configured before we read
the interface name.
Ref: #2648
A number of fixes:
- oem-amd-nonfree-fw no longer exists from c6306cb9b, and the fw here is
pretty much required for the device to be useful so it's added to
"depends=".
- drops the -vulkan subpackage since oem-amd-vulkan is doing the same
thing.
- force rootfs partition resize on boot, else the rootfs is too small
- disable unudhcpd, usb networking isn't working, and we don't need to
run it on any dedicated eth device
- use kernel with Valve's out of tree patches, to improve stability /
usefulness of device
fixes#2630
[ci:skip-build] already built successfully in CI
There are some important platform drivers that Valve has not upstreamed,
that are basically required for this device to operate well. I picked
those patches from the kernel tree they released for 6.5, and rebased
them onto 6.8.
Our config.txt is replaced (mv'ed to config.txt.old, maybe by alpine's
initramfs-generator?) and so our configuration does not have an
effect. Put our config stuff in usercfg.txt instead, which is included
by config.txt.
Fixes: https://gitlab.com/postmarketOS/pmaports/-/issues/2471
[ci:skip-build]: already built successfully in CI
Our config.txt is replaced (mv'ed to config.txt.old, maybe by alpine's
initramfs-generator?) and so our configuration does not have an
effect. Put our config stuff in usercfg.txt instead, which is included
by config.txt.
Also update vmlinuz name, should be vmlinuz-rpi and not vmlinuz-rpi4.
Name of package in aports is linux-rpi these days. linux-rpi provides
linux-rpi4 for backward compatibility, so depending on linux-rpi4
still works, but lets use real package name so that it is easier to
find.
Sometimes, there can be more than 10M of stuff collected for logging,
which breaks things.. bump the size to 32M which should still be small
enough for low end / old devices.
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
These are now provided by linux-firmware-brcm, which subsequently causes
a conflict between these packages. Fix it by removing the symlinks from
the device package.
Closes https://gitlab.com/postmarketOS/pmaports/-/issues/2616
[ci:skip-build]: already built successfully in CI
Changes:
- use msm-firmware-loader
- use soc-qcom-msm8953
- cleanup firmware package
- add tqftpserv as a dependency for modem
- add modules-initfs with panel and touchscreen modules
[ci:skip-build]: already built successfully in CI
Since kernel 6.5 (I believe) the ucm config
need to be adjusted because the mic way too
sensitive. The other party hears a freight
train riding rails that are almost
perpendicular ...
This is an attempt to get the mic to work nicely.
[ci:skip-build]: already built successfully in CI
Makes modem work on fairphone-fp4 (sm6350/sm7225) and fairphone-fp5
(sc7280/qcm6490)
Patches are submitted upstream:
https://github.com/andersson/tqftpserv/pull/13
[ci:skip-build]: already built successfully in CI
A bunch of override files in postmarketos-base-ui-plasma seem to have come from the plasma-mobile ui package, which probably shouldn't be on desktop and bigscreen.
With Plasma 6, a lot of the overrides are now no longer necessary for Plasma Mobile.
Situation with each file:
- 000-gschema.override - This likely was for changing maliit themes and GTK title bar layout for Plasma Mobile, maliit theming was dropped (https://github.com/maliit/keyboard/pull/108), and title bar layout is now handled within Plasma Mobile
- kdeglobals - This was for setting the look-and-feel on Plasma Mobile and default browser, it's now handled within Plasma Mobile envmanager
- kwinrc - These were settings for disabling window decorations and setting the vkbd to maliit, which is now handled in Plasma Mobile envmanager
- kscreenlockerrc - This is to autolock the screen after login (tinydm autologs in), the file was for Plasma Mobile, I don't think we want it for Desktop since SDDM is used there
Drop duplicated dependencies, which have been already included
in postmarketos-base-ui-plasma:
- dnsmasq
- elogind
- elogind-openrc
- polkit-kde-agent-1
[ci:skip-build]: already built successfully in CI
Unfortunately we cannot get to a getty shell unless we also run:
setenv SWITCH_SEL 3
from the SBL shell. Furthermore, actually getting kernel output
requires setting console=ttySAC2,115200.
SWITCH_SEL might be related to the "MUIC" of the device, but the
variable also controls whether or not it is possible to get serial
output from pads on main board, and seems weird that those pads are
affected by MUIC (unless pads are also behind MUIC, but seems like
that would be very annoying when developing the device)
See also initial MR where mainline support for i9100 was added, where
serial output is also discussed:
https://gitlab.com/postmarketOS/pmaports/-/merge_requests/1598#how-to-get-serial-output
[ci:skip-build]: already built successfully in CI
Added postmarketos-base-downstream and msm-fb-refresher to jxelte
dependencies.
The modules_install and firmware_install targets install binary
files as the zram files among others.
Added the 'mfc_fw.bin' binary to be installed from the firmware
package.
The '0002-fix-usb-gadget-random-mac.patch' patch make it possible
to get ethernet over usb, and the 'disable-charging-bootmode.patch'
avoid error messages on dmesg about 'sec_battery_probe'.
[ci:skip-build]: already built successfully in CI
Most things in temp come from Alpine's aports repository, which has
different rules and does not for example mandate that files are not
marked as executable. As such, let's not require packages in there
to conform to our rules.
[ci:skip-build]: already built successfully in CI
Most things in temp come from Alpine's aports repository, which has
different rules and does not for example mandate that all files use tabs
instead of spaces. As such, let's not require packages in there to
conform to our rules.
Fix incomplete commit ecc91098a9 that
was missing the dependency on
"postmarketos-base-downstream-disable-udev-v4l".
Fix MR !4768
[ci:skip-build]: already built successfully in CI
This fixes building for linux-lg-vee7e, and adds a shared patch.
The shared patch replaces the "Solaris style flags" in piggy.gzip.S
[ci:skip-build]: already built successfully in CI
Commit fe54a7be4 ("device/msm8916*: Generate extlinux.conf (MR 4826)")
updated most users of msm8916 kernel to generate extlinux.conf.
Unfortunately the commands used to bulk-make changes only affected
aarch64 users of the kernel package and armv7 users were missed.
Apply the same changes to all armv7 users of msm8916 kernel too.
[ci:ignore-count]
This p4412_s_f2bl1.bin is signed by Samsung and allegedly originates
from a vendor bsp package for one of the early odroid devices based on
exynos 4412. Unlike most bl1 blobs this one does not check the
signature of bl2, allowing us to use open bootloaders like u-boot
instead of Samsung's proprietary sboot.
This installs all linux-firmware by default (using pmb_recommends) in a
way that allows for users to remove extraneous fw if they want.
The old `nonfree-firmware` packages have been dropped since pmbootstrap
no longer conditionally installs these.
[ci:skip-build]: already built successfully in CI
We have decided to not use the non-free firmware subpackages anymore,
read the details in the blog post. Allow direct dependencies from the
device packages to the firmware packages.
Related: https://postmarketos.org/edge/2024/02/15/default-nonfree-fw/
[ci:skip-build]: already built successfully in CI
This switches from 6.1 LTS to 6.6 LTS.
Unfortunately, this version has regressions related to SPI (breaks keyboard)
and DRM (breaks display). Thus adding patches to revert these regressions.
Hopefully, these will be properly fixed until the next LTS release.
This also makes it pass community kconfig check again.
[ci:skip-build]: already built successfully in CI
- Fixes FDE unlocking on devices with usb keyboards
- Also drops the i915 module from the initfs, this is specified by the
oem-intel package now
[ci:skip-build] already built successfully in CI
/dev/pmsg0 may be created by pstore driver. When it is available,
write logs into it so logs can be recovered through pstore after
a failed boot. This is useful for devices without console or hard
to get console.
On HTC devices with S-On still active, the 'userdata' partition
is not writable. Change the default rootfs partition to the
'system' partition, which is writable.
Now as boot-deploy allows us to generate both boot.img and extlinux.conf
at the same time, enable generating the config for all msm8916 since it
will be used in the future lk2nd release. boot.img is still kept to keep
compatibility with current lk2nd releases and to allow system recovery
with fastboot when required.
[ci:skip-build] already built successfully in CI
[ci:ignore-count]
Crappy workaround, it's better than having DNS broken...
See: https://gitlab.com/postmarketOS/pmaports/-/issues/2601
Also removed it from shellcheck, because SC doesn't like all of the
unused/unreachable things after the `exit 0`. This commit should be
reverted when the issue is actually fixed later...
[ci:skip-build] already built successfully in CI
* Depend on the common soc-qcom-sm7150 package
* Set console=null in cmdline
* Add touchscreen firmware to initramfs
* Add required modules for touchscreen to modules-initfs
* Panel output works, drop phoc.ini
* Switch maintainer and co-maintainer
* Bump pkgrel to 1.2
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
this allows to opt-out of usb-tethering on pmOS devices with
`apk add !postmarketos-base-ui-networkmanager-usb-tethering`
this is useful for developers with laptops on pmOS / dailydriving
those laptops on pmOS.
[ci:skip-build]: Already built successfully in CI.
hwclock default configuration is to use the S3C RTC, which is mapped to
/dev/rtc0. However, reading from this clock fails with the following
kernel message:
"s3c-rtc 101e0000.rtc: hctosys: unable to read the hardware clock"
and the time as boot is then always set to 1/1/1970.
This commit change the default RTC to the MAX77686 one (mapped to
/dev/rtc1), that does not suffer from this issue.
Signed-off-by: Alexandre Marquet <tb@a-marquet.fr>
The adjustments made by this script are unnecessary now that the device
runs a mainline kernel, and more importantly the brcmfmac driver (as
opposed to the bcmdhd driver used in the vendor kernel).
Signed-off-by: Alexandre Marquet <tb@a-marquet.fr>
With the pmbootstrap change let's change the deviceinfo variable names
to the non-deprecated version.
[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
These apps are useful to have on the full GNOME desktop too, and this
removes the need to duplicate package lists across UI meta packages that
depend on the base gnome UI package.
Some devices take time to initialize storage, e.g. Qualcomm laptops
using ADSP need to load firmware firstly, and initramfs script does
not always manage to mount boot partition in time.
Unfortunately, there is no reliable way to reproduce the issue, but
this patch should fix cases like this.
This commit also removes librecomputer-solitude/alta device tree patches
as they're now upstream.
Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
[ci:skip-build]: already built successfully in CI
aports' community/crust package generates a crust-pinephone subpackage
that is equivalent to pmaports' current main/crust package, that is,
the crust-pinephone subpackage contains the SCP firmware binary needed for
the PinePhone. The aports crust package itself only contains a LICENSE file.
Furthermore, aports' package updated to v0.6 recently, so apk would pick it
over pmaports' v0.5 package, which would cause the build to fail because of
the missing SCP firmware binary.
This change fixes the build of u-boot-pinephone by switching the dependency to
the aports crust-pinephone package.
Move the files to initramfs-extra, so the initramfs is not too big for
ChromeOS devices. I had initially added this to initramfs, because
otherwise the graphics on my Thinkpad L14 would not come up. But I
verified that it also works with having it in initramfs-extra.
Fixes: #2578
This device has no maintainers specified, and, though I did not port this
device, I have one and I maintain linux-postmarketos-exynos5, so it is
probably okay for me to take maintainership of it.
As for several other exynos devices we need to disable the
video4linux's udev rule OR disable FIMC IS and patch kernel to fix
build error without FIMC IS.
Add dependency on postmarketos-base-downstream-disable-udev-v4l to
override the v4l rule with symlink to /dev/null. We can then drop
FIMC IS patch and keep kernel config more similar to original one.
As for several other exynos devices we need to disable the
video4linux's udev rule OR disable FIMC IS and patch kernel to fix
build error without FIMC IS.
Add dependency on postmarketos-base-downstream-disable-udev-v4l to
override the v4l rule with symlink to /dev/null. We can then drop
FIMC IS patch and keep kernel config more similar to original one.
We want both klimtwifi and klimtlte to be able to depend on
firmware-samsung-klimt, for both their downstream and mainline kernel
variants.
Previously we used install_if like:
install_if="device-samsung-klimtlte-kernel-mainline" which will only
work for klimtlte and not klimtwifi. Instead we add two nonfree
subpackages to the device packages that install_if's depending on
kernel choice.
We want both chagallwifi and chagalllte to be able to depend on
firmware-samsung-chagall, for both their downstream and mainline
kernel variants.
Previously we used install_if like:
install_if="device-samsung-chagallwifi-kernel-mainline"
which will only work for chagallwifi and not chagalllte. Instead we
add two nonfree subpackages to the device packages that install_if's
depending on kernel choice.
Provides firmware files that are common for all Samsung devices based
on Exynos 5420 when using Samsung's vendor kernel.
For now the package contains mfc, sound and bluetooth firmware. Sound
and bluetooth do not work at the moment, but lets package the required
files anyways.
Postmarketos-base-downstream-disable-udev-v4l symlinks
/lib/udev/rules.d/60-persistent-v4l.rules to /dev/null, so depend on
this package instead. The dependency is added to downstream kernel
subpackage, as issue *should* only affect downstream kernel.
[ci:ignore-count]: many device packages updated at the same time
[ci:skip-build]: already built successfully in CI
Postmarketos-base-downstream-disable-udev-v4l symlinks
/lib/udev/rules.d/60-persistent-v4l.rules to /dev/null, so depend on
this package instead. The dependency is added to downstream kernel
subpackage, as issue *should* only affect downstream kernel.
Postmarketos-base-downstream-disable-udev-v4l symlinks
/lib/udev/rules.d/60-persistent-v4l.rules to /dev/null, so depend on
this package instead. The dependency is added to downstream kernel
subpackage, as issue *should* only affect downstream kernel.
Which replaces /lib/udev/rules.d/60-persistent-v4l.rules (from the
eudev package) with a symlink to /dev/null. Around 20 devices need
this to fix a kernel panic with downstream kernel when starting udev.
Issue happens due to that camera firmware is missing and/or not loaded
properly.
Since audio over DisplayPort (over USB-C) is supported in the kernel,
add a UCM config to complete support.
To be clear, this might not work out of the box yet, I hope it'll start
working better when another audio route (speaker or microphone) is
working from kernel side.
[ci:skip-build]: Already built successfully in CI.
Since the GPU is supported since a while enable
deviceinfo_gpu_accelerated to let pmbootstrap show UIs like phosh.
Also with modem working with patched tqftpserv, we need the
msm-modem-uim-selection dependency, so add that as well.
In mainline Linux these paths will be used, move the firmware packaging
there. By doing this we drop downstream support. Support could be
restored by adding some symlinks in a downstream-specific package if
required.
We also start squashing the firmware into .mbn format with pil-squasher.
For now we keep the files in _wififiles in their old location, I'm not
sure yet where they need to go since I didn't have wcnss working on
mainline yet.
The configfs gadget can provide the actual interface name, which may not be
the default "usb0" since another gadget driver might have claimed "usb0".
This code is based on the `start_unudhcpd` function in `init_functions.sh`
[ci:skip-build] already built successfully in CI
Before this change the script assumed that the device has only one UDC.
However it is possible for a device to have multiple UDCs, in which case
the deviceinfo is the appropriate place to specify which one should be used.
This change adds an optional deviceinfo variable `deviceinfo_usb_network_udc`
to specify the UDC that should be used.
Also, before this change the script assumed the USB network interface name is
"usb0". But other gadget drivers like `g_cdc` can claim USB interfaces
before the initramfs script gets around to creating one for USB networking,
so the interface might be "usb1" or something else. The configfs gadget itself
can provide the actual interface name, so this change makes the script
use that.
Required for getting mobile data up, otherwise ModemManager fails to
connect with:
Status | connected: no
| connection error name: org.freedesktop.ModemManager1.Error.MobileEquipment.Unknown
| connection error message: failed to create net link for device: failed to add link for device: Could not allocate link: Failed to add link with mux id 1: Netlink message with transaction 27 failed
[ci:skip-build]: already built successfully in CI
Required for getting mobile data up, otherwise ModemManager fails to
connect with:
Status | connected: no
| connection error name: org.freedesktop.ModemManager1.Error.MobileEquipment.Unknown
| connection error message: failed to create net link for device: failed to add link for device: Could not allocate link: Failed to add link with mux id 1: Netlink message with transaction 27 failed
In many cases, when fw is installed in /lib/firmware, some of it ends up
in the initramfs. In those situations, mkinitfs should run so that the
initramfs gets the latest fw. This will result in mkinitfs possibly
running in cases where it doesn't matter (i.e. device has fw in
/lib/firmware but none is used in the initramfs), but I think the
trade-off is worth it.
This also breaks the triggers= line into multiple lines so that it's
easier to review/maintain. We can't prepend whitespace on these lines
since the apkbuild parser expects dirs to be separated by ":"
Previously, the modem firmware would be loaded from the modem partition
using this firmware loader. As of the 6.5.4 SDM670 kernel upgrade, the
firmware is installed and loaded from the firmware package. Drop the
dependency on the msm-firmware-loader, which is now unused.
We do not want this going forward as we will be changing the wallpaper
on a bi-yearly basis and we do not want to have perform shotgun surgery
every time we do so.
[ci:skip-build]: already built successfully in CI
Krane doesn't have a headphone jack, which caused audio server issues
for me. Add a check to only enable the headphone and headset mic device
on non-Krane boards. Also improve the formatting and remove
ChromeOS-specifc options.
[ci:skip-build]: already built successfully in CI
I was building a branch archive previously, which meant that rebuilding
would fail if someone pushed to the branch upstream (the archive
checksum would change)... so I've reverted back to building from a
specific commit for now.
pkgrel was increased because this commit includes a couple of
audio-related patches that weren't included in the previous packaging of
the 6.7 branch.
[ci:skip-build] Already build-tested on Gitlab CI
Similarly to how it was done for xiaomi-beyllium with varying
display panels, add kernel variant for clover-plus.
Mi Pad 4 Plus is very very similar to regular Mi Pad 4,
but it has different panel and different touchscreen.
Therefore it uses different device tree in kernel - and it
is the only changed line in deviceinfo file.
Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
[ci:skip-build]: Already built successfully in CI.
In order to make it work properly, the fcc unlock script from MM should
also be enabled... This info will be added to the device's wiki page for
now since upstream MM discourages distros from enabling these unlock
scripts by default...
fixes https://gitlab.com/postmarketOS/pmaports/-/issues/2489
[ci:skip-build]: Already built successfully in CI.
The fbdev backend was removed with Weston 10 which has been out for a
good while now. As such, it doesn't matter whether Xwayland works or not
since Weston won't work at all --- the DRM backend, which is what would
get used instead of fbdev with this removed, won't work on downstream
kernels like the one used by this device.
[ci:ignore-count]
[ci:skip-build]: Already built successfully in CI.
The fbdev backend was removed with Weston 10 which has been out for a
good while now. As such, it doesn't matter whether Xwayland works or not
since Weston won't work at all --- the DRM backend, which is what would
get used instead of fbdev with this removed, won't work on downstream
kernels like the one used by this device.
There is no dri-backend.so. I don't know if this ever existed. May have
been a typo where the author meant to type drm-backend.so. The DRM
backend should be the default anyway, so just remove it instead of
fixing what may have been a typo.
The fbdev backend was removed with Weston 10 which has been out for a
good while now. This device should be able to use the DRM backend
anyway given that it uses the A64 SoC which also e.g. the PinePhone
uses.
Additionally, the comment about Xwayland being broken contradicts the
actual configuration file where Xwayland actually is being enabled
(xwayland=true), so this shouldn't be causing any regressions even if it
actually is broken.
The fbdev backend was removed with Weston 10 which has been out for a
good while now. As such, Weston won't work with the downstream port
anyway which is likely where Xwayland supposedly was broken. As such,
remove this unnecessary configuration file.
We did set these variables, so it is possible to flash boot and root
partitions separately for booting with stock partition table. This
is useful for U-Boot as secondary bootloader. But it's not good for
U-Boot as primary bootloader because the resulting images have boot
and root partitions separated, so users have to create partitions
themselves and this is very confusing.
I'm suggesting to disable it in favor of doing U-Boot as primary
bootloader, this may be harder for users, but it needs to be done
only once, and this way is more fancy and is supported on more
devices than secondary bootloader.
If someone still wants to use this port with U-Boot as secondary
bootloader they can do "pmbootstrap install --split" and
"pmbootstrap export" to get 2 separate partitions to flash.
[ci:skip-build]: Already built successfully in CI.
bcm4330 has 2 wifi sdio firmwares, one with IEEE 802.11а support
and one without. One without was missing which caused some
devices to have wireless network issues.
Additionally Oyua specific bluetooth firmware was found and it
is included as well.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
[ci:skip-build]: Already built successfully in CI.
Fixes#2349. Patches refreshed because some didn't apply when I built
directly from local repo and tried to import them with "git am".
Known issue: NetworkManager fails to assign IP to usb0, I had to
assign it manually to use USB networking.
In the mainline ds2482 onewire kernel driver, active_pullup defaults to
1 which is setting the APU register. This caused the connection to the
ds2784_battery slave to be unstable and flaky. In the AOSP manta project
this flag is set to 0 as well.
This is a device-specific package. The only device that depends on
this, device-nokia-n900, is in community, so let's move it there too.
[ci:skip-build]: already built successfully in CI
This is a device-specific package. No need to keep it in main where it
gets included in stable releases unnecessarily. The only device that
depends on this, device-inet-a33, is in testing, so let's move it there
too.
Also start squashing the .mdt files into .mbn and provide compatibility
symlinks so old kernels that look for .mdt still find it.
Also move the zap firmware into a device-specific subdirectory.
Symlinks for venus are skipped since that one's not used in any
production branch yet for sm7225.
[ci:skip-build]: Already built successfully in CI.
Dependencies:
- Add dependency "xfce4-screensaver" to provide virtual keyboard at screen
unlock. As a dependency because several settings need to be implemented to
integrate it well in LXQt.
- Add dependency "setxkbmap" to make keyboard layout settings work
- Add dependency "upower" to make battery icon in panel work
Recommends:
- Add recommend "pulseaudio" to make sound work
- Add recommend "adwaita-icon-theme" because that's used by xfce4-screensaver
- Remove recommend "pavucontrol" because there is already "pavucontrol-qt"
Sources:
- Add autostart desktop file for xfce4-screensaver
- Add autostart desktop file to override lxqt-xscreensaver-autostart
- Modify autostart desktop file for onboard, a startup delay mitigates
an issue with the onboard panel icon not showing up at the first boot
- Modify lxqt-tablet.sh to include custom XDG_DATA_DIRS
- Add application desktop file to override xfce4-screensaver-preferences,
adding it to the menu
- Add application desktop file to override xscreensaver-settings, removing it
from the menu
- Change install location of "lxqt-tablet" repository configs from
/etc/skel/.config to /etc/xdg/lxqt-tablet. That way they are handled as
distribution-specific configs and are separated from the user configs in
~/.config.
- Upgrade to version 0.3 of "lxqt-tablet" repository:
- Change theme to "Dark" to fix panel look
- Increase panel size
- Change wallpaper mode to "zoom" to avoid deforming the picture
- Disable global single click to not interfere with PCManFM
- Add terminal and file manager launchers to panel
- Rename openbox xml file to apply the configs
- Set lock command to xfce4-screensaver
- Add xfconf files to configure xfce4-screensaver
- Clean up configs by removing default values
[ci:skip-build]: Already built successfully in CI.
These cmdline params are not needed because the issues they worked
around were fixed in 6.7 or in this kernel branch we are using.
Additional modules are included in the initramfs since they may not be
builtin in the future, and not having them loaded in the initfs can break booting
kconfig changes:
- Most are due to running 'pmb kconfig migrate'
- Enable USB_F_FS
- Build ath11k as a module + enable debug, to help with debugging
pma#2361
- Enable support for BT BR/EDR stuff (like HFP)
- Enable CRYPTO_MD4 for EAP_MSCHAPv2
This uses oem-specific packages for configuring Intel and AMD systems,
and installs them all by default for new images using pmbootstrap's
pmb_recommends feature.
The intention is to provide pre-built images with support for Intel and
AMD already enabled/configured, and users can remove an unwanted set of
packages (e.g., `apk del device-generic-x86_64-intel` when on an AMD
system) if they want to.
Upgrading existing systems should work, in that I haven't observed any
apk conflicts with it. But you do need to manually install the new
oem-specific package if you need it (e.g. `oem-intel`)
fixes https://gitlab.com/postmarketOS/pmaports/-/issues/2484
The panel driver has been renmaed in the kernel sources to be in line
with what's going to be upstreamed.
[ci:skip-build]: Already built successfully in CI.
Currently, when postmarketOS fails to boot up, retrieving any
information necessary to root cause the issue is non-trivial, requiring
building a custom initramfs with debug-shell enabled and then manually
copying out data.
Let's improve the situation by exporting logs automatically on boot
failure. This is safer than just exposing a root shell but still
provides a whole lot of useful info that should make duplicating and
triaging issues much easier for developers.
This commit implements the functionality and includes some generally
useful data. We then generate a README and expose files for each command/log
as well as an archive that can be easily attached to a GitLab issue.
To help with triaging, also record the version of the postmarketos-initramfs
package and hash the init.sh and init_functions.sh files.
For testing purposes, you can trigger the log recovery mode on-time by
creating an empty file named ".pmos_export_logs" in the /boot partition.
Signed-off-by: Caleb Connolly <caleb@connolly.tech>
Always write logs to the ramdisk, adjust setup_log() to spawn "tail" to
pipe the log to the console device when PMOS_NO_OUTPUT_REDIRECT is set.
This is necessary to ensure that the initramfs logs can be extracted on
a failed boot.
Signed-off-by: Caleb Connolly <caleb@connolly.tech>
In preparation of new sdm660-mainline kernel release all
downstream ports will become irrelevant.
If needed, downstream port can still be chosen as
'xiaomi-lavender-downstream' during pmbootstrap init.
Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
[ci:skip-build]: already built successfully in CI
non-free firmware not (yet?) submitted to linux-firmware, this is pulled
directly from the latest versions distributed by lenovo, instead of some
probably outdated repo distributed by random folks.
The bt firmware here fixes an issue where the bt range on the 21bx is
extremely poor (like ~1 meter or less)
linux3.4-ARM-8933-1-replace-Sun-Solaris-style-flag-on-section-xz-supplementation.patch
contains an addition that was not part of
linux3.4-ARM-8933-1-replace-Sun-Solaris-style-flag-on-section.patch
simply because error did not occur with the config I tested with.
[ci:skip-build]: already built successfully in CI
This device package is intended to replace the tablet-x*uefi device
packages. It was made by basically merging config from those two
packages.
One important change (besides the name, covered later) is that it
replaces grub-efi with sd-boot for these devices.
The pkgver is starting at '8' to get ahead of the packages this is meant
to replace.
Because package names, especially for device packages(!), is important,
here's a long explanation of why the name is "device-generic-x86_64":
"uefi" was excluded from the device package name, because it should (in
theory at least...) be able to simultaneously support EFI and non-EFI
boot in 1 device package. The device-qemu-amd64 package kiiiinda does
this already and could be a useful example for how to do that, though in
this situation we'd need to support syslinux for legacy boot instead of
what qemu does (bypass installed bootloader and directly boot the
kernel). In other words, the packages this one is meant to replace only
support EFI boot, they currently don't support legacy boot. So IF we
need to support legacy boot in the future and IF there's no way to
support both in one package, THEN we can consider changing the name of
this one or calling the other "-legacy" or something.
"x86_64" instead of "amd64" (like the device-qemu-amd64 device package),
because "x86_64" is what Alpine uses to refer to this arch, and it
doesn't have a hw vendor name baked into it.
"tablet" was dropped from the name, because there are many other x86_64 devices
out there that people might want to install pmOS. For example, it might be
confusing if you want to install pmOS on an x86_64 toaster but best
pmOS image for it is named "device-tablet-..."
* Check for space indentation instead of tabs
* Check that an entry actually exists
* Check that a directory ends in a slash, otherwise GitLab seems to
ignore it
This was enabled in the "default" runlevel during upgrades, which is an
error, since it depends on bootmisc, which is in "boot" runlevel
Fixes#2473
[ci:skip-build]: Already built successfully in CI.
This replaces the outdated blobs extracted from Android vendor partitions with more recent firmware provided in the linux-firmware-brcm package.
[ci:skip-build]: Already built successfully in CI.
Add the Portugese/Spanish keymap. Similarly to the Finnish/Swedish
keymap, it's compatible with both Portugese and Spanish keyboards.
Also, modify x11-keymap so that the Portugese/Spanish map will use
Alt+Shift to enter an underscore in the F key and a backslash in the C
key, which was done to avoid redundancy with the "Ñ" key.
Signed-off-by: Lux Aliaga <lux@nixgoat.me
[ci:skip-build] already built successfully in CI
And enable it by default, since it's a sensible thing to do.
This makes the bootmisc config file unnecessary, since it was only
used before to make sure that /tmp was wiped on every boot.
Mounting /tmp as a tmpfs will be skipped if:
* The user or maintainer configured deviceinfo_tmp_as_tmpfs_size=0
* If they didn't but the device has less than 2GB of RAM
* And in any case, if it is already mounted, to respect users that
might have it in /etc/fstab
The options for mounting /tmp has been copied from my local debian
tmp.mount service. The only real difference is that we are mounting it
after /etc/fstab, and they do so before.
Fixes#2233
Notification daemon; provides nice HUD for volume control and allows
Blueman to normally send notifications instead of opening separate
windows (which can get very annoying for frequently-reconnecting
devices).
Start squashing all the .mdt files into .mbn and install those. Keep
installing compatibility symlinks so old and new kernel versions can
work with the firmware - the kernel detects the correct format anyways.
[ci:skip-build] already built successfully in CI
Currently, the build fails with the following error message:
arch/arm/mm/proc-v7.S: Assembler messages:
arch/arm/mm/proc-v7.S:346: Error: junk at end of line, first unrecognized character is `#'
make[1]: *** [scripts/Makefile.build:343: arch/arm/mm/proc-v7.o] Error 1
make: *** [Makefile:952: arch/arm/mm] Error 2
This is because in binutils package, starting with version 2.41, stopped
supporting Sun/Solaris style flags on section directive.
To fix that, use a patch that replaces this with the GNU style flags,
partly backported from mainline.
Fixes: https://gitlab.com/postmarketOS/pmaports/-/issues/2355
Manual config changes:
* DRM_MSM=m (there's a race condition, genpd_power_off_unused needs to
turn off mdss_gdsc before the display driver inits, otherwise screen
stays black)
[ci:skip-build]: already built successfully in CI
For some reason we don't have dtb subdirectories.
Tested locally to pass pmbootstrap install and checked /boot for dtbs
[ci:skip-build]: already built successfully in CI
There are three changes from the config source "xfce4-phone":
- Move whiskermenu settings to xfconf (required by an upstream change)
- Hide tooltips by workaround (opacity and font size)
- Increase double-click distance tolerance
And one change in postmarketOS files:
- Enable mouse key buttons on onboard keyboard by default (eases
right-clicking)
[ci:skip-build]: Already built successfully in CI.
hexagonrpcd is necessary to provide access to the filesystem for the SDSP.
Also, OP6T accelerometer is mounted differently than the screen, adjust
it with a mount matrix. This way, screen rotations follow the actual
screen rotation by the user.
hexagonrpcd is necessary to provide access to the filesystem for the SDSP.
Also, OP6 accelerometer is mounted differently than the screen, adjust
it with a mount matrix. This way, screen rotations follow the actual
screen rotation by the user.
SHIFT6mq accelerometer is mounted differently than the screen,
adjust it with a mount matrix. This way, screen rotations follow
the actual screen rotation by the user.
Remove the gtk tweaks, they break the UI now, presumably because I've
added proper notch config for FP4 to the gmobile project.
Also we can remove the phoc.ini since nowadays phosh can properly scale
itself based on the screen information and doesn't need this static
config anymore.
[ci:skip-build]: already built successfully in CI
This allows GNOME Settings to display our wallpapers. And most
remarkably, it allows people to switch back to the original wallpaper
if they ever happen to change it.
[ci:skip-build]: already built successfully in CI
This device port uses U-Boot as a basic bootloader. Users should install
U-Boot and reinstall pmOS to the U-Boot version of port (this one).
Thus an upgrade from old installations that depend on old vendor bootloader
is not implemented.
Instruction how to install U-Boot can be found on dedicated page of
pmOS wiki.
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Logging is important, we want our users to have logging, so make sure we
enable the new logbookd service on existing installation.
We check that we're upgrading from a postmarketos-base version that
predates logbookd and only enable the service in this case. This way we
won't enable it again for folks who disabled it manually.
Signed-off-by: Caleb Connolly <caleb@connolly.tech>
[ci:skip-vercheck]
Use logbookd to replace the busybox in-memory logger. The default
configuration of logbookd still logs in-memory but writes out the log on
shutdown or manual trigger.
The logread command is also replaced by a drop-in replacement for the
busybox tool.
In order to get stable WiFi and Bluetooth MAC addresses, install the
bootmac service by default.
Also as noted in other device package reviews, qbootctl-openrc should be
a dependency so the post-install/post-upgrade script will definitely
have the openrc service available.
[ci:skip-build]: already built successfully in CI
Also disable some drivers and subsystems in the kernel configuration
that are generally unused on the platform, according to the
corresponding patch in the kernel repository.
[ci:skip-build]: already built successfully in CI
Drop all the non-sdm845 DTBs. This saves about 12MiB
of space in /boot
Signed-off-by: Caleb Connolly <caleb@connolly.tech>
[ci:skip-build]: already built successfully in CI
The post-upgrade script in pmos-base isn't symlinked to the post-install
script, so zram-init wasn't being enabled on systems that upgraded to
the pmos-base version that intro'd this feature. I think this should
have been enabled by default on upgraded systems. There's a deviceinfo
toggle for it, so users who won't want to use this can set that var to
disable it, in that case having the service enabled is basically a
no-op.
Update by Oliver: add a comment to mention the deviceinfo variable
[ci:skip-build]: already built successfully in CI
[ci:skip-vercheck] no feature changes
Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
[ci:skip-build]: already built successfully in CI
This was a fallout from the /usr/share relocation, only found and
reported now by z3ntu. If the device package happened to be installed
later, then the link would point to the wrong location.
Fixes 1d748a93dd
Allows things like podman/docker to work out of the box.
I looked at /etc/init.d/cgroups, and having this service enabled isn't a
problem if the kernel doesn't have cgroup support... in that situation,
the service script just simply exits (success).
[ci:skip-build] already built successfully in CI
Manual config changes:
* Enable SYSCON_REBOOT_MODE
* Enable LEDS_QCOM_LPG (not yet used but initial driver support present)
[ci:skip-build]: Already built successfully in CI.
For some reason kernel does not print anything to ttySAC3 even with
console=/dev/ttySAC3. If earlycon is specified it prints the early
stuff though.
Add ttySAC3 in both places anyways since that should be the correct
uart.
The riscv64 builder in Alpine is currently stuck, let's disable the
package for riscv64 temporarily so bpo isn't stuck on it for master. I
doubt anybody is using it on riscv64 currently.
[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
EFI booting with systemd-boot requires building the kernel with ZBOOT -
the EFI decompressor stub. However, this breaks the old Android booting.
Detect when ZBOOT is enabled and install both vmlinuz.efi as well as the
old gzipped kernel image.
To help make this upgrade more seamless, continue to support building
the kernel with ZBOOT disabled and just print a warning.
Disable module stripping - we compress them anyway and a recent kernel
change seems to have caused some bug here.
This is a packaging change that doesn't require rebuilding the kernel.
[ci:skip-vercheck]
# Set capture volume to 0dB so modem audio doesn't overdrive the ADC
cset "name='ADC Capture Volume' 160"
cset "name='Mono ADC Capture Volume' 160"
# Set capture volume to 0dB (47) so modem audio doesn't overdrive the ADC
# Bobby: switch down to 0, mic is way to sensitive since kernel ~6.5
cset "name='ADC Capture Volume' 0"
cset "name='Mono ADC Capture Volume' 47"
# The second 'Mono ADC' path does not have a 'Boost Gain',
# set this to 0dB so that the volume of the AIF1 and AIF2 paths is equal.
@@ -50,7 +51,7 @@ SectionVerb {
# Set IN1 internal mic boost to 8 (max)
# Set IN2 headset-mic boost to 1, headset mics are quite loud
# Set IN3 (modem audio) boost to 0 as it's already loud enough
cset "name='IN1 Boost' 8"
cset "name='IN1 Boost' 0"
cset "name='IN2 Boost' 1"
cset "name='IN3 Boost' 0"
@@ -107,7 +108,7 @@ SectionVerb {
# Set playback volumes to 0dB
cset "name='HP Playback Volume' 31"
cset "name='Speaker Playback Volume' 31"
cset "name='Speaker Playback Volume' 48"
]
DisableSequence [
Loaded 100 of 1604 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.