Skip to content

Releases: HyperRamzey/Eureka-Kernel-R24U

Eureka Kernel #71 (2026-10-07) - charger-boot fixes, diagnostics removed

Choose a tag to compare

@HyperRamzey HyperRamzey released this 07 Oct 15:06

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:

  • 32018b584c0c s2mpu08 PMIC CP rail programming
  • f0ed4a9cab22 ACPM boot-CPU probe
  • 9d7b78a561f1 NFC pvdd_en driven unconditionally (the charger-mode NFC fix)
  • 4 × schedtune fixes

Reverted — diagnostic only, no behaviour:

  • dae6e547ecd0 cal/seq index logging
  • 2d907e286829 CONFIG_LOG_BUF_SHIFT restored 22 → 19 (512 KB log buffer)
  • 2df925e23af4 sec_nfc lpcharge/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.img and dtbo.img are unchanged by this build (dtb.img is
byte-identical to the previous build, dtbo.img is 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=2181

Always 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.img kernel md5 == built Image (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-crdroid16
    • system_server alive, CPU time advancing across a 10 s sample
    • SystemUI present, WiFi enabled, SIM LOADED, battery 100 % readable
    • no system_server_watchdog entry 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.

kernel #85 — epoll_pwait2 + ftrace

Choose a tag to compare

@HyperRamzey HyperRamzey released this 16 Sep 16:15

A30s kernel #85. Includes epoll_pwait2 native/compat backport, tracefs/ftrace config, SUSFS fixes.

Eureka Kernel R24U v1.3 — governor/scheduler cleanup + real GPU voltage

Choose a tag to compare

@HyperRamzey HyperRamzey released this 07 Sep 20:02

Eureka Kernel R24U v1.3

Governor/scheduler cleanup + real GPU voltage reporting.

For all Eureka-supported Exynos7885 devices: Galaxy A10, A20, A20e, A30, A30s, A40, M20, M30s (jackpotlte).

What's new

CPU governors — cleaned set

Kept (exactly): interactive, performance, powersave, schedutil, userspace (stock set) + intelli_active, blu_active, lionheart.

Removed: ondemand, ondemandplus, conservative, smartmax, smartmax_eps, darkness, bioshock.

Default governor: tuned schedutil — rate-limit multiplier 50 → 20 for the overclocked Exynos7885 frequency tables (2.5× faster frequency ramp-up). Switch to intelli_active/blu_active/lionheart anytime via the manager app.

I/O schedulers — zen default

  • Internal storage (eMMC): zen default; bfq, fiops, sio selectable
  • External SD card: sio default (kernel-side hook at mmc block allocation — automatic, survives remount)
  • Removed: noop, deadline, maple, anxiety, cfq

GPU voltage — real values

/sys/devices/platform/11500000.mali/vol was a stub returning 0. Now reports the real ASV voltage for the current GPU clock + voltage margin. The Eureka-Manager GPU page displays live current mV.

KernelSU

rsuntk 648e5988 + clang-24 copy_to_iter const-cast build fix — submodule now points at the HyperRamzey/KernelSU fork (eureka-r24u branch), so fresh clones build out of the box.

Everything from v1.2 preserved

ASV voltage margin sysfs (per-domain runtime margins), baseband guard (CP auto-recovery + crash counters), CIFS (SMB2/SMB3.1.1), full IPset, KernelSU 32473.

Install

Flash in recovery (same AROMA installer as always):

  1. Select variant (AOSP / OneUI3 / Legacy base)
  2. Select dtb enforcement mode
  3. Optional: DM-verity-patched DTBO

Kernel: 4.4.302-p6-Eureka-R24U-KSU_R24U · sha256 checksums in .sha256 sidecars.

Manager app

Eureka-Manager v1.1 — adds Display (mdnie) + FlashLight controls ported from EKManager, AMOLED solid-black default theme, correct °C rendering on the overall screen, live GPU mV.

Eureka Kernel R24U v1.2 — ASV Margin + Baseband Guard

Choose a tag to compare

@HyperRamzey HyperRamzey released this 06 Sep 22:25

Eureka Kernel R24U — v1.2 (ASV Margin + Baseband Guard)

Same proven recipe as v1.1 (vendor R24U 4.4.302 + rsuntk KernelSU 32473,
original AROMA packaging, Neutron Clang 24, vendor flag style), now with the
two ROADMAP features that needed kernel code:

What's new in v1.2

  • ASV voltage margin (ROADMAP §1) — runtime per-domain voltage margins:
    • /sys/class/asv_margin/{cpucl0,cpucl1,g3d,mif,int}/margin (µV, rw)
    • 0 = stock ECT table; positive = stability margin; negative = undervolt
      (user risk); clamped ±100000 µV; min/max exposed read-only
    • Implemented via the existing cal_dfs_set_volt_margin() → ACPM
      MARGIN_REQ path — the ACPM firmware applies it live to every future
      voltage transition. The vendor kernel only used this control at boot
      (fvmap early params); no runtime interface existed before.
    • Device-verified: margin round-trip 0→25000→0 µV on all domains.
  • Baseband guard (ROADMAP §2) — CP auto-recovery policy:
    • hooks the modem event notifier; if the Shannon CP crashes and does not
      reach ONLINE within 45s, replays the RIL recovery sequence
      (modem_off → modem_on → boot_on); rate-limited to 3 attempts
    • sysfs: /sys/class/baseband_guard/baseband_guard/ — enable (default on),
      state, crashes, recoveries, last_event, boot_window_ms,
      max_attempts, reboot_on_dead (default off)
    • Device-verified: boots, cp_state=ONLINE, crash counter caught real
      CP events the vendor kernel silently swallowed, zero spurious recoveries.
  • Includes everything from v1.1 (CIFS SMB2/3.1.1, full IPset) and the v1.1
    packaging fix (original Eureka DTBs via AROMA — see v1.1 notes).

Companion app

Eureka-Manager — kernel
manager with ASV-margin seekbars and a Baseband Guard dashboard (requires
this kernel).

Install

Flash in recovery → Default Installation → AOSP Q/R/S/T/U (New) →
SELinux Enforcing → DM-verity Yes → reboot.

Manager pairing

rsuntk RKSU manager ≥ v3.2.2-10-legacy (unchanged).

Per-device

Device Codename DTBO v1.2 Image
Galaxy A10 a10 patched 28,458,096 B
Galaxy A20 a20 patched 29,097,448 B
Galaxy A20e a20e patched 28,722,792 B
Galaxy A30 a30 patched 29,443,944 B
Galaxy A30s a30s patched user-verified boot + ASV + guard
Galaxy A40 a40 patched 29,796,840 B
Galaxy M20 m20 original (no device dtbo) 18,145,864 B
Galaxy M30s jackpotlte original (no device dtbo) 22,293,960 B

uname -r: 4.4.302-p6-Eureka-R24U-KSU_R24U (uniform, all 8)

ASV margin quick start

# +25 mV on the BIG cluster:
echo 25000 > /sys/class/asv_margin/cpucl0/margin
# back to stock:
echo 0 > /sys/class/asv_margin/cpucl0/margin

Negative values undervolt. Instability = your sign to go back toward 0.

Sources: R24U branch @ 8724e15af (asv_margin + baseband_guard commits).

Eureka Kernel R24U v1.1 — CIFS + IPset (AROMA)

Choose a tag to compare

@HyperRamzey HyperRamzey released this 06 Sep 18:11

Eureka Kernel R24U — v1.1 (CIFS + IPset, AROMA)

Kernel for Exynos7885 Samsung devices, based on the pristine vendor R24U 4.4.302
tree + rsuntk KernelSU 32473, packaged in the original AROMA installer
(the packaging style of the device-verified builds).

What's new in v1.1

  • CIFS enabled (SMB2 + SMB3.1.1, XATTR, POSIX) — mount Windows/Samba shares
    natively. Verified on-device: /proc/fs/cifs active, CIFS Version 2.08.
  • Full IPset enabled (all 15 set types + set match / SET target for
    iptables). Verified on-device: set create/add/list/destroy over kernel
    protocol 6 with ipset v7.24.
  • Original AROMA packaging restored — v1's plain AK3 zips flashed a
    kernel-tree-built DTB that does not boot these devices (root cause of the
    v1 boot failures, see below). v1.1 ships the same AROMA structure as the
    original Eureka release: the menu flashes the original Eureka DTBs +
    DM-verity-patched DTBO + the new kernel.
  • Missing vendor-tree fix actually committed (dsim dev_get_drvdata — was only
    in the build working tree before).
  • tools_eureka/build_device.sh fixed (defconfig filename + stale
    CIP-era LOCALVERSION) — now reproduces this release per-device.

Root cause of v1's boot failures (why v1.1 uses AROMA)

The v1 zips were single-layer AnyKernel3 that flashed the DTB built from the
kernel tree (dtb.img, sha 1b8609b2…). The device-verified builds (H2 and
the original Eureka release) flash the original Eureka DTBs
(52d5d478… enf / bbed7f94… perm) — different content. Flashing the
tree-built DTB hangs at the boot logo on these devices. v1 has been deleted;
use v1.1.

Install

  1. Flash the zip for your device in recovery.
  2. Menu: Default Installation
  3. Variant: AOSP Q/R/S/T/U (New) — this choice installs OUR kernel
    (rsuntk KSU 32473 + CIFS + IPset). The OneUI3/Legacy choices flash the
    original untouched Eureka kernels for users of those ROM types.
  4. SELinux: Enforcing (Permissive also available)
  5. DM-verity patch: Yes (recommended)
  6. Reboot.

Manager pairing (unchanged from v1)

This kernel embeds rsuntk KernelSU 32473 — pair it with the
rsuntk RKSU manager ≥ v3.2.2-10-legacy (not tiann, not KernelSU-Next).

Per-device notes

Device Codename DTBO
Galaxy A10 a10 DM-verity-patched (device-specific)
Galaxy A20 a20 DM-verity-patched
Galaxy A20e a20e DM-verity-patched
Galaxy A30 a30 DM-verity-patched
Galaxy A30s a30s DM-verity-patched (device-verified boot + CIFS + IPset + KSU)
Galaxy A40 a40 DM-verity-patched
Galaxy M20 m20 original (no device dtbo in tree; dtbo menu option is a no-op)
Galaxy M30s (jackpotlte) jackpotlte original (same as m20)

Kernel

uname -r: 4.4.302-p6-Eureka-R24U-KSU_R24U (uniform across all 8 devices)
Built with Neutron Clang 24 in vendor flag style (no LLVM=1), full/ defconfigs.

Verify after install (optional)

adb shell "su -c 'cat /proc/fs/cifs/DebugData'"     # CIFS version line
adb shell "su -c 'iptables -m set -h'"              # set match registered

Sources: R24U branch of this repository (tip 0ac0bcfb8).