LineageOS 23.2 (Android 16) kernel for the theloop smart speaker (MediaTek MT6877).
This repo is a fork of UN1CA/kernel_samsung_a34x with theloop-specific additions. The Samsung Galaxy A34 5G shares enough of theloop's hardware (SoC, combo chip, DRM/audio paths) that its kernel works on theloop with a small defconfig overlay. No kernel source changes, just config.
sixteen— tracks UN1CA upstream unchanged. Used as the base for rebases when pulling security updates.lineage-23.2— theloop branch.sixteen+ 1 commit addingtheloop_overlay.configand theloop build wrapper.
build_kernel.sh # wrapper
kernel/kernel_device_modules-6.6/
kernel/configs/theloop_overlay.config # theloop defconfig overlay
kernel/configs/mt6877_overlay.config # (upstream) MT6877 overlay
...
Fresh checkout on Ubuntu 22.04, ~50 GB disk free, working internet:
git clone https://github.com/LosSantosPro/android_kernel_rainx_theloop.git
cd android_kernel_rainx_theloop
git checkout lineage-23.2
./build_kernel.shThe wrapper is idempotent. It will:
- Install
repoif not already present. repo syncthe AOSPcommon-android15-6.6kernel manifest intoaosp-kernel/.- Download Clang r536225 prebuilt.
- Patch Kleaf build configs for reproducible builds (SOURCE_DATE_EPOCH,
strip
-maybe-dirty, pin clang version). - Run
build.sh(Bazel) withtheloop_overlay.configappended to the defconfig overlay stack.
Outputs land in out/target/product/a34x/obj/KLEAF_OBJ/dist/:
Image.gzdtb.imgdtbo.img- ~200
.komodules
Expected vermagic:
6.6.127-android15-8-abogkiA346BXXSEEZB6-4k SMP preempt mod_unload modversions aarch64
The theloop LineageOS device tree at LosSantosPro/android_device_rainx_theloop consumes the kernel as prebuilts, not as source. After building:
# Kernel image + dtb/dtbo
cp out/target/product/a34x/obj/KLEAF_OBJ/dist/Image.gz <device-tree>/prebuilts/
cp out/target/product/a34x/obj/KLEAF_OBJ/dist/dtb.img <device-tree>/prebuilts/
cp out/target/product/a34x/obj/KLEAF_OBJ/dist/dtbo.img <device-tree>/prebuilts/
# Updated connectivity / DRM / audio kernel modules live in vendor_dlkm
cp out/target/product/a34x/obj/KLEAF_OBJ/dist/<module>.ko <device-tree>/prebuilts/vendor_dlkm/The device tree's BoardConfig.mk references these prebuilts via
TARGET_PREBUILT_KERNEL, TARGET_PREBUILT_DTB, and BOARD_PREBUILT_DTBOIMAGE.
There is no Kleaf integration into Soong — MediaTek Kleaf kernels are built
separately and imported as prebuilts, same as most modern Mediatek LineageOS
ports.
CONFIG_SND_SOC_RT5512=m # RT5512 audio amplifier
# CONFIG_SMCDSD_PANEL is not set # Disable Samsung panel framework
# CONFIG_SMCDSD_* is not set # ...and related options
# CONFIG_DRM_PANEL_MCD_COMMON is not set # theloop uses DTS-driven panel driver
Rationale in the file's inline comments.
git checkout sixteen
git pull upstream sixteen
git checkout lineage-23.2
git rebase sixteen
# resolve conflicts in build_kernel.sh / theloop_overlay.config if any
./build_kernel.sh # rebuild + copy prebuilts to device tree- Upstream kernel maintenance: UN1CA
- Base: AOSP
common-android15-6.6GKI - MTK device modules: Samsung/MediaTek (via UN1CA)