uboot-tools is provided by u-boot-tools but sometimes apk still gets
confused. This change prevents errors such as
pine64-pinephone:~$ sudo apk upgrade --verbose
WARNING: Failed to perform initial self-upgrade, continuing with full upgrade.
ERROR: unable to select packages:
uboot-tools (virtual):
provided by: u-boot-tools
required by: device-pine64-pinephone-0.25-r1[uboot-tools]
[ci:ignore-count]
[ci:skip-build]: already built in CI successfully
The AP6359SA is a BCM4359 SDIO-based Wi-Fi/Bluetooth module that PINE64
sells specifically for the ROCKPro64 device. This commit starts a
firmware package to support it specifically, while others can later add
firmware for other modules sold for the device. Also add this package as
a nonfree subpackage dependency in the ROCKPro64 device APKBUILD.
I was unable to find a suitable license for the firmware blobs, so until
we find a suitable repository containing all of the required files by
the module with a license included, or contact the vendor directly,
let's use LibreELEC's repository without a license for now.
[ci:skip-build]: already built successfully in CI
modules-load.conf was completely unused by this package,
not installed anywhere. brcmfmac is loaded automatically anyway.
Sort values in sources= alphabetically
This is needed with the 5.11 kernel. Also adjust the vram & cma sizes
for all msm8974 devices.
The CMA size is 256MB as set in the kernel config.
VRAM is default 16MB although it is set to 192MB with a kernel patch;
but set it manually for all devices to make it possible to remove this
patch in the future - until we have IOMMU working.
still missing:
* audio
* lcd backlight control
* touchscreen driver
* front camera
* accelerometer mount fix (driver seem not to support mount-matrix)
* 3D acceleration
* HDMI support
New mainline port with most things working (usb/wifi/bt/3d-accel/sound/gps).
Modem/calls/sms/mobile-data should work but couldn't test it recently
due to broken devices.
* Add u-boot build with a lot of patches that makes the display work in
u-boot for boot selection
* Upgrade the rockchip kernel to 5.11 mainline with config for the
rk3399 devices built-in
* Make the rockpro64 and pinebook pro use the newer kernel
[ci:skip-build]
The device has been renamed from fujitsu-m532 to pegatron-chagall since several rebrands of this board exist (Olivetti Olipad3, Siragon 4N, etc.), and Fujitsu M532 is just one of those.
Signed-off-by: Raffaele Tranquillini <raffaele.tranquillini@gmail.com>
Downstream kernel is outdated and no longer maintained by us. Thus,
removed. The linux-xiaomi-beryllium-mainline kernel is removed because
its superseded by the common sdm845 kernel and is no longer needed.
So far the debug-shell in initfs works. The device uses dynamic
partitions, so that has to be figured out to get a proper rootfs.
One thing to look out for is that mount_subpartitions task in initfs
hangs, so pmos_boot=sth was added to kernel cmdline to skip it. This is
also related to dynamic partitions, anyway.
[ci:skip-build] Already built on CI
Cypress bought the brcm WiFi stuff from broadcom so they want their firmware to
be called cyfmac instead of brcmfmac
a lot of brcmfmac firmware is now symlinked to cyfmac
This package is no longer used, as the OnePlus 6 will now use the
linux-postmarketos-qcom-sdm845 package.
Signed-off-by: Caleb Connolly <caleb@connolly.tech>
There is already samsung-a3ulte in community, and the devices actually
share the same kernel, device tree, and basically everything except
firmware. We just need separate firmware packages because Samsung uses
different secure boot certificates on a3lte and a3ulte.
They also share the same wiki page which suggests installation using
the pre-built images now, so having pre-built images only for
samsung-a3ulte is quite confusing for users.
The situation is similar as for samsung-a5ulte and samsung-a5lte
which also are both in community already.
This updates the current commit and refactor APKBUILD to
more modern way of writing downstream kernels. Also move to main/ to fit
other linux-postmarketos-* kernels.
Right now the "bq-picmt" device port is quite confusing.
It's actually for the same device as "bq-paella", which is in community
and uses the mainline kernel, except that it uses the downstream kernel.
Having the downstream kernel packaged is useful for testing sometimes,
but otherwise the device package is completely unsupported.
The mainline port works much better. The downstream port should only
be used if you know what you are doing (e.g. because you want to test
if something is working on downstream but not mainline) and therefore
it should not show up in "pmbootstrap init" by default.
Move the device package to unmaintained to implement that.
Also, add an "# Unmaintained: ..." comment that will be displayed
in "pmbootstrap init" if the device is selected anyway.
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