Project
Galaxy S20 Ultra as a Linux handheld.
A custom NetHunter kernel port and native Android desktop mode on a phone that had no official support for either.
- Problem
- Kali NetHunter's only official reference is the Note20 Ultra (Exynos 990, c2s). The Galaxy S20 Ultra (z3s) is a different chip. An older community predecessor for this exact chip exists, but it's from 2023, targets Android 13, flashes via TWRP, and its own description admits only partial functionality. People on the current LineageOS 23/Android 16 branch for this phone have publicly asked for a working NetHunter kernel and not found one.
- Solution
- A kernel port checksum-verified at every build, Magisk instead of TWRP, a native Kali NetHunter chroot, plus a native Android desktop mode on an external monitor — a combination with NetHunter on this phone I haven't found documented anywhere else.
- Scope
- Fixed Bluetooth/USB/networking kernel bugs, a native Kali chroot with persistent SSH access, a USB HID/ADB/serial gadget configured on every boot, and an Android desktop mode with its own launcher on the external display, independent of the phone's own locked screen.
- Custom kernel with fixed BT/USB/NCM bugs
- Native Kali NetHunter chroot with SSH
- Android desktop mode on an external monitor
- Permanent USB HID/ADB/serial gadget

Live
The phone and the external desktop at once
Desktop mode runs on the external monitor as a full second workspace, while the phone keeps its own independent, locked screen.


Downloads
Boot images and field manual
Boot images exceed GitHub's 100 MB per-file repo limit, so they're attached as a GitHub Release instead. Read the safety note in the README before flashing anything — these images are validated for this exact phone.
Same phone?
Get in touch if you're trying this too
The repo is public and documented specifically so it can save someone else with an S20 Ultra some time.
Email is the fastest way to reach me. Clicking the button opens your email app with the address ready.
Send an emailBriefly describe the goal, scope, and current state. I will reply with follow-up questions or an outline of next steps.