This is tested to boot on google-crosshatch, following these
instructions:
$ pmbootstrap init, choose the mainline kernel
$ pmbootstrap install --no-fde
$ pmbootstrap initfs hook_add debug-shell
(enter fastboot mode on the device)
$ fastboot set_active a
$ fastboot flash dtbo_a ~/.local/var/pmbootstrap/chroot_rootfs_google-crosshatch/boot/dtbo-google-crosshatch-mainline.img
$ pmbootstrap flasher boot
And you should get telnet after a while. This kernel takes a long time
to build, so [skip ci]. I can confirm it builds locally.
Note that this patch adds the mainline dtb path to deviceinfo. But the
parameter gets ignored on the downstream kernel, so it's fine to keep it
in the shared deviceinfo.
Mainlining this device is work in progress, details at:
https://gitlab.com/postmarketOS/pmaports/issues/153
Runs an only slightly patched mainline kernel.
For now:
- flashing works (only SD card boot and kernel flashing tested)
- boots
- screen works
- keyboard works
- touch works
- accelerated Xorg works (OGL not tested, xf86-video-tegra works,
but sometims X crashes with invalid instruction error - open top menus in
Xfce file manager to reproduce)
- SD card works (troubles with GPIO insertion detection)
- USB should work, not tested
- WiFi should work, also not tested (a lot of warnings during boot)
- Sound needs configuration
- battery needs kernel driver (max8922/max8907c)
- touchkey doesn't work - very strange hardware here...
- cameras don't work - no DT bindings, but all drivers there
Other functionality is broken/not tested.
[skip ci]: already built successfully in CI
Add firmware required to make WiFi work. Patch the kernel so the ramoops
dmesgs can be read properly without having to remove that header every
time.
[skip ci]: already built successfully in CI
I have tested this on xfce4 and weston. Also plasma-mobile "works"! The
performance isn't any better than on armhf, it's still less than one
frame per second and llvmpipe still doesn't work.
After switching to armv7, this kernel fails to compile with the
following error unless CONFIG_CRYPTO_AES_ARM_BS is disabled:
arch/arm/crypto/aesbs-core.S:449: Error: thumb conditional instruction should be in IT block -- `addeq r6,r6,#0x10'
arch/arm/crypto/aesbs-core.S:904: Error: thumb conditional instruction should be in IT block -- `addeq r6,r6,#0x10'
arch/arm/crypto/aesbs-core.S:2100: Error: thumb conditional instruction should be in IT block -- `subne r9,#0x10'
Add firmware-rtl8723bt package and Pine wifi and bluetooth firmware
subpackage.
[skip ci]: ollieparanoid will build this MR manually before merging, it
will probably not finish CI within one hour.
Use upstream Linux with patches, which are needed for a lot of things.
lambdadroid said he will upstream some of them, but the battery driver
would need to be written from scratch, which is apparentely
non-trivial.
[skip ci]: kernel doesn't build under one hour (maybe too many modules
are selected), but it does build eventually
* Travis and Coveralls badges
* aports: instead of <https://github.com/postmarketOS>, use
<https://postmarketos.org>
* References to full URLs to issues and pull requests replaced with
a hash and the number
* grsec check: simplify error message, remove link to github issue
(nobody is using that anymore anyway)
Alpine's firmware packages have been updated to include the latest
raspberry pi firmware. This commit adjusts our aports.
Details:
* remove obsolete `aports/temp/linux-firmware`
* `firmware/firmware-pi-bluetooth`: rename to `device/bluetooth-raspberry-pi`
and remove firmware files (they are part of Alpine's `linux-firmware` now)
* `device-raspberry-pi`: depend on `bluetooth-raspberry-pi`
* `device-raspberry-pi`: note that Alpine's kernels depend non free firmware
* `device-raspberry-pi`: remove non free firmware subpackage
The ASUS MeMO Pad FHD 10 (ME302KL) is kinda like an enlarged version
of flo, all the unofficial Lineage / TWRP work has been derived from
flo. So eventually it should run mainline :) but let's start with this.
* add missing dependencies bluez (which provide bluetooth)
* update rpi bluetooth firmware to lateset
* fix install openrc init name (since the package rename to
firmware-pi-bluetooth, so the previous $pkgname need to change to
pi-bluetooth)
Guide for connecting to wlan is on the wiki page for the device, wifi
chip is BCM4334. Wlan interfaces are wlan0 and p2p0. Connection seems
stable, was able to install some packages.
* Add initial device support for Xiaomi Redmi Note 4 (xiaomi-mido)
* Update APKBUILD
* Update APKBUILD
* Wifi support for Xiaomi Redmi Note 4
* Update APKBUILD
* Download firmware from different repo for Xiaomi Redmi Note 4
* Split up cat line
* firmware-samsung-i9195: new wlan subpackage
* samsung-i9195: add wlan firmware to nonfree-firmware dependencies
* firmware-samsung-i9195: change pkgver to sequential numbering.
this breaks package management. be careful when updating this package.
the old version was `201707.1`, which is higher than `1.1.0`.
* Qualcomm MSM modem: 'rmtfs' support packages
* qcom_rmtfs: Server that talks to modem over IPC to allow it
read/write data for its persistent storage. This is needed for it to
boot, as well as periodically during usage. Added a patch that
it expects the storage path symlinks in /etc instead of /boot.
* qrtr: IPC library for rmtfs
* libqipcrtr4msmipc: adapter library to make qrtr work on kernels with
AF_MSM_IPC support. AF_QIPCRTR is the mainline equivalent since Linux
~4.7.
* msmipc-dev: Header files for qrtr and libqipcrtr4msmipc.
Thanks to Bjorn Andersson <https://github.com/andersson> for rmtfs and
qrtr.
* libsmdpkt_wrapper: adapter lib for QMI clients
The SMD serial packet driver in Qualcomm kernels has, AFAICT, a bug
in poll(); this works around it so that qmicli et al can work.
* i9195: firmware (modem only right now)
* add ofono (with patch for MSM devices)
Based on Alpine's package.
* i9195: add modem support
* move all modem related packages to aports/modem
The device is Xiaomi Redmi 1S, based on MSM8296 platform, with Qualcomm
Snapdragon 400. The kernel is from lineageOS (3.4.0). Some additional patches
are needed for successful compilation. The screen dimension is 720x1280.
The touchscreen device name is ft5x06_i2c. Use this name for udev
instead of hardcoded device path. Also add a workaround for red
screen weston by setting weston_pixman to 2
The screen doesn't refresh. Enabling msm-fb-refresher as suggested.
Add udev rule to indicate whether the device is in charging state.
Green led indicates that the device is charging, whereas red light
indicates that the device is discharging.
For prima wlan module to work, an initialization procedure is needed (
echo 1 > /dev/wcnss_wlan ), before loading the prima wlan module
(wlan.ko). Also build the prima wlan as module.
Xiaomi Redmi 1S is using pronto wlan module, which needs some firmware
to run. Add the required wifi firmware to enable the wifi interface.
Add an openrc service to load wlan module after wcnss_service is
initialized.
* Package Broadcom Wi-Fi firmware from AOSP
This uses a mirror of AOSP's platform/hardware/broadcom/wlan repo at version
android-8.0.0_r12 (6c8ef5b600cec5d36a54a0276fe8c97b9ab8d6bb).
This is needed as Nexus 6P uses a BCM4358, and the blob available in Alpine's
linux-firmware package is old and vulnerable to Broadpwn. See #513.
* device: angler: enable Wi-Fi and graphics output
Changes:
- Set resolution on bootup
This is copied from the Nexus 5's init script.
- Add Wi-Fi calibration file and change firmware path
This is also based on the Nexus 5's implementation.
- Enable CONFIG_VT and NFS in the kernel
- Explicitly use identity touchscreen calibration
- Rename the touchscreen udev rules
- Enable msm-fb-refresher
* firmware-asus-flo: packaged all flo firmware
* device-asus-flo: depend on firmware-asus-flo package
* default android wifi config
* Add wifi and freedreno support
* change to console=ttyMSM0 - as per https://dflund.se/~triad/krad/nexus7-flo/
* Add current kernel config as it is currently working with wifi.
* Increase pkgrel to account for changes in the kernel config.