Store the full kernel config instead of a fragment, so
"pmbootstrap kconfig check" can properly verify that all required kernel
options are there. Without this, it would fail an upcoming check for
BINFMT_ELF and BINFMT_SCRIPT:
https://lists.sr.ht/~postmarketos/pmbootstrap-devel/patches/38508
With the full config, pmbootstrap found that ANDROID_PARANOID_NETWORK
was enabled while it should be disabled, so disable it.
Fix the mediatek drvgen related build failure with
00_disable_drvgen.patch from linux-wiko-ufeel and including cust.dtsi:
https://wiki.postmarketos.org/wiki/Porting_to_a_new_device#Removing_python2_dependency
[ci:skip-build]: already built successfully in CI
6.1 was not a valid kernel version causing the wlan module installed
into wrong location. 6.1.0 would be correct. Fix that
problem by upgrading to 6.1.12 and make the wlan installation
more robust.
[ci:skip-build]: already built successfully in CI
Add a generic device that should work on x86_64 ChromeOS devices. This
is mostly a copy of tablet-x64uefi, with ChromeOS-specific stuff from
google-kevin. Keeps the UEFI parts so that it can still be booted with
alternative firmware (i.e. MrChromebox's RW_LEGACY builds). Lightly
tested on a Lenovo IdeaPad 3 Chromebook 11IGL05 (codename "Lick").
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
linux-postmarketos-mediatek-mt6735 6.1.9 added full display support and hardware acceleration
as well as haptics. Add a phoc configuration file to set the display scale, and a feedbackd
theme to optimize vibration durations. Route console output to UART to leave the splash
screen clean and to help with debugging when necessary.
[ci:skip-build] already built successfully in CI
If the wlan0 interface is rfkilled down on boot, WiFi won't work until reboot.
It seems that quickly ifconfig'ing wlan0 up and down in sysinit is enough to work around the bug.
[ci:skip-build] already built successfully in CI
Since re-crypt was finished now all T20/T30 devices
can be switched to use generic u-boot approach
and mount eMMC as external storage to host PC.
Unfortunately or fortunately this deprecates
any Android use on device. Have fun!
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Changes to defconfig:
* Disable legacy usb gadgets (USB_ETH and friends)
* Enable Multi-Gen LRU (LRU_GEN)
[ci:skip-build]: already built successfully in CI
Bring up support for Samsung T110 Goyawifi.
Working: Display (framebuffer), touchscreen, buttons and Wi-Fi.
Include: kernel source and necesarry firmware for Wi-Fi and Bluetooth.
samsung-goyawifi: fix patch names
samsung-goyawifi: remove mesa-dri-gallium
samsung-goyawifi: fix keyboard in deviceinfo
samsung-goyawifi: fix lightdm
samsung-goyawifi: editor-config ci tabs
samsung-goyawifi: add linux kernel as depends
[ci:skip-build]: Already built successfully in CI
Add the firmware for the CyberTan WC121.
Configuration is added in the newest firmware-linux release, so
complete support will appear in the corresponding Alpine package soon.
[ci:skip-build]: already built successfully in CI
Make use of stock depthcharge bootloader to not deal with U-Boot issues:
- broken USB
- broken eMMC
- broken latest version of U-Boot
Use extlinux instead of Grub for users with U-Boot to simplify process.
Also, some of old U-Boot builds may not support EFI.
[ci:skip-build] already built successfully in CI
Make use of stock depthcharge bootloader to not deal with U-Boot issues:
- broken USB
- broken eMMC
- broken latest version of U-Boot
Use extlinux instead of Grub for users with U-Boot to simplify process.
Also, some of old U-Boot builds may not support EFI.
[ci:skip-build] already built successfully in CI
New features:
* msm8994-huawei-angler: Add sdhc1 definition (internal SD card).
Backporting 3 patches:
* 0001-arm64-dts-msm8992-bullhead-add-memory-hole-region.patch
fixes bullhead boot since 6.0-rc1, already in qcom tree
* 0002-arm64-dts-qcom-msm8992-bullhead-Fix-cont_splash_mem-.patch
memory fix, likely to be merged
* 0003-arm64-dts-qcom-msm8992-bullhead-Disable-dfps_data_me.patch
memory fix, likely to be merged
* 0004-arm64-dts-qcom-msm8992-Don-t-use-sfpb-mutex.patch
memory fix, likely to be merged
* 0005-arm64-dts-msm8994-angler-fix-the-memory-map.patch
fixes angler reset during starting services in rootfs,
likely to be merged
Remove all backported commits from newer versions.
While at it, remove various CONFIG_NET_VENDOR_.* and
CONFIG_MSM_.* and CONFIG_.*_QCOM_.* for other SOCs.
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
[ci:skip-build]: already built successfully in CI
Shared SoC package for MSM8909
Currently provides a dummy soc-qcom-msm8909 package that depends on
soc-qcom-msm8916 and a soc-qcom-msm8909-modem package for modem support.
Since the RTC like on most Qualcomm chips is read-only, use
swclock-offset package to fix up time after boot.
And since we don't need msm-fb-refresher on mainline, move it to the
downstream kernel subpackage.
Basic support for the Kobo Libra H2O ebook reader.
Waveform handling shares the same oddities as for the Kobo Clara HD, the
existing waveform from eMMC is used.
Preferred way to install is to export the eMMC as USB Mass storage,
backing it up, and installing there.
U-Boot is a more recent one than the factory u-boot, supporting easy
access for buttons/LEDs. Pressing PageUp while powering on gives you the
possibility to enable USB mass storage mode to restore your backup.
Kernel is the near mainline kernel also used by the Kobo Clara HD.
It lacks some devicetree additions which are planned for the next
update, but basic things like buttons, usb, serial and wifi are
supported.
The WCNSS firwmare used for motorola-harpia seems to have weird issues
that prevent using WiFi properly except for a few limited channels. It
is not clear why this happens, it seems to be some peculiar firmware
difference (perhaps the channels need to be enabled with some
non-standard command).
Since Motorola uses the same signing keys for all their MSM8916
devices, it is possible to use the firmware from other devices instead.
Initial testing shows promising results when using the older WCNSS
firmware from motorola-osprey instead, it does not seem to have this
issue.
It's not clear yet if this has any negative effects. The WCNSS firmware
should not be device-specific, but theoretically it could be (if
Motorola made some weird changes inside it).
For now just package it in firmware-motorola-osprey-wcnss. This package
can be easily installed on harpia devices for testing (using apk add)
and will then take precendence over the default firmware from the
firmware partition (via msm-firmware-loader).
Move firmware-motorola-osprey from testing to community so that the
package is preserved for motorola-harpia users (testing is deleted in
stable branches).
[ci:skip-build]: already built successfully in CI
motorola-osprey can generally use the firmware from motorola-harpia
(which is a bit newer). However, the WCNSS_qcom_wlan_nv.bin is usually
device specific (it contains some kind of calibration values for
WiFi/BT).
The file packaged in firmware-motorola-osprey-wcnss-nv is identical to
the file in firmware-motorola-harpia-wcnss-nv. However, It looks a bit
like this might be a mistake in the source repository
(https://github.com/pmsourcedump/firmware-motorola-osprey). The
wlan/prima folder there is completely identical to the one used for
motorola-harpia, but the stock ROM and LineageOS use different files.
Fix this by packaging the file from TheMuppets. Also modernize the
firmware-motorola-osprey package by applying pil-squasher to the
venus/video firmware.
motorola-osprey has a very clunky name at the moment "Motorola Moto G
3rd gen. (2015)". The device was mostly just called "Motorola Moto G"
by Motorola, so it is hard to choose a fitting (but unique) name.
In the postmarketOS wiki it is called "Motorola Moto G 2015" so let's
just drop the "3rd gen." in the pmOS device package as well.
Also make the deviceinfo consistent with harpia while at it.
This adds initial support to CutiePi tablet, with basic peripherals, sound, touchscreen, and wireless support.
Signed-off-by: Raffaele Tranquillini <raffaele.tranquillini@gmail.com>
Add peripheral overlays
Signed-off-by: Raffaele Tranquillini <raffaele.tranquillini@gmail.com>
[ci:skip-build]: Already built successfully in CI
Use msm8916 kernel package instead of linux-postmarketos-qcom-msm8939
Also remove rmi_core from deviceinfo_modules_initfs
since it's automatically pulled by rmi_i2c
This is a version bump for the sm6125 mainline kernel fork.
Changes:
* Added UFS nodes to the sm6125 platform
* Enabled UFS nodes for xiaomi-laurel
* Enabled configs required for UFS support (Notoriously
CONFIG_PHY_QCOM_QMP)
* Filled in EXTRAVERSION for kernel fork
* Added SMD RPM regulators for xiaomi-laurel
Signed-off-by: Lux Aliaga <they@mint.lgbt>
[ci:skip-build]: Already built successfully in CI
This is an early mainline port for the MediaTek MT6763 Helio P65/G70/G8*
SoCs that boots with all 8 cores online, logs on display (simplefb) or
UART serial console, USB gadget mode facilitating netbooting
postmarketOS while tethered via RNDIS and PMIC enabling functions like
vibrator, power/volume keys.
Since I'm not going by the "mint" alias anymore, I've decided to fix
that on the APKBUILDs
Signed-off-by: Lux Aliaga <they@mint.lgbt>
[ci:skip-build]: Already built successfully in CI
This is a version bump for the sm6125 mainline kernel fork. It should
also fix a config issue.
Changes:
* Made QUSB2 built-in instead of a module (Fixes USB connectivity
issues)
* Updates to xiaomi-laurel device tree to fit new schema
* Changed maintainer name
Signed-off-by: Lux Aliaga <they@mint.lgbt>
Add new patches:
- enable serial console
- save relocation address to find KASLR
- buttons as keyboard input driver to navigate bootmenu
- bootmenu loop entry selection
Enable vulkan on supported hardware configurations
out of the box.
Change-Id: I6c8e1713e7c834aae3a162b8a681f5abde02ed5e
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
The file brcmfmac43455-sdio.raspberrypi,4-model-b.bin is now provided by
linux-firmware-brcm package in Alpine. Remove to symlink to stop the
file conflict.
Now that touchscreen driver is supported in kernel, include the module
in initfs so it's available there.
[ci:skip-build]: Already built successfully in CI
Remove mainline postfix in initramfs module list,
because sagit has only 1 kernel for now.
Blacklisting ipa module fixes poweroff.
See 68cdc1ea2b commit for more info.
[ci:skip-build]: already built successfully in CI
This is an early mainline port for the MediaTek MT6763 Helio P23 SoC
that just about boots in about 3 minutes with one core online, logs on
display (simplefb) or UART serial console and USB gadget mode
facilitating netbooting postmarketOS while tethered via RNDIS.
This contains a fix for second panel variant for samsung-hlte.
No more manual changes, .config was regenerated using kconfig migrate.
[ci:skip-build]: already built successfully in CI
This is an incomplete port but it has greater functionality than the existing downstream based one, which has been moved to unmaintained.
[ci:skip-build]: Already built successfully in CI
There are 2 panel variants supported:
- panel-samsung-hx8389c-gh9607501a
- panel-samsung-s6d78a0-gh9607501a
Add both of them to enable panel display during splash and FDE.
Note that fortunaltezt has only one panel variant so it's not included.
[ci:skip-build] already built successfully in CI
Device uses mainline kernel. What works:
- boots
- display
- touchscreen
- wifi
Also add firmware package
[ci:skip-build]: already built successfully in CI
New features for google-sargo:
- GPU acceleration
- Bluetooth
- Haptics (currently only rumble effect)
- Video acceleration (still untested)
- NFC (only detection was tested)
Certain newer hardware may require a newer kernel than the current
lts in order to work.
Change-Id: Iae0d91f8bf8d1b8516698841895f942e527b0813
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build]: already built successfully in CI
Remove the -dev subpackages of kernels that replace the linux-headers
package. As I understand, the only case where this would make sense is
if you wanted to build a kernel module against headers that need to be
newer than the headers in Alpine's linux-headers package (currently
5.19.5).
While this might have been historically relevant when wireguard wasn't
in the kernel and you might have needed newer linux-headers to build
the module, it seems irrelevant today. If somebody should need this in
the future, then bring it back properly / consider getting the
linux-headers package in Alpine upgraded. Right now the -dev packages
are broken in several ways:
* Use of unversioned provides= (pma#1766)
* Don't contain binaries needed to build binary packages (pma#462).
This was worked around in 6aba5f ("Package kernel-scripts
separately"), but later this didn't build anymore and we removed it.
So in short: broken and unused, drop them.
RootFS cannot be flashed on this devices since Samsung uses a different sparse format.
Enable this in the deviceinfo file to allow flashing the rootFS.
[ci:skip-build]: already built successfully in CI
Additionally switch mainline kernel from qcom_fg to bq27xxx_battery_i2c.
While at it simplify the deviceinfo_modules_initfs_alpine list to
exclude implicit dependencies that mkinitfs can find itself to make the
line length a bit less unwieldy.
[ci:skip-build] Already built successfuly on CI in MR
Additionally switch mainline kernel from qcom_fg to bq27xxx_battery_i2c
and probe the correct panel driver, this was a regression that came from
the initial linux-edge enablement MR.
While at it simplify the deviceinfo_modules_initfs_alpine list to
exclude implicit dependencies that mkinitfs can find itself to make the
line length a bit less unwieldy.
While this provides the ability to use ModemManager, there are quite a
lot of issues with the driver still; keep it enabled in kernel for now
and let users "modprobe ipa" if they want to test modem features
whichever side effects that may cause including:
- Making the device nearly impossible to poweroff or reboot
- Making the UI lag noticeably more due to some interconnect bandwidth
issues
While this provides the ability to use ModemManager, there are quite a
lot of issues with the driver still; keep it enabled in kernel for now
and let users "modprobe ipa" if they want to test modem features
whichever side effects that may cause including:
- Making the device nearly impossible to poweroff or reboot
- Making the UI lag noticeably more due to some interconnect bandwidth
issues
The qca (Bluetooth) and qcom (non-zap GPU) firmware blobs don't need to
be signed by the OEM, so let's use upstream versions to benefit from
fixes and updates done there.
The soc-qcom-sdm845* packages are mostly sufficient, but there are a few
issues that all MSM8998 devices on mainline will face, so include
workarounds for them in a generic package all device pkgs can depend on.
Kernel doesn't compile anymore, and it doesn't seem worth fixing it
again. The kernel has been added in 2017 as a stock mainline kernel from
that time with only two patches and wasn't maintained since then,
looking at git log --follow it was only patched to fix it up when
it didn't build.
As the device is a generic x86_64 tablet: if somebody has that
particular device, try to get the generic device-tablet-x64uefi running
instead.
Patch header for 0027 was not formatted correctly. Fix that and
re-generate all other patches while we are at it.
[ci:skip-build] Already built successfuly on CI in MR
Also:
Fix camera on google-snow.
Enable video decoder.
Make boot.img smaller making kernel more modular and making FS-related
modules =y instead of =m (built-in file systems consume less space
than initramfs modules).
Reverts commit 70efe55031 for kernels that
started failing on bpo. I suspect it's caused by a change in binutils,
since I tried building linux-oneplus-billie2 with gcc6 and got the same
error (after trying other workarounds like disabling selinux for it, but
then it failed elsewhere).
We previously installed dtbs outside of the boot partition, so it
was necessary to copy them from the root partition to boot if you
wanted to utilise them in U-Boot scripts. This is no longer
necessary as we now install dtbs to the boot partition directly, so
remove this workaround and edit the U-Boot script to reflect the
change.
This device package represents several devices, so use plural form in
pkgdesc of APKBUILD:
pkgdesc="Google Hana Chromebooks"
However, when deviceinfo is already installed, it is intended to represent
only current device, so use singular form here:
deviceinfo_name="Google Hana Chromebook"
Mesa behaves again, #1658 is fixed, so lets re-revert MR 3306.
Lets also add the dependency to the other devices using the same
graphics driver.
[ci:skip-build] Already built successfuly on CI in MR
- silence the wifi a bit, it really provides an enormous amout of spam
- enable pxp mem2mem video converter
[ci:skip-build] Already built successfuly on CI in MR
This isn't really a fix, but the device's framebuffer has only one mode and it's enough to get Xorg up and running.
[ci:skip-build]: already built successfully in CI
Add msm8939 SoC package to be used in addition to soc-qcom-msm8916.
For now it provides a shell script setting FD_MESA_DEBUG=nobin env var
to work-around graphical corruption seen on adreno 405 devices.
Upgrade to fresh Linux release.
Enable more features in kernel from pmbootstrap kconfig check:
anbox, containers, iwd, nftables, zram.
Disable CONFIG_REGULATOR_DEBUG to reduce dmesg spam.
DRM and PANEL_SIMPLE are now built-in (DRM_MSM is still "m").
Switch to framebuffer from SIMPLEFB to tinydrm (SIMPLEDRM=y).
Switch APKBUILD to use "make zinstall" approach.
(Device packages might need small adjustments to initfs modules list.)
Add support for next devices:
- Asus Eee Pad Transformer TF101 and TF101G
- Asus Eee Pad Slider SL101
- Asus Transformer Prime TF201
- Asus Transformer Pad TF300T/TF300TG/TF300TL
- Asus VivoTab RT TF600T (Windows RT based)
- Asus Transformer Infinity TF700T
- Asus Transformer AiO P1801-T
- Asus Transformer PAD TF701T
- Pegatron Chagall based devices
Package has no dependencies.
Signed-off-by: Anton Bambura <jenneron@protonmail.com>
Signed-off-by: Maxim Schwalm <maxim.schwalm@gmail.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Remove as we are removing apparmor check from pmbootstrap
[ci:skip-vercheck] No rebuild necessary
[ci:skip-build]: already built successfully / also not really needed
This is to emphasize the fact that this firmware package will work essentially
unmodified on the samsung-coreprimevelte and other Samsung PXA1908 phones as
well.
The device fulfils the requirements for community category, and I plan
to maintain and develop this device further going forward. Move it!
[ci:skip-vercheck]: linux pkg was moved
[ci:skip-build]: already built successfully in CI
Having mesa-dri-gallium installed causes Xorg to crash. See #1658.
Furthermore, display works without at least with near-mainline kernel,
tested with osk-sdl and xfce4.
So if specific applications depend on it, it should be added as a
dependency there.
This reverts MR 3306
This is just a hotfix, Xorg/mesa should be tamed to not crash here
but analyzing that costs time.
There is no need to duplicate things over and over again.
Also load the waveform in initramfs before loading display
modules. That is early enough to have a working display in
initramfs.
GPI_DMA now works so we can use GENI I2C and remove bitbang i2c-gpio.
PM8008 driver from mailing list is imported and configured. CCI (camera
i2c bus) is configured plus CAMCC dependency. And some smaller changes.
We are just building upstream Linux with minor patches and no longer
using the linked GitHub repo, so let's fix this to avoid confusion.
[ci:skip-build]: already built successfully in CI
The downstream kernel has barely any functionality without libhybris
(which is not coming back to pmOS) so move everything related to the
OnePlus 5/5T downstream ports to downstream since a working mainline
port is much more feature rich.
Set the necessary flag in deviceinfo so a user can use a logical
partition that was flashed using fastbootd.
$ fastboot create-logical-partition postmarketOS 1000000000
$ pmbootstrap flasher flash_rootfs --partition postmarketOS
[ci:skip-build]: already built successfully in CI
The touchscreen currently is on i2c-gpio due to issues with the hardware
i2c. Include the module in initfs so the touch driver probes and is
usable in osk-sdl.
[ci:skip-build]: already built successfully in CI
vc4 and freedreno have been provided by mesa-dri-gallium for a long
time.
mesa-dri-intel subpackage has been deprecated for a while (previously
dependend on dri-classic and dri-gallium)
mesa-dri-classic drivers is removed because mesa upstream has removed
those old drivers from the tree. They've been replaced (for not-ancient
hardware) by gallium.
See also https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/31848
This enables support for the oneplus3's QCA6174 WiFi chipset. The
`board-2.bin` file (overwriting the file with the same name from the
`linux-firmware-ath10k` package) is created from `bdwlan30.bin`, which
is extracted from the baseband modem firmware disk image,
`NON-HLOS.bin`. This board file has not yet been upstreamed.
Because I don't have access to the serial port yet, I begin with the
vendor kernel.
* Make display work by setting to 16bpp
[ci:skip-build]: already built successfully in CI
The kernel is based on Samsung's downstream kernel for the device. Some
configuration changes are required to make the kernel to work:
* Tizen kernel uses SLP USB gadget, changed to Android USB gadget.
* sprdfb patches and modification on the devicetree files are required
to use the framebuffer.
* Other required pmOS kernel settings were enabled.
* Tizen does not use initramfs, use RAMDISK partition to store initramfs
of pmOS (like heimdall-isorec configuration). As far as I know, no
alternative OS exists for this device so this is the very first usage.
* Flash the root file system to USER, as ROOTFS is < 1 GB in size and
USER is about 2.7 GB.
samsung-kiran: Update device and firmware packages
* Changed kernel configuration for firmware path to follow postmarketOS.
* Post install script to mount CSA partition
CSA partition [1] contains non-volatile data for Tizen devices. As
Samsung Z1 uses this partition to store Wi-Fi and Bluetooth information,
mount this partition to use within postmarketOS.
[1] https://docs.tizen.org/platform/porting/kernel/
linux-samsung-kiran: Use lzop to decompress initramfs
This synchronizes behavior with other heimdall-isorec devices.
[ci:skip-build] Already built successfuly on CI in MR
Add udev rule to make feedbackd handle haptics.
With mesa where A619 is supported (which isn't packaged in pmaports
anyways but it's just one small patch that should go upstream in the
near future) Vulkan works absolutely fine, so install the driver for it.
[ci:skip-build] Already built successfuly on CI in MR
Add flash method fastboot so we can actually flash it with pmbootstrap,
remove outdated 90-android-touch-dev.rules and improve the formatting
throughout the APKBUILD.
[ci:skip-build] already built successfully in CI
Don't try to append the dtb if using the downstream kernel.
Fix for:
ERROR: File not found: /usr/share/dtb/qcom-apq8064-asus-nexus7-flo.dtb
Fixes: MR 2239 ("main/linux-postmarketos-qcom-apq8064: new aport")
[ci:skip-build] already built successfully in CI
This previously caused msm_pm_boot_init to incorrectly get handled as
__init function when it needs to be an __devinit function as it is
called by msm_pm_boot_probe, which is an __devinit function.
[ci:skip-build]: already built successfully in CI