This is required by some software, e.g. bluez/gnome to set some ACLs on
/dev/rfkill (see #904). While probably nobody will notice on the
downstream kernels (as we don't have any proper software there anyways)
it's definitely needed on mainline-ish kernels. Surprisingly only one
kernel has broken by enabling this option (linux-sony-tulip) which I've
patched up.
linux-postmarketos-qcom-sdm660 did not break by enabling this option,
but required linux4.17-gcc10-extern_YYLOC_global_declaration.patch to
build again, so this was fixed too.
[ci:skip-build] [ci:ignore-count]
This is a generic package for devices which use x86_64 CPU and 32-bit
EFI. Most distributions don't provide installation for 32-bit EFI, so
installation is not user-friendly.
Actually, these tablets deserve device-specific packages (I am going to
make ones for ASUS VivoTab Note 8 and ASUS Transformer Book T100TA), but
this one includes basic functions and can be booted on any 32-bit EFI
tablet with disabled secure boot and missing device-specific package.
I guess 32-bit EFI with 64-bit CPU is Intel's "feature" and AMD doesn't
have such stuff, so this package will be installed only on devices with
Intel CPU, unlike device-tablet-x64uefi which can be installed on any
x86_64 PC. So i decided to enable some Intel specific things (userspace
GPU stuff and alsa-ucm-conf).
I used for reference device-tablet-x64uefi and
device-trekstor-surftabduow1 packages. This package also can be used as
a reference for device-specific ones.
Added support for Motorola Moto E 2014 codename: condor
It is booting, has usb, battery, flashing needs special fastboot command for the boot partition
Port based on an unofficial LineageOS port
from https://www.los-legacy.de/17.1/zerofltexx, using kernel from https://github.com/Exynos7420/android_kernel_samsung_exynos7420/
What works:
- Kernel boots
- Display and touch input (tested with Weston)
- USB networking
Note: I removed camera support in kernel config for now, as there were related kernel crashes.
Wifi doesn't work either yet because the firmware dependencies/paths need to be fixed first.
The modprobe.conf is not necessary on those devices because they already
load the panel module using deviceinfo_modules_initfs. Let's skip the
modprobe.conf in that case so we don't need to add all panels in two places.
Simply disabling FIMC IS does not work however due to compilation
errors and a null pointer dereference. 01-fix-FIMC-IS-disabling.patch
takes care of this.
As with other exynos devices some additional things had to be disabled
to make the kernel compile after FIMC IS had been disabled,
specifically:
CONFIG_CAMERA_EEPROM
CONFIG_VIDEO_EXYNOS_MIPI_CSIS
CONFIG_LEDS_MAX77803
Apart from that we also have:
02-netfilter-symbols.patch, which fixes another compilation error.
03-usb_gadget-set-random-rndis-host-MAC-address-to-prev.patch (taken
from another device) which prevents host mac address being set to
00:00:00:00:00.
Kernel sources have been changed to the lineage-16.0 branch in the
exynos5420 repo, as that is where development happens at the moment.
based off from lineage os, manages to boot including ssh over usb.
had to disable:
CONFIG_HTC_RADIO_SMEM
CONFIG_HTC_MODEM_NOTIFIER
CONFIG_MSM_SMP2P
CONFIG_UIO_MSM_SHAREDMEM
[ci:skip-build]: already built successfully in CI
Instead of running the entire setup_usb_network_configfs function we
run the parts that are actually necessary for
setup_usb_network_android to succeed when it is run afterwards.
USB networking, Touchscreen and display are working.
CONFIG_SND_SOC_QDSP6V2 is omitted from kernel config for now as the resulting driver fails to build.
Changes:
- Depends on soc-sprd-audio-sc8830 package for audio support
- Includes fixes for X11 and color mode
- Switches to dtbtool-sprd
[ci:skip-build] Already built fine on CI in a MR
SEC_RESTRICT_ROOTING is a Samsung-specific option,
which makes unable to get root permissions
on the device.
Needed for postmarketos/pmbootstrap!2000 to be merged.
[ci:skip-build] Builds fine locally
Device: Asus Zenfone Max ZC550KL
MSM8916
Mainline Kernel
Works:
- Boots
- external sdcard
- Wifi/bt
- Display
- Touchscreen
I'm still working on this device. You can expect more things to work in
the future.
* Mainline kernel: enable installation of Wi-Fi firmware.
Now that we have Wi-Fi support in mainline kernel, use it.
* Mainline kernel: adjust description of mainline kernel
subpackage; we still cannot recommend it over downstream,
but it is not so experimental anymore.
* Downstream kernel: add workaround for broken SSH:
use dropbear instead of openssh server. See #808https://gitlab.com/postmarketOS/pmaports/-/issues/808
Hello there, DragonX256 here.
For now, this tablet only have flashing, USB net, display and touchscreen.
I will try to add other features soon, or, if I fail enough, switch to mainlining immediately :D
Fall back to gcc6, because wlan module compiled with gcc10 fails to
initialize with `module wlan: overflow in relocation type 261 val ffffffbffc000000`
error.
Explicitly add gcc-aarch64 in makedepends, because of gcc6 present, seems
like gcc dependencies not resolved correctly
[ci:skip-build]: already built successfully in CI
The existing device package and its dependencies are for i9305, but
renaming them to i9300 makes more sense, as the i9300 is the base
version (SIII) and the i9305 (SIII LTE) is the improved version.
Since the installer leaves the partition in a state where the initramfs
needs to resize it. But without the force parameter the postmarketOS
initramfs won't touch the partitions
Mostly the GCC10 yylloc failure was seen but several others have been
observed:
* wireguard script was silently failing
* several gcc10 x86 errors
* a checksum from kernel.org has changed
Now we have 3 different gcc10 yylloc patches:
gcc10-extern_YYLOC_global_declaration.patch:
Linux < 4.2
linux4.2-gcc10-extern_YYLOC_global_declaration.patch:
Linux 4.2+
linux4.17-gcc10-extern_YYLOC_global_declaration.patch:
Linux 4.17+
[ci:skip-build]
[ci:ignore-count]
[ci:skip-vercheck]
With these kernel sources the device boots successfully,
sometimes. Usually, kernel panics and device reboots a couple of
times, but after a few attempts (maybe 1, maybe 7) it succeeds to
boot. The problems seem to be related to FIMC IS, unfortunately it
does not seem to be possible to just disable it in the kernel config,
as that leads to compilation errors.
I have so far just experimented with getting wifi up and running, but
it does not work out of the box even after adding firmware package
with files from TheMuppets, wpa_supplicant fails to connect and dmesg
is filed with lines like:
```
[ 112.509235] [L0: wl_event_handle: 3109] CFG80211-INFO2) wl_escan_handler : Couldn't find P2PIE in probe response/beacon
```
[ci:skip-build]: already built successfully in CI
qrtr-ns is now part of the Linux kernel (as of version 5.9), so
there is no need to start it in userspace anymore. It does not seem
to be needed (or working) on downstream either.
linux-postmarketos-qcom-msm8996 is the only mainline kernel which
is still on < 5.9. In preparation to make the qrtr dependency optional
for rmtfs, let's explicitly enable qrtr-ns for MSM8996 devices to avoid
causing regressions.
Update to kernel 5.9 with the following changes:
* Change tri-state key to macro keys instead of 'A', 'B' and 'C' keys.
[ci:skip-build]: already built successfully in CI
Initial support for Sony Xperia XA (codename: sony-tuba). Builds, can be
flashed, ssh connection through usb works, display works, touchscreen works,
no wifi or anything else.
According to the wiki pages, some interfaces can't be built for the
armhf architecture. This device is configured to armhf but it actually
supports armv7 architecture. Tested with a samsung-i9300.
Replace the old downstream port with a new aarch64 port running the
linux-postmarketos-qcom-msm8916 close-to-mainline(TM) kernel.
Most of the functionality is working:
- USB Network
- Storage (eMMC, SD card)
- Display, brightness control
- Touchscreen, buttons
- IMU (accelerometer+gyroscope)
- Notification LED
- Sound (Speaker, Headphones, Microphones)
- WiFi, Bluetooth
- Modem (SMS, voice calls, mobile data)
Coming soon (hopefully): Battery/Charging, USB-OTG (not working yet)
There are many variants of the device, so more changes to handle
differences between them may be needed in the future. For now,
the only relevant difference is the required modem firmware:
- wt88047 (global variant)
- wt86047 (China variant)
... have different kind of modems and they do not seem to work with
the firmware of the other one. The way this is handled in this device
package is that there is a separate kernel variant for both of them.
All other required firmware can be shared, and therefore there is no
differentiation needed when using the kernel variant without modem.
I renamed "wingtech-wt88047" to "xiaomi-wt88047".
My reasoning for that is the following:
- Wingtech is the ODM (original design manufacturer), they designed the
hardware and (probably) manufactured it. But postmarketOS port applies
to the combination of both hardware and firmware, and the firmware was
at least partially provided by Xiaomi.
- wt88047 looks lonely with the "wingtech" vendor, when all other Xiaomi
devices use "xiaomi", even though many from them were probably also
designed by Wingtech.
- We don't use the ODM hardware name for other devices either, e.g.
"wileyfox-crackling" would be "longcheer-l8150" with the same approach.
I think the port is better visible as "xiaomi-wt88047" (too bad Xiaomi
seemingly did not have a proper codename for this device...)
In preparation for adding mainline device port for Xiaomi Redmi 2
(wt88047), remove the downstream device port. It's still armhf
which makes it clear that it hasn't been tested for a long time.
The mainline port has many more features, also it is aarch64, which
is not compatible with the downstream kernel.
device-motorola-ocean: Add support for both downstream and mainline
kernel
device-motorola-ocean: Update dependency for downstream kernel
The dependency mentioned is wcnss-wlan.
Apply 1 suggestion(s) to 1 file(s)
Device package changes:
- Replace ALSA configs with dependency (soc-sprd-audio-sc8830)
- Add reboot-mode as dependency
Kernel package changes:
- Use dtbtool-sprd instead of dtbtool
- Move code and device tree to external repo
- Add patch for GCC10
- Add patches for framebuffer
- E1565 is original "grouper" and it's for modern devices similar to
tilapia
- PM269 is earlier produced Nexuses with different PMIC (not very often
seen)
Closes: https://gitlab.com/postmarketOS/pmaports/-/issues/647
This patch adds basic support for the Samsung Galaxy Tab E 9.6" (SM-T560).
Current status: Kernel builds successfully, flashing boot.img works along with ssh.
Update to Linux 5.8 and bring some nice improvements:
* Use geni for touch instead of CPU driven bitbang, this gives
noticeable performance gains in phosh when scrolling.
* Enable bluetooth (using firmware in updated firmware package), was
able to test bluetooth audio with bluetoothctl but phosh UI shows no
Bluetooth adapter.
* Add testing battery node using bq27541, battery always reported being
plugged in and at 100%.
* Fix UFS error spam due to a bug where writeboost is enabled for all
qcom devices - even though it isn't supported.
* Add quirk to wifi device to fix host capability request rather than
the dodgy driver edit that was used before.
* Minimise .config size to improve build times.
* Make schedutil the default governer
* Fix power button
Remove _downstream, _mainline in deviceinfo as there is only the
mainline kernel now. Fixup taken from a comment by Richard Qian in the
initial device port merge request. I've verified that the device package
builds. [ci:skip-build]
Fixes: 949effc0 ("acer-picasso: new device (Acer Iconia Tab A500) (MR 1308)")
Alpine's abuild is soon going to complain if an APKBUILD has more than
one "Maintainer:" listed. Work around it by renaming the additional
maintainers to "Co-Maintainer:". While at it, move the devicepkg reference
link to the top in device-xiaomi-santoni for consistency.
In postmarketOS, we require at least two maintainers for devices in
main, therefore it does not make sense to drop additional maintainers
from the file.
In Alpine, this change was made because pkgs.alpinelinux.org apparently
can't handle more than one maintainer. I looked into it, and it would
require a database change to add it there, so it does not seem worth the
effort. I also thought about extending abuild to add an environment
variable to skip the check, but then the package would not build with
plain abuild without using the env var.
Related: dd4cd9d606
[ci:skip-build] [ci:skip-vercheck]
[ci:skip-build]: build in CI is currently failing with 'BAD signature'
errors; probably caused by outdated Alpine packages in the dl-cdn
mirror, related to the musl-1.2 rebuild in Alpine edge.
samsung-skomer basically uses the same BCM4334 WiFi/BT chip as
samsung-golden, and the WiFi/BT firmware is also the same.
There seems to be a slightly different NVRAM file, so we package
that just to do things properly.
Signed-off-by: Danct12 <danct12@disroot.org>
(cherry picked from commit f509c39642341c7d4fb5d0d215a6cb581b4156d1)
[ci:skip-build] Takes too long. Builds fine locally
Enable CONFIG_CRYPTO_XTS for each kernel, so we can switch to using
aes-xts-plain64 as default cipher for cryptsetup (override with
"pmbootstrap --cipher"), instead of aes-cbc-plain64 (pmbootstrap#1940).
I have executed "pmbootstrap kconfig edit" on each kernel, and manually
toggled the option. The diff is not always clean, because for some
kernels it is apparently the first time, that menuconfig was executed on
the configs like that. In a few instances, it turned out that
CONFIG_ANDROID_PARANOID_NETWORK needed to be disabled too (this is
already a requirement, but as the config was incomplete, it was not
visible that this option was enabled). Very few times, I had to enable
CONFIG_EXPERIMENTAL in order to see and enable CONFIG_CRYPTO_XTS.
It would be great if we could automate such mass kconfig edits in the
future, see pmbootstrap#1942.
[skip ci]: I have verified, that every single one of these kernels builds.
CI will likely run out of time while downloading source tarballs.
Remove it, to prevent the following error:
rm: can't remove '.config': No such file or directory
This must have been necessary before, because the prepare script was
different, or abuild did something differently.
Make it possible to find the kernel config with "pmbootstrap kconfig
edit". While at it, also remove redundant -C "$builddir" arguments for
make (since prepare is running in $builddir already).
For most firmware packages we use a vendor- prefix to make it clear
who has provided the firmware. The firmware-rtl8723bt package is only
used for Pine64 devices and actually contains configs that are specific
to Pine64 hardware (e.g. rtl8723bs_config-pine64.bin).
Let's rename it to firmware-pine64-rtl8723bt to make this more clear.
Also cleanup the APKBUILD a bit and provide the LICENSE file in a -doc
subpackage so we can legally redistribute that firmware.
This is the downstream u-boot port for the Galaxy S2.
The load script has been slightly altered to load the kernel from the
KERNEL partition at the 512 KiB offset, instead of loading it from the
RECOVERY partition, since PostmarketOS places the second initramfs in
the RECOVERY partition.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Newer Qualcomm SoCs (e.g. SDM845. MSM8953) seem to use a different
method to talk to the modem. There are no longer separate rpmsg/SMD
channels for QMI messags, instead the modem is also available through QRTR.
On these newer SoCs, installing msm-modem-mainline is pointless,
because the created /dev/modem device will not actually allow
communicating with the modem. However, you still need the part from
the base package (msm-modem), which installs+enables rmtfs.
To avoid confusion, rename the msm-modem-mainline subpackage to
msm-modem-rpmsg. Install only "msm-modem" on SDM845 because that
likely does not allow communication with the modem through RPMSG
anyway.
In the Linux kernel, the ST-Ericsson NovaThor U8500 SoC is barely
ever mentioned under the "NovaThor" name, more common are names like
U8500, Ux500, ST-Ericsson, STE, ...
Let's rename the kernel package to linux-postmarketos-stericsson
to make that more clear. Also cleanup the APKBUILD a bit while we're
at it, HOSTCC is unneeded, remove unnecessary depends, ...
bq-paella allows running unsigned firmware from other devices.
We can use that advantage to replace some of the original firmware
with newer versions from other devices. The DB410c has updated WCNSS
firmware that reportedly improves WiFi/BT coexistence (i.e. behavior
when both WiFi/BT are active at the same time).
Depend on the virtual "firmware-qcom-msm8916-wcnss" package to give
the user the choice which firmware version they would like to run.
The newer version from "firmware-qcom-db410c-wcnss" is installed by
default (since it has a higher "provider_priority"), but the user
can choose to replace it by running "apk add firmware-bq-picmt-wcnss".
Following discussions in
https://gitlab.com/postmarketOS/pmaports/-/issues/398, swclock has been
removed from postmarketos-base to avoid setting time incorrectly on
devices with a hardware clock. The various raspberry pi don't have
an hardware clock. This activate swclock back.
This adds a hwdb override for the trackpad that fixes the reported size, this fixes
the acceleration profile and palm detection in libinput.
Pulse now follows alsa paths for ucm files so the path for the rk3399 ucm has been
updated to match.
The DB410c is a SBC with APQ8016 SoC. It runs on mainline without
any patches. This port makes use of the existing linux-postmarketos-qcom-msm8916
kernel package that is used for other mainline MSM8916 devices.
Tested functionality:
- USB Network, USB Host (e.g. an USB keyboard)
- Flashing (Fastboot)
- Display (HDMI)
- WiFi/BT
- GPU
- Audio (HDMI)
- FDE
Not tested:
- GPS
Note: The firmware package is called firmware-qcom-db410c (instead of arrow)
because the firmware is provided directly by Qualcomm, not Arrow.
What works:
- Booting
- Display
- Touch
- USB Ethernet
What doesn't:
- Sound
- Wi-Fi
- Modem
- Camera
(NOTE: If the display doesn't work, try flashing your phone back to stock, then trying again.)
Just got done with my second port of postmarketOS, here's the device:
Amazon Fire 7 (2019) postmarketOS
Mediatek MT8163
600x1024 display
1GB RAM
Linux 4.9.77 (downstream kernel)
Untested:
- Wi-Fi
- Audio
Pretty much everything else
Works:
- Boots
- Touchscreen
- Battery percentage seems to show in Xfce