Choose your system and your kernel
The installer asks two big questions: which system, and which kernel. Here is what they mean, and what to answer when you are not sure.
The system is the home you live in: its tools, its menus, how you install programs. The kernel is the engine underneath that talks to the hardware. You pick one of each, and you can change both later without reinstalling.
Three systems
Ubuntu
A full Linux distribution, like on a server: apt for thousands of programs, systemd, users and home
directories. No web page: you use it over SSH and the mu300-toolkit menu.
About 500 MiB of RAM in use. 24.04 LTS or 26.04 LTS.
OpenWrt
A system made for routers, with the LuCI web interface: open http://192.168.77.1 and
set up the network, firewall and Wi-Fi in a browser. Light and fast.
About 140 MiB of RAM in use. OpenWrt 25.12.
OpenWrt with the control panel
The same OpenWrt plus a control panel written for these devices: live signal, bands and cells, SMS, network locks, an AT terminal, USB modes and power settings, in the browser.
Panel by kanoqwq.
| Ubuntu | OpenWrt | OpenWrt + control panel | |
|---|---|---|---|
| Best for | a small server, your own programs, learning Linux | a 5G router you set up in the browser | a 5G router where you also watch the modem: signal, bands, SMS |
| How you use it | SSH, mu300-toolkit; optionally Cockpit with an MU300 page (the panel extra, from v2026.10.20) | web interface (LuCI), SSH | web interface with the MU300 pages, SSH |
| Installing programs | apt | apk | apk |
| Log in as | ubuntu | root | root |
| RAM in use (about) | 500 MiB | 140 MiB | not listed by the installer |
| Web interface languages | no web interface | English, Turkish, Chinese; 40 more with the lang extra | English, Turkish, Chinese; the panel in 29 more with the lang extra |
| Magisk zip | yes | yes | yes |
What the control panel adds
- Status dashboard: live radio readings (signal, bands, cells, temperatures), the operator's name, mobile data state and the current download and upload speed; on the U30 Air also the battery.
- Cellular > Network locks: network mode, band, cell and EN-DC locks that are kept across restarts, and "Reset all to automatic".
- Cellular > SMS and SMS forwarding: read, send and delete messages, and pass incoming ones on to a webhook, a Telegram chat or another phone.
- Cellular > Data usage: mobile data per day and per billing cycle, with a monthly cap.
- Cellular > AT terminal: guarded AT commands to the modem.
- Cellular > Device management: the USB role and the USB network mode (NCM, ECM or RNDIS).
- VPN (from v2026.10.20, with the VPN module): Overview, Profiles, Subscriptions, Engines, Settings and Logs.
- System > Languages, System > Power and System > CPU: the interface language, power profiles, the charge limit (0-100 %) and the CPU profile.
- System > Terminal (from v2026.10.20): a root shell in the browser, on the LAN only, for your logged-in session.
- System > Packages after an update (from v2026.10.20): what the update did with the packages you had installed.
The theme is Aurora by eamonxg. The full list is in the README.
Or both
Answer 3) both and Ubuntu and OpenWrt are installed side by side on the same Linux filesystem; the installer then asks which one starts. Switching is one command and a restart:
sudo mu300-os ubuntu # start Ubuntu at the next restart
sudo mu300-os openwrt # plain OpenWrt
sudo mu300-os openwrt-luci # OpenWrt with the control panel
How much room each choice needs (the installer checks it for you):
| Choice | Free space needed |
|---|---|
| OpenWrt only | about 800 MiB |
| Ubuntu only | about 1.6 GiB |
| Both | about 2.4 GiB |
That includes room for an update, which keeps the previous version for a rollback.
Which Ubuntu?
| 24.04 LTS | 26.04 LTS | |
|---|---|---|
| In the installer | "the longest tested, supported until 2029" | "the newest (systemd 259, newer packages), supported until 2031; kernel 6.18 or 7.2" |
| Kernels | 5.4, 6.18, 7.2 | 6.18 or 7.2 only |
| Pick it when | you want it to just work (the default) | you want the newest packages and use a mainline kernel |
Ubuntu 26.04 needs a mainline kernel because its programs use system calls that 5.4 does not have. An installed Ubuntu can move to the other release later, keeping settings and data:
sudo MU300_UBUNTU=26.04 mu300-update apply # or 24.04 to go back
Which kernel?
All three run the same systems and the same functions: hotspot, mobile data, SMS, Bluetooth, VPN, GPU, and KVM
(/dev/kvm). They differ in how new they are and how long they have been tested. This is how the installer
puts it:
| Choice | Kernel | What it is |
|---|---|---|
| 1 | 5.4 | Unisoc's vendor kernel (Android 12 base): the longest tested, everything this project supports |
| 2 | 6.18 | mainline Linux, the current long-term (LTS) release: newer drivers and security fixes, the same functions; no USB-C video output yet |
| 3 | 7.2 | the newest stable mainline Linux: the newest drivers, the same functions as 6.18; tested less than 6.18 |
The differences that matter
- Ubuntu 26.04 needs 6.18 or 7.2.
- U30 Air USB host (flash drives, keyboards, Ethernet adapters through an OTG adapter) works on the mainline kernels only.
- U30 Air charging: on 5.4 the vendor charger stack charges; on 6.18 and 7.2 the
bq256xxdriver does, from v2026.10.12 on. Mainline kernels of v2026.10.11 and older leave charging off, so update first. From v2026.10.20 the mainline kernels also read the current a Type-C port offers (up to 2 A instead of 500 mA); the charge limit (0-100 %) works on every kernel. - dae, the VPN module's eBPF engine, needs 6.18 or 7.2 of v2026.10.20 or newer (6.18.56 and 7.2.10, which carry BTF and the BPF JIT); 5.4 cannot run it.
- WireGuard VPN profiles need a mainline kernel: the 5.4 vendor kernel has no WireGuard, according to the VPN module. The other VPN types work on all three.
- Modules: the mainline kernels carry about 360 extra modules: WireGuard, SQM, tunnels, USB adapters and modems, NTFS, exFAT, btrfs, NFS, CIFS, dm-crypt, containers.
- 6.18 has a rare hang in its first seconds on some boards (the README measured about one boot in 20
on one board); the device then falls back to Android, and
su -c mu300-linuxbrings Linux back. See troubleshooting.
Take the installer's default, 5.4: it is the longest tested. Pick 6.18 for Ubuntu 26.04, for WireGuard, or for USB host mode on the U30 Air. Changing later takes one command and a restart:
sudo mu300-update kernel # shows the kernel you have
sudo mu300-update kernel 6.18 # or 5.4, or 7.2; then restart
sudo reboot
If the new kernel does not start, the device falls back to Android after the usual number of failed starts,
and sudo mu300-update rollback-boot puts the previous one back.
Other distributions
The boot path does not care which distribution it starts: a system is a directory with an arm64 root filesystem in it. Debian 13, Kali Linux, Arch Linux ARM and ImmortalWrt can be built from this repository and unpacked next to the others (Arch Linux ARM is built but not yet booted on hardware); Fedora, Alpine and more are surveyed. That is for people who build things themselves: see docs/DISTROS.md.