samsung-v1 — QEMU for Samsung Android Kernel 5.10 (Qualcomm SoC Emulation)
·
7 commits
to samsung
since this release
QEMU for Samsung Android Kernel 5.10 — Static x86-64 Build
This is a statically-linked QEMU system emulator (qemu-system-aarch64) compiled for x86-64 Linux hosts (PC), modified to support running Samsung Android kernel 5.10 with Qualcomm SoC emulation.
Binary
| File | Description |
|---|---|
qemu-system-aarch64-static-pc |
Static aarch64 system emulator for x86-64 PC (~111 MB, debug symbols included) |
Modifications from Upstream QEMU
- Memory Layout: Mimics real Qualcomm SoC memory map with kernel start address at 0xa8000000 (matching Samsung bootloader convention)
- CPU Emulation: Customized to mimic real Qualcomm CPU features and behavior for proper kernel boot compatibility
- KDP & Defex Support: Added support to load Samsung kernel images with both Kernel Data Protection (KDP) and Defex security enabled
- Boot Extensions: Extended ARM virt board and boot code to handle Samsung-specific boot parameters (DTB patching, memory node configuration, reserved memory regions)
- GICv5 Fixes: Fixed interrupt controller configuration for multi-cluster Qualcomm-style CPU topology
- Android Build Support: meson.build and oslib modifications for Android compatibility
Source Code
Available on the samsung branch of this repository.
Usage
./qemu-system-aarch64-static-pc \
-machine virt \
-cpu max \
-m 4G \
-kernel samsung-kernel-5.10 \
-append "console=ttyAMA0 ..." \
...