All of my personal projects can be found on GitHub, here are a few key repositories that I am proud of:
ClangBuiltLinux is a collaborative organization between several engineers across different companies like Google, Linaro, and IBM to improve building the Linux kernel with the LLVM tools such as clang and lld. I have contributed various fixes to the mainline Linux kernel, helped triage and debug issues on the issue tracker, improved the continuous integration setup through a set of scripts and Docker images, and developed a set of toolchain build scripts for myself and others to use for consistent testing/developing.
All of my kernels focused on stability/security by merging in the stable updates from kernel.org, any relevant updates from Qualcomm, and building with newer compilers to fix warnings during compilation. Below are the highlights for each kernel.
Pixel 2 (XL): First to merge in linux-stable and build with up to date versions of Clang. Added EAS 1.5 from kernel/common.
Pixel (XL): First standalone custom kernel to be compiled properly with Clang, fixing the vast majority of warnings.
OnePlus 6: I recieved this device as part of OnePlus’s developer program. I was the first to merge in linux-stable and the updates from Code Aurora Forum, build with Clang, and port over the 32-bit vDSO for arm64 from the Pixel 2 kernels (initially created on a 4.4 base).
Other interesting personal repos
My scripts: The scripts I use for my workflow and personal configuration files, focusing on increasing productivity by decreasing manual intervention needed to doing repetitive tasks.
android-kernel-clang: Collected the core Clang patchset for Android kernels from the Pixel 2 and Chromium kernel repositories, supplementing them with fixes for warnings from out of tree code.
build-tools-gcc: A script to build a GCC cross compiler for arm/arm64.
Other open source contributions
android-linux-stable: Several Android kernel trees with the latest stable tags from kernel.org merged into them, along with conflict resolution notes and a how-to process for other developers and information for users to understand the process. Testing includes merging into my own Flash Kernel repositories linked above and building with all of the relevant defconfigs/compilers. I report results back to the stable tree maintainers, receiving praise for my efforts on a couple occasions (one and two). I streamlined the maintenance of these repos into a script.
kernel/common: Google’s common Android kernel.
AnyKernel3: A kernel flashing utility for TWRP, responsible for unpacking the boot image, applying any requested ramdisk changes, repacking the files, and flashing them to the boot image partition.