- Upstreamed to latest 4.4.y subversion release available on kernel.org
- Added LOTS of build time fixes and improvements:
- Fixed some actual issues in code thanks to
-Werror
under newer GCC - Any GCC version up to 10.2 with relevant binutils have been tested as working
- In-tree compilation has been fixed (no need to use
make O=out
anymore) - Migrated MediaTek's DCT tool from Python 2 to Python 3
- Silenced a bunch of build-time message spam from MediaTek Makefiles and such
- Builds with
CC=clang
(only onwip-llvm-clang-support
branch, crashes when entering suspend)
- Fixed some actual issues in code thanks to
- Silenced LOTS of message spam in
dmesg
on device runtime - Disabled even more debugging features in defconfig
- android-9.0 — Android 9 kernel source with many build fixes and some cleanup
- halium-9.0 — Same as android-9.0, but with Halium 9 patches for e.g. Ubuntu Touch
The currently used & tested working build env consists of (others should work fine as well):
- An x86-64 Ubuntu 20.10 (-based) distro
- binutils 2.35
- GCC 10.2
# apt install -y build-essential gcc-aarch64-linux-gnu libssl-dev python3 bc curl mkbootimg kmod
# pacman -S --needed --noconfirm base-devel aarch64-linux-gnu-gcc python3 bc android-tools kmod
The process should be straight forward following the prompts from the build.sh script:
./build.sh
The deploy.sh
script will detect and attempt to deploy a boot.img
& kernel-modules.tar.gz
in the current directory to a connected device in recovery mode.
./deploy.sh
NOTE: The device needs to be booted to UBports recovery for this to work AND these changes will get overwritten by the default kernel on OS updates!