Android

Install Linux in Android without Root

Using Linux on an Android phone can be useful when you need to use command-line tools. It is also useful for running entire desktops on your phone. A common issue is that you need to root your phone to get a running system, but there are now many systems available for running your favorite distro and desktop on your mobile device. Some of these systems are available for free and even open-source versions exist.

Before choosing how to get started, consider what you are aiming for. Are you looking for a few specific applications, a command-line, or a full desktop? Your choice is important since you can use your phone for many different things. This article shows you how to install entire distributions, as well as a CLI-Launcher, on your mobile device.

Overview

To install Linux on Android without ruining your standard phone by rooting it, you will need the Proot program. This program makes it possible to run applications as if they were in a different root file system. The launchers and installation applications for Android use Proot to install a distribution or application on your phone. When you just want one or two specific applications to run on Linux, you can use the installer for one application at a time. You can also choose to install an entire distribution. You can decide what best fits your needs and choose your tool from there. Remember that you are faking a file system here, so from a security point of view, you are on your own.

The process is simple thanks to the applications that developers have made for us. You can install the helper or the install app from F-Droid or the Play Store, and choose how deep into the rabbit hole you want to go. Most of these applications are available in both stores. Finding the application on APK pure or similar is also an option.

How to Use

The process of installing a distribution is similar to the different options you have, but in principle, all you need to do is pick the options available within the application itself. Most options include setting up a VNC or an SSH process so that you can reach it from other computers.

Linux CLI Launcher

If you are a fan of the command-line, this one is for you! The CLI Launcher comes as an application, which you can pick up from the Google Play store or many of the APK download sites. The launcher gives you most Linux commands, as well as a way to launch your applications. You can type the name of the application and tap on the list below to start the application.

This application is not only for staying true to your keyboard-centered view of computing. You may have some jobs that require power-consuming processes that you want to offload from your main system. Or, vice versa, some low power that you want to have running in your main system.

GNURoot

GNURoot is a solution to run Proot and the setup for installing Linux applications and distributions. Using this, you can install many distributions and applications at once. This application is a tool that can be used to install any root file system on your mobile device.


In practice, you will download GNURoot first, and then your distribution separately. With GNURoot, you will have many distributions to choose from, including Debian, Gentoo, and aboriginal. You even have GNU Octave available. All these distributions start in the terminal as standard. To start using the Graphical User Interface, find the Xserver XSDL application and install it. When this step is done, you can install all the X components in your fake root install. After you run the X server on the local machine, you will have the desktop on your mobile. You can also run the X desktop on your laptop; this way, you have some applications that are separate from your regular system. This may be useful if you have other demanding jobs in your main system.

WheezyX

WheezyX is a rootfs system that you can install using the GNURoot application. However, to make this update, you will need to switch to a newer distribution. You can do this by changing the file in the /etc/apt/sources.list file. This entails updating the entire image to the buster, which can cause problems.

deb http://ftp.debian.org/debian/ buster main contrib non-free
deb-src  http://ftp.debian.org/debian/ buster main contrib non-free

UserLand

With UserLand, you get similar functions, but they are neatly listed on the start screen. You do not have many options, though they are all available right there in the application. The options you do have are several distributions and a few applications. This application is extremely simple to use, and it fetches all the files, unpacks them, and calls the X server, Vnc server, or Xsdl server. When you pick one option and allow it to install, you will need to choose how to display the running environment. Depending on what you choose, UserLand will direct you to the Play Store to download the tool for this purpose. Once the appropriate tool is downloaded, the application will start this tool every time you start the session.


An important warning here is that your new root file system will be updated in this process. Make sure that you have the disk space to accommodate what you are installing. The amount of storage space you need will depend on your choice of application, but a good 10 GB is a good start. If you are short, you may end up with a long install, and then it all crashes anyways due to lack of space.

https://github.com/CypherpunkArmory/UserLAnd

Conclusion

Getting this process started takes much more than a single application. You will require some skills with the command-line and enough disk space to handle it. Your patience may also take a toll, since the first time you run it, you will have to wait for the initial download, and after, that the additional upgrades.

About the author

Mats Tage Axelsson

Mats Tage Axelsson

I am a freelance writer for Linux magazines. I enjoy finding out what is possible under Linux and how we can all chip in to improve it. I also cover renewable energy and the new way the grid operates. You can find more of my writing on my blog.