Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Many - root the phone
  2. Complex install and support
  3. May require phone factory reset deleting apps, data and encryption
  4. Requires VNC server and client running to access Ubuntu desktop
  5. Requires high-end Android phone on new version of Android ( at least 8 GB memory )
  6. The Linux installer may be billable depending on which installer you choose
  7. No guarantees on the stability of Linux on Android

In my case, I run Ubuntu in Oracle VirtualBox on a Windows 10 PC fine.

...

https://docs.ubuntu.com/phone/en/devices/installing-ubuntu-for-devices#unlock-the-android-device

Technorms article - Install Ubuntu on Android with Complete Linux Installer tool

https://www.technorms.com/12451/install-ubuntu-on-android

...

Use Complete Linux Installer tool - a billable software tool

https://play.google.com/store/apps/details?id=com.zpwebsites.linuxonandroid


With a root and a very large amount of storage space on the SD card, you can actually run a low-end version of Linux right there on your Android device. Seriously. This ingenious hack theoretically allows for several different versions of Linux, but we opted to go for Ubuntu. Believe it or not, it actually worked.

Install Ubuntu on Android

Background

Ubuntu can be installed on an Android phone by ingeniously linking two different apps within the same device. Fair warning: this hack is not intended for low-end Android phones. The app recommends at least 1 GHz of processing power. We also overclocked our phone with Tasker for the duration of running Linux.

android-ubuntu-lxde-desktop-virtual-vncImage Added

Here’s what happens. Using a pre-made Ubuntu image, your phone creates a running version of Linux. There’s not much installed and it runs on LXDE to make sure everything fits within the phone’s memory. However, it is very much a legitimate copy of Linux.

The catch is that you can’t actually see Linux when it runs. The process is contained within an invisible set of programs that is not visible above the Android OS. In order to actually see Ubuntu in action, you need to use a VNC server app.

VNC (virtual network computing) is used for remotely viewing another PC over a network. You can use a basic VNC app to view the local OS, which in this case is Ubuntu. With those two apps linked together, Linux runs right there on Android.

Materials Needed

  • A Nandroid backup
  • A kernel that supports loop devices. Unfortunately, there is no way to check for this other than trying the installation. If you run up against a seemingly insurmountable wall, this may be the issue.
  • Root access (duh)
  • Busybox. Download the app Busybox Installer and use it to install the latest version of Busybox. You may have to run the installer twice to make sure that it really installs.
  • Enable USB debugging. Go to Settings > Apps > Development and check the box for debugging.
  • A solid Wi-Fi connection. You’ll download a lot of files, and it’s best to not do it over data.
  • Storage space. The Ubuntu image requires 2.5 GB, but it’s best to have 3.
  • A file browser app that can unzip compressed files. Astro File Manager does this and is free.
  • VNCviewer
  • Android Terminal Emulator
  • Try Complete Linux Installer – Ubuntu Installer Free is no longer available.

Installation

The first step, as always before any serious Android hack, is to reboot into recovery and make a Nandroid backup. This step is absolutely critical and should never be skipped. If something happens and messes up your phone, that backup is the only safeguard.

android-hack-ubuntu-installer-freeImage Added

Now open the Ubuntu Installer Free app. It will contain instructions as well for installing. Tap “Install Guide." Check that you’ve followed all the instructions listed and hit next.

In order to run Ubuntu, you need two critical files, the boot script and the image. The “large" Ubuntu image is an extra 1 GB but comes with more programs already installed. We chose the “small" one simply because you can always install more programs later. However, you will need the boot script no matter which image you pick.

Download these files. It will take a while, so find something else to do. Water a plant. Paint a sunset. Or just watch Battlestar Galactica reruns on Netflix. Guess which one we did?

When everything has downloaded, open up that file browser and create a folder labeled “ubuntu" (without the quotation marks) in the root of the SD card. Cut and paste the boot script and image into this new folder. Extract the contents of both files into /sdcard/ubuntu. This too will take a while.

android-download-extract-zip-file-ubuntuImage Added

Now exit the file browser and go to the Terminal app. We recommend switching off any sort of autocorrect feature you might have for your keyboard. Linux text commands are not grammatically correct by any stretch of the imagination and certainly did not play nicely with our autocorrect in Perfect Keyboard.

Type these commands (hit enter between lines and grant Terminal root access when it asks):

su

cd /sdcard/ubuntu

sh ubuntu.sh

android-terminal-emulator-hack-ubuntu-installImage Added

Next Terminal will ask for your screen size. This can be found by searching “(phone model) specs" on Google. Our original HTC Evo 4G has a resolution of 800×480, so we input “800×480" (with no quotes) and hit enter.

A lot of text should scroll by at this point. If all works out, the text will end with a message saying “root@localhost:/#". This means that Linux is up and running. If it doesn’t say that, double check that Busybox is installed. We ran into that issue.

Congratulations! Ubuntu is now running. You may not be able to see it, but it’s running. The Terminal app now functions as the command line for the OS. The in-OS command prompt app does not work.

android-vnc-client-app-receiverImage Added

In order to actually see your brand new OS, open the Android VNC app. Set the IP address to localhost. The port number should already be 5900. Put in the password as “ubuntu" (no quotes). Skip the username section and set the color format to 24-bit color. Once all that is set up, tap connect.

Linux should now appear in all its LXDE glory. To exit at any time, type “exit" (no quotes, as always) into Terminal.

Life After Installation

The first and most obvious problem is that Linux is a desktop OS, definitely not something meant for touch screens. Tap menu and change the control scheme to touch pad, which makes the touch screen function as a basic mouse. The controls are by no means perfect, but they work.

android-keyboard-virtual-linux-machine-ubuntuImage Added

To be honest, this hack works best on tablets. We really struggled to use Linux on our microscopically small phone screen. Even with an easy zoom function, Ubuntu is not easy to use. Side note: To input text, hold down the menu key. That brings up a virtual keyboard. However, we could easily see someone using a physical keyboard and a tablet with this hack in order to make a facsimile desktop PC.

Final Thoughts

It’s not too difficult to install Ubuntu on Android, and it’s certainly not the friendliest of OSes (even by Linux standards), but it is pretty damn neat. Not to mention that all the things normally restricted on mobile devices (like Hulu, The Daily Show and Spotify) are now fair game. No doubt hardcore geeks will find some creative uses for this hack.

Maketecheasy article - Install Ubuntu on Android with Linux Deploy

https://www.maketecheasier.com/install-ubuntu-on-android-linux-deploy/

Uses Linux Deploy a free Linux installer for Android.

https://play.google.com/store/apps/details?id=ru.meefik.linuxdeploy

It’s easy to forget that Android is a Linux-based operating system sometimes. But it is, and it retains some of that openness and flexibility that attracts people to the Linux platform.

As an example, you can actually install a full Linux distro on your Android device. We’ll demonstrate how to install Ubuntu on Android using an app called Linux Deploy, which will install the Linux desktop environment, but you can use this same method to install Debian or various other Linux distros.

Note: you’ll need to root your Android device before starting this process.

Install and Deploy Linux on Android

First, install BusyBox. This is a toolkit that unlocks your Android phone for various Linux commands that are essential to getting Ubuntu up and running. You won’t need to actively use this after installing it.

You’ll also need VNC Viewer, a remote desktop app that creates the window within which Ubuntu will run on your Android device. This is what you’ll ultimately be using to get Linux up and running.

Finally, you need to install Linux Deploy, which you’ll use to install Ubuntu (or one of several different versions of Linux, for that matter).

After installing Linux Deploy, open it and tap the icon with the three sliders (bottom-right corner).

Here you can select the Linux distro you want to install. (Just tap “Distribution,” then select the distro name – we went with Ubuntu.)

install-linux-deploy-android-settings-1Image Added

After that, scroll to the GUI section at the bottom, tap the “Enable” box and make sure “VNC” is selected under “Graphics subsystem.”

install-linux-deploy-android-enable-guiImage Added

Once you’ve done that, you can also go into “GUI Settings” to set the resolution of Linux once it runs. Unless you have a tablet, the default 1920 x 1080 resolution on most smartphones is probably too high to practically use Linux, so we recommend lowering it to 1024×576 or 1152×648.

install-linux-deploy-android-resolutionImage Added

Finally, scroll back up about halfway until you find “User name” and “User password.” Make a note of them, or replace them with your own.

install-linux-deploy-android-user-name-passwordImage Added

Those are all the settings you need to tweak. Go back to the Linux Deploy home screen, tap the three-dotted menu icon at the top-right and tap “Install.”

install-linux-deploy-android-installImage Added

The installation may take from one to several minutes, depending on the speed of your smartphone.

Once it’s finished (denoted by the “<<<deploy” message at the bottom of the install log), tap Start at the bottom-left corner, then “OK.” Once you see the message “<<< Start” at the bottom of the log, Linux is deployed and running.

Run Linux on Android

But in order to actually see and use Linux, you need to use VNC Viewer. Open VNC Viewer, tap the green “+” icon at the bottom-right, then in the “New connection” box enter “localhost” as an address, and give the connection a name of your choice. (We went with “Linux.”) Click “Create.”

install-linux-deploy-android-new-connectionImage Added

Tap the new connection in VNC Viewer to open it, and your Linux build should open up!

install-linux-deploy-android-ubuntu-runningImage Added

It won’t have anything installed on it by default, but you can go to the Terminal and sudo apt-get install various software like you normally would in Linux.

Conclusion

That’s it. You now have a fully functional Linux distro on your Android device.

install-linux-deploy-android-root-browserImage Added

If at any point you decide that you don’t want Linux any more, it’s not a case of uninstalling Linux Deploy. Instead, you’ll need to use a file explorer with root access (we used Root Browser), find the directory “/data/user/0/ru.meefik.linuxdeploy/env” and delete it. (You can change the default Linux install directory in Linux Deploy’s settings menu).



Run VNC Server on Android or on Ubuntu on Android

https://www.realvnc.com/en/connect/download/viewer/android/

...