A rootless Android app that boots a real Alpine Linux VM so you can run Podman, Docker, LXC containers and X11 GUI apps on your phone.
harmoninux/HiSH
A HarmonyOS app that runs a full arm64 Linux environment with an Alpine shell on phones, tablets and 2in1/PC devices.
- Stars
- 673
- Forks
- 51
- Open issues
- 36
- Last commit
- 9 days ago
What is it?
HiSH brings a Linux shell to HarmonyOS devices. It bundles a complete arm64 Linux kernel and an Alpine Linux root filesystem, and runs them through a qemu-based virtual machine built for HarmonyOS, so users get a terminal environment directly on the device.
The app supports tablets, 2in1 PCs and phones. On devices that allow JIT, it runs faster; the Phone build can use a TCI interpreter path instead. Networking with port forwarding, a shared folder, and on-screen keys for Tab, Ctrl, Esc, Shift, Fn and arrow keys are included. Ubuntu 24.04 and Debian 12 root filesystem images can also be imported.
The project is MIT licensed and can be built from source with DevEco Studio. Building the optional qemu library, kernel and root filesystem is documented step by step, including the Alpine-based custom rootfs workflow.
Key features
- 01Full arm64 Linux kernel with Alpine Linux root filesystem
- 02Network support with port forwarding
- 03Shared folder between the device and the Linux environment
- 04Virtual keys for Tab, Ctrl, Esc, Shift, Fn and arrow keys
- 05JIT acceleration on tablet and 2in1 devices
- 06Import of Ubuntu 24.04 and Debian 12 images
Use cases
- Running shell commands and Linux tools on a HarmonyOS tablet or PC
- Practicing Linux administration without a separate computer
- Testing port-forwarded services inside a lightweight Linux VM on HarmonyOS
Quick start
- 1
Clone the repository
- 2
Initialize submodules
git submodule update --init --recursive - 3
Download libs.zip, kernel_aarch64 and rootfs_aarch64.qcow2 into the listed paths
- 4
Build in DevEco Studio, sign, and run on a device or emulator
Things to know
- The AppGallery version has no JIT, so it runs less efficiently.
- Phone devices do not support JIT.
- Building from source requires manually downloading large libs, kernel and rootfs files.
- Installing the release HAP requires you to sign it yourself.
Topics
FAQ
- What is HiSH?
- A HarmonyOS app that runs a full arm64 Linux environment with an Alpine shell on phones, tablets and 2in1/PC devices. HiSH brings a Linux shell to HarmonyOS devices. It bundles a complete arm64 Linux kernel and an Alpine Linux root filesystem, and runs them through a qemu-based virtual machine built for HarmonyOS, so users get a terminal environment directly on the device.
- Is HiSH free to use? What license does it have?
- HiSH is open source under the MIT license. Check the license terms before using it in commercial products.
- Is HiSH still maintained?
- Actively maintained. The last commit to HiSH was on Oct 11, 2026.
- What can I use HiSH for?
- Running shell commands and Linux tools on a HarmonyOS tablet or PC Practicing Linux administration without a separate computer Testing port-forwarded services inside a lightweight Linux VM on HarmonyOS
- How do I install HiSH?
- Clone the repository Initialize submodules: git submodule update --init --recursive Download libs.zip, kernel_aarch64 and rootfs_aarch64.qcow2 into the listed paths Build in DevEco Studio, sign, and run on a device or emulator
- Where can I get HiSH?
- The source code and installation instructions are on GitHub: https://github.com/harmoninux/HiSH
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A cross-platform, GPU-accelerated OpenGL terminal emulator that relies on other tools like tmux for tabs and splits.
A minimal, customizable cross-shell prompt written in Rust that shows relevant project and environment info.
A QEMU wrapper that automatically downloads operating system images and launches optimised Windows, macOS and Linux virtual machines.
A terminal UI for managing Bluetooth devices on Linux, built on BlueZ.
A minimal Rust-built statusline for Claude Code showing model, Git state, workspace, and context window usage in the terminal.