Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.


Version 1.0 - magic-device-tool

alt text

A simple and featureful tool to handle installing/replacing Operating Systems (Ubuntu Phone / Ubuntu Touch, Android, LineageOS, Maru OS, Sailfish OS, and Phoenix OS) on your mobile devices.


Marius Quabeck (Email)

Mister_Q on the freenode IRC network

Join us on Telegram !

Donate if you like this tool

Buy me devices ;)

Standard Disclaimer Text

This tool does not let you Dual Boot between Android and Ubuntu Touch.

Not all ROMs are available for all devices.


  • Ubuntu Touch

    • Install Ubuntu Touch
    • Switch Channels
    • Install OpenStore
    • Screencast
  • Ubuntu 13.04 Desktop (tilapia only)

    • Install Ubuntu 13.04 Desktop
  • Android

    • Install CyanogenMod (with or without GApps)
    • Install LineageOS (with or without GApps)
    • Install Maru OS
    • Install Sailfish OS
    • Install Phoenix OS
    • Install Factory Android Image
    • Backup / Restore
    • Lock / Unlock bootloader
    • Install TWRP recovery
  • Misc

    • Join Telegram Group Chat
    • Report a bug

System Requirements

  • Ubuntu 16.04 and above
  • A device from the supported list below
  • USB cable for your device
  • Internet connection

Supported devices

  • BQ Aquaris E4.5 (krillin)
  • BQ Aquaris E5 HD (vegetahd)
  • BQ Aquaris M10 HD (cooler)
  • BQ Aquaris M10 FHD (frieza)
  • Meizu MX 4 (arale)
  • Meizu Pro 5 (turbo)
  • LG Nexus 4 (mako)
  • LG Nexus 5 (hammerhead)
  • Asus Nexus 7 2012 (tilapia)
  • Asus Nexus 7 2013 WiFi (flo)
  • Asus Nexus 7 2013 LTE (deb)
  • Samsung Nexus 10 (manta)
  • OnePlus One (bacon)
  • Fairphone 2 (FP2)


Use a distro that is capable of Snaps, open a terminal and run:

sudo snap install magic-device-tool --devmode

Run the snap


If you run into any adb/fastboot permission errors and mdt can't find your device, please start the snap as root

sudo su or sudo bash



  • Q: Will you support "device x"?
    A: You can open an issue for a new device, if it has a working port of Ubuntu Touch. Most of them are at If your device isn't there, it probably has no working port, so please don't open new issues.

  • Q: Will you port Ubuntu Touch to "device x"?
    A: We are not responsible for porting Ubuntu Touch, so no.

  • Q: What language is mdt written in?
    A: Bash. So you don't have to give root to an app, you can't figure out.

  • Q: How does mdt work?
    A: mdt downloads some tools from the ubuntu repos and, depending on your choices, gets the newest recovery and ROM for your device and flashes it. If you want to know more, just read the source (it's only bash).

  • Q: Is it called Ubuntu Touch, Ubuntu for devices, or just Ubuntu?
    A: We really don't care ;)

  • Q: What is the "OpenStore"?
    A: An easy way to sideload apps on Ubuntu Touch. You can find more about it here.

  • Q: Do I need to root / prep my device?
    A: No, just read the instructions on the screen and follow them carefully.

  • Q: When i boot into recovery it says it's "locked". What can I do?
    A: Run the option "Lock/Unlock bootloader" first


  • Remove Ubuntu/UBports
  • Add instructions for Solus
  • Rename legacy to stable (UBports)
  • Add Plasma Mobile
  • Add Fairphone OS, Fairphone Open & Sailfish for FP2
  • Add LineageOS Extras
  • Add support to install F-Droid
  • Add option "add udev rule"
  • Add feature to flash SD cards with Raspian, Ubuntu,...
  • Fix udev rules issues properly

Special thanks to

You can’t perform that action at this time.