* 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
Kernel is downstream. System boots. Flash the device using the netcat
method to an external SD (use the entire SD, not a partition, as the
target device) because the internal memory is too small.
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.
The headphone jack (sec_jack) driver no longer registers as an input device
itself. It now listens for events on the gpio-keys input device. This
changed the enumeration of /dev/input devices. The touchscreen is now
/dev/input/event1.
This fixes things which depend on deviceinfo_dev_touchscreen such as
osk-sdl.
* change "pmbootstrap kconfig_check" to "pmbootstrap kconfig check"
* change "pmbootstrap menuconfig" to "pmbootstrap kconfig edit [-x|-g]"
(with legacy alias, because the first syntax was referenced to a lot)
* enable X11 interfaces: -x: xconfig, -g: gconfig
* new function to copy the xauthority file:
pmb.chroot.other.copy_xauthority()
* remove menufconfig() function from the kernel template and all kernel
aports ([skip ci] because it would rebuild all kernels and run out of
time). Alpine has dropped this as well, and it wouldn't work with the
new code anyway.
* linux-samsung-p4wifi: Use libressl-dev
* linux-samsung-p4wifi: Update to kernel based on mainline tegra_defconfig
Previously it was based on the config from a mainline-ish kernel for
Android. The remaining Android specific patches have been dropped.
It is now mainline with out-of-tree drivers and corresponding hardware
specific patches/fixes/hacks.
- depend on the firmware-lg-hammerhead-modem and
firmware-lg-hammerhead-adsp
- depend on the modem-qcom-msm-mainline-common
Currently adsp firmware is not used actually given upstream kernel
doesn't have support for adsp/sound subsystem. But it will be used
eventually.
Changes:
* device-samsung-klte with both downstream and mainline kernel
subpackages
* linux-postmarketos-qcom updated to last commit
What works in mainline kernel:
* internal SD card
* volume and home key buttons
* usb network
Add modem-qcom-msm-downstream-common package that pulls in the
dependencies.
qcom_rmtfs now has udev rules to find the storage partitions. My hope
is they can be written flexibly enough to cover all devices and kernel
flavors.
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
The `msm-fb-refresher` updates the screen for msm based devices. It is
not needed for all devices, so we had some extra code in the initramfs,
that would only add it when the `deviceinfo_msm_refresher` variable was
set. However, we are able now to add files to initramfs hooks, so this
hack can be removed and simplify everything.
Changes:
* Remove `deviceinfo_msm_refresher` from all deviceinfos
* Add sanity check for it
* Move all `deviceinfo` sanity checks to an extra function
* `postmarketos-mkinitfs`: remove code for msm refresher
* `msm-fb-refresher`: add initramfs hook
* 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`.
Previous post install action results in loading wlan module during
sysinit. This is not possible since wlan device is only exposed after
wcnss-wlan service. This also delays ssh startup for approximately 3
minutes.
Loading wlan module should only be done on default runlevel, after
wcnss-wlan service has been started.
Also add a reference fb.modes file, although directfb applications still
doesn't work and cause the framebuffer driver to crash.
- Currently just graphics along with weston tested
- Depend on firmware-adreno from device-lg-hammerhead
- Reduce dep of linux-firmware
- Just pull qcom, bracm and adreno firmware
* Progress can be followed in #1206
* Kernel boots with device tree from LineageOS and can
be installed by android recovery zip
* Networking comes up at boot but there's not display yet
* As discussed in IRC/matrix, we're removing `linux-postmarketos-lts`
for now. The kernel isn't used right now, and we save lots of
maintenance effort with not updating it every week or so.
* new config option `"kernel"` with possible values:
`"downstream", "mainline", "stable"` (downstream is always
`linux-$devicename`)
* ask for the kernel during `pmbootstrap init` if the device package
has kernel subpackages and install it in `_install.py`
* postmarketos-mkinitfs: display note instead of exit with error when
the `deviceinfo_dtb` file is missing (because we expect it to be
missing for downstream kernels)
* device-sony-amami:
* add kernel subpackages for downstream, mainline
* set `deviceinfo_dtb`
* device-qemu-amd64: add kernel subpackages for stable, lts, mainline
* test cases and test data for new functions
* test case that checks all aports for right usage of the feature:
* don't mix specifying kernels in depends *and* subpackages
* 1 kernel in depends is maximum
* kernel subpackages must have a valid name
* Test if devices packages reference at least one kernel
* Remove `_build_device_depends_note()` which informs the user that
`--ignore-depends` can be used with device packages to avoid building
the kernel. The idea was to make the transition easier after a change
we did months ago, and now the kernel doesn't always get built before
building the device package so it's not relevant anymore.
* pmb/chroot/other.py:
* Add autoinstall=True to kernel_flavors_installed(). When the flag
is set, the function makes sure that at least one kernel for the
device is installed.
* Remove kernel_flavor_autodetect() function, wherever it was used,
it has been replaced with kernel_flavors_installed()[0].
* pmb.helpers.frontend.py: remove code to install at least one kernel,
kernel_flavors_installed() takes care of that now.
* Specify a device tree binary file for p4wifi kernel
Previously the p4wifi kernel was using Android patches which append the
dtb to zImage in the kernel makefile.
Now follow mainline kernel convention of leaving the zImage and dtb
separate. Follow postmarketOS convention of specifying dtb file in
deviceinfo.
* Use linux-postmarketos-mainline APKBUILD build functions for p4wifi
* Update linux-samsung-p4wifi to kernel 4.16
- Use mainline broadcom bluetooth hci driver
- Use mainline atmel_mxt_ts driver
- Use mainline stmpe811 mfd driver and add stmpe811 ADC block
Note about PMOS_NO_SAFESTRAP kernel cmdline:
This can be used to forcefully skip SafeStrap partition mount in device
initramfs hook, for example when booting with droid4-kexecboot on device with
SafeStrap configured as well.
The kgsl 3d driver causes the device to boot loop, so disable this for
now.
The device boots ok after removing the kgsl driver, although continuing
boot from debug-shell via `pmos_continue_boot` does not work (seems to
be a bug in msm_fb driver). So, one has to reflash the boot partition
generated with no intfs debug shell to enjoy this improvement.
* [samsung-p4wifi] Include modules in kernel package
* [samsung-p4wifi] Load wifi modules at boot
* [samsung-p4wifi] Use mainline wm8994 sound driver
* [samsung-p4wifi] Add ALSA UCM config
Generated from xml2ucm tool.
* [samsung-p4wifi] Add headphone jack detect udev rules
* [samsung-p4wifi] Remove touchscreen calibration
It is not a resistive touchscreen. The default calibration works.
* 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