Ignore this kernel in "pmbootstrap kconfig check" by default, so we can
use the upstream kernel config without any changes. But still enable the
kernel config check again.
The related pmbootstrap change will be merged soon:
https://gitlab.com/postmarketOS/pmbootstrap/merge_requests/1753
[skip ci]: this change doesn't affect the build
[skip ci]: too many packages changed, build won't finish in time.
ollieparanoid made sure that this builds for x86_64,
aarch64, armhf, armv7. Also he tested that this boots up
in qemu-amd64.
Plasma-framework 5.55.0 isn't building for aarch64 without this patch.
Aleix Pol ran into the same problem with flatpak builds, and created the
patch: https://codereview.qt-project.org/#/c/253276/
Display is working in both X and wayland (tested with weston and XFCE).
Not tried with osk-sdl yet, charging-sdl seems to work fine.
USB networking and SSH is working too.
Camera subsystem disabled to prevent bootloops. This device brings its
own dtb.img format, but there's a generator in the kernel source that
is used at build time (patched to make it work properly).
[skip ci]: already built in CI successfully
* Mir starts up and is able to display system settings
* x86_64 only for now, because at least ubuntu-app-test did not build
on aarch64
Based on PureTryOut's work. Getting it to this stage was a huge effort
(as it shows in the package count: 111(!)). See the merge request for
details.
[skip ci]: this won't finish in CI; ollieparanoid made sure that
everything builds for x86_64.
- Use separated patches
- Use new panel driver (with backlight support)
- Battery fixes
- Fix compass (AK8975) (not tested, only probing works, but sometimes
doesn't - says "Unexpected device" - need to investigate that)
- Touchkey is working + LED
- Keyboard backlight + HALL for slideout detection
- Reverts few hacky commits that caused USB networking not to work
- Modified atmel drivers used by TF101 to work with libinput
[skip ci]: already built successfully in CI
Successfully tested both the gcc4 compiler on x86_64 with a simple
program (fbdebug) and the gcc4-armhf cross-compiler to build a very old
u-boot port for Galaxy Nexus (a MR will follow soon) which failed to
boot with either newer version (6 and 8).
[skip ci]: already went through
PureTryOut said: The situation has improved, that's for sure, but the
scaling still isn't perfect. However, according to bshah, this is how it
should be done, so I'm fine with merging this anyway.
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
Alpine Linux has updated their main/icu to 63.1, which means we have to
rebuild some of our packages too.
[skip ci]: simple pkgrel bumps, building won't finish in CI
Fails to build for armhf with the error below, and doesn't seem to be
tested on anything but x86_64 anyway according to the project's
README.md file. I did not report this upstream, because we are using
the version from Purism's repository that is at 1.2.31. Upstream is
already at 1.2.68, which may have fixed this already. So if somebody
needs to have it working for anything other than x86_64, we should try
the upstream version first.
[ 83%] Creating preprocessed clst file /home/pmos/build/src/mfgtools-uuu_1.2.31/uuu/gen/emmc_burn_all.clst
gen_txt_include.sh: applet not found
make[2]: *** [uuu/CMakeFiles/uuu.dir/build.make:63: uuu/gen/uuu.clst] Error 127
make[2]: *** Waiting for unfinished jobs....
gen_txt_include.sh: applet not found
make[2]: *** [uuu/CMakeFiles/uuu.dir/build.make:68: uuu/gen/emmc_burn_loader.clst] Error 127
gen_txt_include.sh: applet not found
gen_txt_include.shmake[2]: *** [uuu/CMakeFiles/uuu.dir/build.make:73: uuu/gen/emmc_burn_all.clst] Error 127
: applet not found
make[2]: *** [uuu/CMakeFiles/uuu.dir/build.make:93: uuu/gen/sd_burn_all.clst] Error 127
make[1]: *** [CMakeFiles/Makefile2:184: uuu/CMakeFiles/uuu.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 83%] Built target uuc
make: *** [Makefile:130: all] Error 2
ConfigFS expects idVendor and idProduct values to be prefixed with 0x.
Without this change, google-crosshatch shows as a device with 0:0 as the
idVendor/idProduct in lsusb:
Bus 001 Device 004: ID 0000:0000
This confuses VirtualBox: it has trouble detaching this device from
a virtual machine, so one must manually use ifconfig to bring down the
old USB network connection before reattaching.
With this change, the idVendor/idProduct is correct:
Bus 001 Device 004: ID 18d1:d001 Google Inc.
This issue also seems to affect other devices with ConfigFS, such as the
Nexus 5:
https://matrix.to/#/!clcCCNrLZYwdfNqkkR:disroot.org/$15487159511194991apGpy:matrix.org
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
USB host mode is useful (essential?) on the devkit for adding a
keyboard/mouse to interact with the desktop since the onboard display
and touchscreen are very much in flux.
[skip ci]: already built successfully in CI
The LineageOS kernel integrates the Wi-Fi driver, so reconfigure with
the Lineage defconfig and copy the Wi-Fi options over to our defconfig.
This doesn't get Wi-Fi working yet, but it gives a good starting point.
Do not replace compiler-gcc.h. This is necessary now, as we are
replacing compiler-gcc.h by default again, as it is needed for most
kernels. Not increasing the pkgrel to avoid unnecessary rebuild, I have
verified that this works.
NOTE: in the last commit message, I wrote about OVERWRITE_GCC=0. But
the variable is called REPLACE_GCC, as I've decided to rename it before
submitting. I forgot to change it in the commit message.
[skip ci]: this kernel takes more than one hour to build, so it won't
finish in CI.
Instead of never overwriting compiler-gcc.h if it exists, overwrite it
by default except if OVERWRITE_GCCH=0 is set in the environment.
Most kernels *do* need this file replaced and won't build without this
patch.