Repository navigation
Eureka Kernel #71 — 2026-10-07 · Samsung A30s (SM-A307F / SM_A307FN)
Charger-boot fix series with the diagnostic instrumentation removed, and all
merged worktree branches folded into rom-crdroid16.
| Kernel | Linux version 4.4.302-p6-Eureka_rom-crdroid16 … #71 SMP PREEMPT Wed Oct 7 17:44:40 MSK 2026 |
| Source | 2df925e23af4289f27fd140759ae0f1f0769056c on rom-crdroid16 |
| Toolchain | Neutron clang 24.0.0git |
| Target | a30s, exynos7885/7904, Android 16 (crDroid 12.12) |
| Boot image | hdr v3, 33,282,048 B, partition by-name/boot = mmcblk0p15 (37,748,736 B) |
What's in this build
Kept — behavioural fixes:
32018b584c0cs2mpu08 PMIC CP rail programmingf0ed4a9cab22ACPM boot-CPU probe9d7b78a561f1NFCpvdd_endriven unconditionally (the charger-mode NFC fix)- 4 × schedtune fixes
Reverted — diagnostic only, no behaviour:
dae6e547ecd0cal/seq index logging2d907e286829CONFIG_LOG_BUF_SHIFTrestored 22 → 19 (512 KB log buffer)2df925e23af4sec_nfclpcharge/gpio instrumentation
Net effect: same behaviour as the previously verified #63, minus the log noise,
with the log buffer back to the shipped size.
Assets
| File | Size | Notes |
|---|---|---|
Eureka-Kernel-a30s-20261007.zip |
15,374,986 B | AnyKernel3 — flash from recovery, writes boot only |
boot.img |
33,282,048 B | raw Android boot image (kernel + ramdisk + dtb) |
dtb.img |
88,064 B | m dtbimage output → by-name/dtb (mmcblk0p17) |
dtbo.img |
407,552 B | AVB-signed prebuilt → by-name/dtbo (mmcblk0p18) |
Every asset ships with a .sha256 sidecar (sha256sum -c <file>.sha256).
ca9bee1a6c2174e52f6f19b8ca0be4539d67409bd1a093cd093ac0ee3d88e3ef boot.img
c4a95915c6ffaed6e27e723b1e298ab10e14c9fcddc62f38906caf447e5c526f dtb.img
d9db93a95236744390517387634279f8df46962981c2fc4db271fe815a56e8ef dtbo.img
348c9fc1dca7582b7a83d12e02b1128e96428fcaa11d32e558feb730ac076dd4 Eureka-Kernel-a30s-20261007.zip
md5 of boot.img: 627c181146974aca6291090b35634d87
dtb.imganddtbo.imgare unchanged by this build (dtb.imgis
byte-identical to the previous build,dtbo.imgis the AVB-keyed prebuilt).
They are published so the set is complete — flash them only if you have a
reason to.
Install
A. AnyKernel3 (recommended) — from OrangeFox/TWRP:
sha256sum -c Eureka-Kernel-a30s-20261007.zip.sha256
# then Flash the zip. It patches only the boot partition; /data is untouched.
The bundled anykernel.sh targets BLOCK=/dev/block/platform/13500000.dwmmc0/by-name/boot
(resolves to /dev/block/mmcblk0p15 — verified on hardware), IS_SLOT_DEVICE=0,
do.devicecheck=0, device.name1=a30s.
B. Raw dd (root shell):
BLK=/dev/block/by-name/boot # -> /dev/block/mmcblk0p15
grep -c mmcblk0p15 /proc/mounts # MUST print 0
dd if=boot.img of=$BLK bs=4096
head -c 33282048 $BLK | md5sum # must be 627c181146974aca6291090b35634d87
# zero the remainder. NOTE: 33282048 is NOT 4096-aligned (33282048/4096 = 8125.5),
# so seek=ceil(33282048/4096)=8126 would start at 33284096 and leave 2048 stale
# bytes. Use bs=2048, which divides the image size exactly:
# 33282048 = 2048 * 16251 and 37748736 = 2048 * 18432
dd if=/dev/zero of=$BLK bs=2048 seek=16251 count=2181Always keep a copy of your current boot.img before flashing — the partition
is the only thing that matters for recovery, and OrangeFox can restore it.
Verification (this exact build, flashed and booted)
- Build gates:
boot.imgkernel md5 == builtImage(c9ee4971…), all content
gates pass, zero-byte.o= 0, kernel tree clean (0 dirty). - Flash: head readback byte-exact, tail all-zero, rollback image intact.
- On device after reboot:
sys.boot_completed=1, kernel reports#71/rom-crdroid16system_serveralive, CPU time advancing across a 10 s sample- SystemUI present, WiFi enabled, SIM
LOADED, battery 100 % readable - no
system_server_watchdogentry in the 20 min after boot - camera provider stable (pid unchanged across 8 s — no construction crash-loop)
Not part of this verification: the AGC camera application is still WIP and was
not exercised.