On some devices a getty should run on the serial console.
Configure the getty by setting the deviceinfo_getty variable. The
format is "<port>;<baud rate>". For example, "ttyS0;115200".
A post-installation trigger in postmarketos-base checks
/etc/deviceinfo, and modifies /etc/inittab if the device should run
a getty.
Fix the following error when installing postmarketos-ui-plasma-mobile:
ERROR: unsatisfiable constraints:
polkit-elogind-0.116-r1:
breaks: polkit-dev-0.116-r0[polkit=0.116-r0]
satisfies: polkit-kde-agent-1-5.17.3-r0[polkit-elogind]
.pmbootstrap-20191121.210534[polkit-elogind]
consolekit2-1.2.1-r1[polkit]
consolekit2-1.2.1-r1[so:libpolkit-gobject-1.so.0]
networkmanager-1.20.6-r0[so:libpolkit-agent-1.so.0]
networkmanager-1.20.6-r0[so:libpolkit-gobject-1.so.0]
polkit-qt-1-0.113.0-r0[so:libpolkit-agent-1.so.0]
polkit-qt-1-0.113.0-r0[so:libpolkit-gobject-1.so.0]
accountsservice-0.6.55-r0[so:libpolkit-gobject-1.so.0]
urfkill-0.5.0_git20170118-r0[so:libpolkit-gobject-1.so.0]
This is the reason, why the pmbootstrap qemu test (which performs a full
plasma mobile installation and checks running processes) check failed:
https://postmarketos.gitlab.io/-/pmbootstrap/-/jobs/357942365/artifacts/log_testsuite.txt
Enable armhf again, because "gnome-session" is available in Alpine for
armhf now.
[ci:skip-build]: already built successfully in CI. ollieparanoid made
sure that all packages build for armhf.
[ci:skip-vercheck]
Signed-off-by: David Heidelberg <david@ixit.cz>
It seems the the CFLAGS are not properly set in the CMakeLists.txt.
Cmake currently appends -std=gnu90 at the end of the CFLAGS, overriding
the earlier set -std=c99. Work around this with sed. Better fix is
welcome, this is a stop-gap solution to unbreak the build (which is
blocking build.postmarketos.org).
It's unmaintained both on our side and upstream. Nobody stepped up to
maintain it (https://gitlab.com/postmarketOS/pmaports/issues/372), so
let's drop it before it introduces security issues and compilation
problems.
ConfigFS USB attrs are customizable based on the `deviceinfo_usb_*` variables,
however some downstream kernels (e.g: msm-3.18) doesn't use configfs, instead
uses the traditional Android USB Gadget.
Based on `deviceinfo_usb_{idVendor/idProduct}` variables, we can change the USB
vendor and product.
So that on these devices, we can make it appear on USB bus as the correct USB
vendor/product ID, not "Google Inc. Nexus 4 (fastboot)"
Signed-off-by: Danct12 <danct12@disroot.org>
At the moment, a full file system check is forced even if the
file system is marked clean (i.e. it was properly unmounted the
last time it was used). On large file systems with slow I/O
(e.g. SD cards), this can take a significant amount of time.
Removing the -f option of e2fsck allows skipping the full
file system check if it is marked clean, speeding up the boot time.
Some devices' downstream kernels may have different RNDIS/functionfs
drivers (ex. QCRNDIS) that require different values for some
configfs gadget attributes. Make it possible to customize with
deviceinfo file from device- package.
The idea is that each device- package can optionally specify a
bunch of `deviceinfo_usb_*` variables to customize the way it is
visible on USB bus. The ability to override
`deviceinfo_usb_rndis_function` is essential to make downstream
sdm660 based device to appear on USB bus.
While at it, make `idVendor`, `idProduct` and `serialnumber` also
customizable. So that we can make, for example, PineTab appear on
USB bus as PineTab, not as "Google Inc. Nexus 4 (fastboot)".
Mainline U-Boot looks for the device tree blob in the "second" area
of the Android boot image (see https://patchwork.ozlabs.org/patch/1025211/).
Add an option "deviceinfo_bootimg_dtb_second" to place the device DTB there.
Currently, the USB networking setup using configfs does not configure
a "serialnumber" for the USB gadget. This means that an empty
serial number will be sent during USB enumeration.
This is usually not a problem, but it seems to cause issues under
special circumstances (on asus-me176c on one of my PCs).
The USB Gadget configfs documentation also suggests setting
the "serialnumber":
https://www.kernel.org/doc/Documentation/usb/gadget_configfs.txt
It can be any string, so we can just set it as "postmarketOS" like
the manufacturer.
The openrc service of lightdm has been moved to lightdm-openrc in
Alpine. Fix all UIs depending on lightdm, so their post-install script
does not fail with:
Executing postmarketos-ui-plasma-mobile-2-r6.post-install
* rc-update: service `lightdm' does not exist
Upgrade and add depends to static libraries to make it build again. When
the package was added initially, the static libraries were part of the
respective -dev packages.
The initramfs needs ext4 (to mount the rootfs) and usb_f_rndis
(to enable USB networking on devices that use USB configfs).
If these are built as modules, they need to be included in initramfs.
[ci:skip-build]: already built successfully in CI
apitrace have a GUI tool to inspect the trace dumped by apitrace tool.
This is built when a optional dependency of qt5 widgets and qt5 network
is satisfied. So build that as well.
current version merged was missing the zlib-dev and libpng-dev
dependency which would make apitrace build internal copies of them, and
that would fail due to missing patches for musl.
add dependencies zlib-dev and libpng-dev
The package was added with the initial Unity 8 packaging but even then
it seems that this package was never actually used.
Remove it because it no longer builds (some patches upstream might get
it building again).
[ci:skip-build]: already built successfully in CI
We have linux-postmarketos-qcom and linux-postmarketos-qcom-msm8916 now,
which is quite confusing. linux-postmarketos-qcom was originally added
for MSM8974 devices (e.g. Nexus 5) and its patches on top of mainline
are therefore quite focused on MSM8974.
linux-postmarketos-qcom-msm8916 on the other hand, has patches specific
to MSM8916. The two packages do not have any patch in common, therefore
merging the two would only cause signficiant overhead to coordinate
testing for devices of the two SoCs.
Therefore, it is better to keep them separate.
To avoid confusion, rename linux-postmarketos-qcom to
linux-postmarketos-qcom-msm8974 to make it clear that it is really
a close-to-mainline kernel for MSM8974 devices.
[ci:skip-build]: already built successfully in CI
5.17.x will be released soon with python3 changes, but before it is, for
now let's add this critical bugfix
[ci:skip-build]: already built successfully in CI
The sparse image tools (img2simg, simg2img, append2simg) are now
part of Alpine's android-tools package where they are continously
updated. (See https://github.com/nmeum/android-tools/pull/8)
Remove "libsparse" as depends from all packages because it is either:
- installed automatically by pmbootstrap when needed for
deviceinfo_flash_sparse="true"
(device-chuwi-hi10plus, device-htc-flounder, device-lg-bullhead,
device-semc-anzu, device-xiaomi-kenzo)
- seemingly unused(?)
(device-asus-z00t, linux-motorola-falcon, linux-motorola-peregrine)
[ci:skip-build]: already built successfully in CI
Phosh depends on gnome-session, which is currently not available in
Alpine for armhf. Fix the arch-lines to unblock building the binary
repository. [ci:skip-vercheck]
Fixes 'pmbootstrap flasher boot' for fastboot devices. This is probably
not used as often as 'pmbootstrap flasher flash_*', so I'm not enforcing
the upgrade by modifying pmaports.cfg this time.
We'll switch from whatever version of shellcheck is packaged in Debian
stretch to the newer version in Alpine edge in the next commit. Adjust
postmarketos-mkinitfs first, so it doesn't report any errors.
Also removed the explicit depends on telepathy-mission-control, as that
was already picked up by abuild with the soname
[ci:skip-build]: already built successfully in CI
This MR enable the new CONFIG_SND_SOC_NOKIA_RX51 kernel option which
replaces the old CONFIG_SND_OMAP_SOC_RX51, enabling the audio on the
N900 again (just tested).
[ci:skip-build]: won't finish in time
Rebuild all other GCC packages against mpfr4, so they don't fail with:
Error loading shared library libmpfr.so.4: No such file or directory (needed by /usr/gcc4/libexec/gcc/x86_64-alpine-linux-musl/4.9.2/cc1)
[ci:skip-build]: won't finish in time
Related: 2b32ed3a48786fa151cad8f920e5d9997bee94ed in Alpine's aports.git
* Added display in final pinephone to the kernel
* Added getty
* Use RGB led to signify booting status in u-boot
* Enable CONFIG_GPIO_SYSFS
[ci:skip-build]: won't finish in time
Seems like VIA/Wondermedia 8850 devices do not boot with the default
address. Add new deviceinfo_legacy_uboot_load_address variable to
allow setting a custom one.
[ci skip] Package output does not change except for meta
information (licenses), so don't build or verify checksums
of the packages to prevent outdated source URL's breaking it.
This will have to be looked at later