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
[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
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.
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.
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.
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.
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
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
Include the bm818-tools by default for the Librem5. This allows users to
check and change the VoLTE status.
Resolves: https://gitlab.com/postmarketOS/pmaports/-/issues/1905
Signed-off-by: Alistair Francis <alistair@alistair23.me>
[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
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 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>
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
[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.
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.
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]
With recent gcc versions we get errors like:
/linux/arch/arm/mm/proc-v7.S: Assembler messages:
/linux/arch/arm/mm/proc-v7.S:425: Error: junk at end of line, first unrecognized character is `#'
Seen on at least two samsung kernels based on 3.4 and 3.10. Fix issue
by backporting (part of) commit found in mainline.
Linux 6.7-rc1 looks for the venus (video) firmware in
qcom/venus-1.8/venus.mbn instead of qcom/venus-1.8/venus.mdt.
Let's install it in both places with a symlink so that the firmware
packages work for both older and newer Linux versions.
[ci:ignore-count]: lots of packages
[ci:skip-build] already built successfully in CI
Swap maintainer and co-maintainer (David is not active now and requested
it himself). Also update email addresses.
Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
The mainline port has almost reached full feature parity with the
downstream port. Default to mainline in new installations, but keep
downstream around as it'll still be needed for bringing up the currently
missing features.
GPS on milletwifi is via the "modem", which doesn't have any cell model
support, but is similar. This starts the modem remoteproc to support
GPS output.
[ci:skip-vercheck]
[ci:skip-build]: Already built successfully in CI
Firmware drivers will load too early, before msm-firmware-loader, so they
won't load the necessary firmware. Instead, mark them as modules so they load
later in the boot process, when the firmware is available.
BINFMT_MISC for running qemu on this system, and HIDRAW is used for some
USB devices. ETHERNET lets me use usb NICs, since this device does not
have a rj45 port/onboard NIC.
[ci:skip-build] already built successfully in CI
And don't bother disabling the gpsd service given how unlikely it is
that someone is doing something serious with this device, let alone
having it in the first place. Plus, it's in testing.
[ci:skip-build] already built successfully in CI
This is no longer necessary as geoclue now can talk to ModemManager
directly for GPS information. It also presents a security risk due to
how gpsd works. As such, remove it.
Closes https://gitlab.com/postmarketOS/pmaports/-/issues/2340
- librem5-base upgraded to v64: some tweaks to shipmode stuff, but
otherwise nothing interesting for us
- actually install the mm-broadmobi-port-types udev rule
- add udev rule + service for enabling bluetooth for Sparklan WiFi
adapters (fixes#2043)
pkgver was also updated to reflect that this is packaged from the latest
in git as of now. I probably should have done that from the start
(instead of ending up at the arbitrary '0.3'.)
- Update to Linux v6.6
- Lots of cleanup and upstreaming, more than 40 commits upstreamed
for 6.7
Device changes:
- Add KTD2026 LED driver, used by bq-paella, bq-piccolo and
acer-a1-724
- bq-piccolo: Set proximity near level to fix detection in
iio-sensor-proxy
New devices:
- Vivo Y21L
- eMMC, SD card, USB, Buttons, WiFi/BT
- Sensors (Accelerometer, Magnetometer, Light)
- No display yet
[ci:skip-build]: already built successfully in CI
systemd-boot is used for EFI boot (when using "pmbootstrap qemu --efi"),
legacy boot (seabios) is still supported as well (pmb/qemu boots the
kernel directly).
[ci:skip-build] already built successfully in CI
msm-firmware-loader path is valid only on booted phones, which won't exist
in pmbootstrap chroot, but results in no such file or directory errors.
Drop 30-gpu-firmware.files to workaround temporarily. Besides it's
preferred to be put in firmware packages.
[ci:skip-build]: already built successfully in CI
Samsung Manta is now supported by linux-posmarketos-exynos5.
Update device-samsung-manta to use it, and move downstream kernel and
device to unmaintained.
Also adds a script and networkmanager configuration to autoconfigure
WiFi MAC address from /proc/cmdline.
Signed-off-by: Alexandre Marquet <tb@a-marquet.fr>
WiFi firmware for brcm43241b0 is in linux-firmware, but not the calibration (bcmdhd.cal).
Mainline driver need bcmdhd.cal to be renamed brcmfmac43241b0-sdio.samsung,nexus10-manta.txt.
Mainline Bluetooth driver needs BCM.samsung,nexus10-manta.hcd.
Signed-off-by: Alexandre Marquet <tb@a-marquet.fr>
Postmarketos-base-downstream provides a lightdm config file needed
for GUI to be brought up when using an x11 based UI.
[ci:ignore-count]
[ci:skip-build]: Already built successfully in CI
- Add SM5708 modules to initfs for the following devices, to unlock FDE
with USB OTG keyboards and fix USB networking.
- Configure getty using deviceinfo_getty variable.
- Add USB ID 04e8:6860 to deviceinfo
[ci:skip-build]: already built successfully in CI
Some firmware packages has only a WCNSS config file, which is decoded
from base64 uploaded to Pastebin, and there is nothing to unpack.
[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
Upstream boot-deploy (me, lol) removed generate_gummiboot,
and now generate_systemd_boot is used to configure both gummiboot and
systemd boot.
[ci:skip-build]: already built successfully in CI