...
- Many - root the phone
- Complex install and support
- May require phone factory reset deleting apps, data and encryption
- Requires VNC server and client running to access Ubuntu desktop
- Requires high-end Android phone on new version of Android ( at least 8 GB memory )
- The Linux installer may be billable depending on which installer you choose
- 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.
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.
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.
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
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.
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.
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.)
After that, scroll to the GUI section at the bottom, tap the “Enable” box and make sure “VNC” is selected under “Graphics subsystem.”
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.
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.
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.”
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.”
Tap the new connection in VNC Viewer to open it, and your Linux build should open up!
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.
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/
...