Add deviceinfo_flash_kernel_on_update="true" to the deviceinfo file.
This makes sure that the updated kernel is flashed to the device every
time the linux-postmarketos-exynos4 package is updated.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
[ci:skip-build]: already built successfully in CI
Package was removed and is now included in boot-deploy.
[ci:ignore-count]: Lots of packages intentionally changed.
[ci:skip-build]: already built successfully in CI
Near-mainline kernel is feature-complete since quite some time, so lets
use that as a default also to simplify boot process, since downstream kernel
depends on various blobs loaded into memory by the bootloader.
Get rid of quirks required in boot process for mainline kernels
also by using a near-mainline u-boot.
Prepare for handling rev b devices.
Keep Downstream kernel to be able to optimize/compare EPD operation
- usbguard config: these are builtin USB devices that should be allowed
by default
- removed nonfree-fw package, I decided that everything from that should
be required since some fairly major features are broken without these
firmwares and relevant userspace apps
- re-enabled EFI runtime services, so efifb is used (and probably other
benefits?)
- Laptops need the "Linux Boot" option enabled
- "With recent UEFI firmware efi=noruntime can be left out when
the Linux Boot option is enabled."
- https://github.com/jhovold/linux/wiki/X13s#kernel-command-line
[ci:skip-build]: already built successfully in CI
It seems that wireplumber is now installed by default, instead of pipewire-media-session. Thus we need to set api.alsa.headroom in wireplumber configuration too to get working audio.
This basically copies /usr/share/wireplumber/wireplumber.conf.d/alsa-vm.conf and relaxes the filters.
[ci:skip-build]: already built successfully in CI
exkc has stated that he cannot maintain the ports anymore,
see #postmarketos-devel discussion:
<@f_[xmpp]> af2e02839bcfb0aae789a9ea66f63a: hiya, are you available?
<@f_[xmpp]> It's about 2 of your Amlogic device ports. You said
before that your beelink-gt1 and xiaomi-once were broken
<@f_[xmpp]> are you still able to maintain these ports?
<@f_[xmpp]> If not then they should probably be dropped.
<af2e02839bcfb0aae789a9ea66f63a> drop them
<@f_[xmpp]> af2e02839bcfb0aae789a9ea66f63a: sure
[ci:skip-vercheck]
Suggested-by: exkc <exxxxkc@getgoogleoff.me>
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Add support for Sony Xperia Z3 Compact and HTC One (M8).
Also take the opportunity to align the LOCALVERSION/KBUILD_BUILD_VERSION
fields with e.g. SC7280 kernel.
[ci:skip-build]: already built successfully in CI
Add deviceinfo variables so that QCDT generation is carried out by
boot-deploy. The mainline kernel no longer generates the QCDT image
for the device.
[ci:skip-build]: already built successfully in CI
Upgrade the kernel to version 6.8.1.
Move the devicetrees to be built in-tree. This enables better
integration of the devicetree sources with the kernel, such as being
able to access macros available in include/dt-bindings.
Additionally, remove QCDT generation from the kernel. This is required
for supporting multiple devices, having different QCDTs. It can instead
be done in a per-device basis using boot-deploy.
[ci:skip-build]: already built successfully in CI
The China LTE versions of Samsung Galaxy S5 (G9006[VW]/G9008[VW]/G9009W) have
some little hardware difference with the G900F variant.
Add kernel variants, with klte variant for G900F (which is currently
supported) and kltechn variant for G9006/G9008/G9009W (newly added).
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
The modem requires firmware to be loaded from an on-device RADIO partition, samsungipcd does that. Not installing it prevents that firmware from being used.
[ci:skip-build]: already built successfully in CI
With the new changes in lk2nd that allow us to support extlinux.conf and
with the U-Boot support with EFI, we can now generate image that would
be generic to these devices.
[ci:skip-build]: already built successfully in CI
This new package covers all three variants of the tablet: the WiFi
version (SM-T310), the 3G version (SM-T311) and the LTE version
(SM-T315). It uses the linux-postmarketos-exynos4 kernel, like other
mainlined Exynos 4 devices.
- The 3 different variants of the lt01 will be merged into a single
main device package, so the old package is deprecated.
- We will now be using the mainline kernel, so the downstream kernel is
no longer necessary.
- Add a patch to fix a new build error.
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
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
- 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
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.
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
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
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 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
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
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]
* 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>
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
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
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.
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.
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
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.
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.
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. 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.
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
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-..."
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.
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
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
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>
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
[ci:skip-vercheck] no feature changes
Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
[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.