Can I run Linux on an Android tablet?

4

0

My limited understanding of Android tablets is that they are hardwired for Android and it is difficult or impossible to run Linux on them. Is that true, or are there easy ways to wipe the Android off and get a fully functional Linux system?

A typical computer I am thinking about here is the 2016 RCA Galileo Pro.

Tyler Durden

Posted 2017-01-20T16:38:01.480

Reputation: 4 710

1

There are entire communities for this sort of work, such as https://linux-sunxi.org/Main_Page (if your objective is to have a real GNU/Linux tablet, it's probably easier to start by buying hardware for which it has been done already). For Debian there are some pointers from https://wiki.debian.org/Multistrap https://wiki.debian.org/Debootstrap

– Nemo – 2017-03-21T06:26:25.673

Answers

3

It is not impossible to install other flavors of Linux on tablets; it is just very difficult.

First, most tablets use ARM architecture as opposed to x86. So, you are either going to find an x86 tablet or an ARM edition of your favorite Linux distro.

Second, tablets neither have BIOS nor UEFI. They have their own minimalistic firmware that is hardwired to boot Android. It is not going to be as easy as hitting F8 and selecting a boot device. You are going to have to reverse engineer and reflash the firmware.

You may want to visit Android Enthusiasts Stack Exchange

user477799

Posted 2017-01-20T16:38:01.480

Reputation:

Hmmm, that is what I was afraid of. I was hoping that there might be some alternative to the complex rooting procedures I have seen for Android boxes, but it would seem that unless they are x86 boxes as you say, doing the Linux conversion will be difficult. – Tyler Durden – 2017-01-20T17:28:42.007

@Tyler You forgot about the absence of BIOS or UEFI, but there are some x86 tablets which let you dual boot either windows or android - don't know if it's difficult or possible at all to switch that windows to debian. – LotPings – 2017-01-20T17:44:23.950

What was left out of this answer is to highlight the fact, ARM devices in general don't have BIOS/UEFI, in order to run straight Linux would require building it yourself. ARM handles devices differently then x86, ARM isn't aware a device exists, in the same way x86 can see a device. Even if you wanted to flash your device, with a specific version of Android, would require you to build it yourself (if it wasn't already built). – Ramhound – 2017-01-20T18:47:37.697

it's not like that you reverse engineer and reflash the firmware. Most moderm firmwares are locked and just boot signed kernels. Moreover you can't read the data inside them out in most cases, let alone reflash them, because those chips has been designed for anti-reverse-engineering – phuclv – 2017-01-21T04:07:40.830

@LưuVĩnhPhúc And yet Cynogenmod took off...? – None – 2017-01-21T05:41:12.923

@FleetCommand what do you mean? Where do you read that they reflash the firmware? They simply use the original unlocked firmware bootloader – phuclv – 2017-01-21T05:42:40.680

@LưuVĩnhPhúc The installation claimed it is reflashing my firmware. It required a device restart too. – None – 2017-01-21T05:44:23.050

@FleetCommand No. You're talking about the firmware that starts first when the system boots like BIOS and UEFI. You can't reflash those. The firmware will then load the bootloader to load the system. The bootloader can't be reflashed, either. It can just be unlocked if the manufacturer allows. Locked bootloader will only load signed system images. The Cyanogen ROM is just a system image, not a firmware in that sense. It's not signed so obviously you'll need an unlocked bootloader, otherwise even if you can flash Cyanogen image into the device it still won't run – phuclv – 2017-01-21T05:48:58.637

@LưuVĩnhPhúc - How do you think people get the unlocked firmware onto their phones unless they flash it onto their device. "it's not like that you reverse engineer and flash the firmware." - You do realize that is, exactly what projects like OpenWRT and DD-WRT, do right? – Ramhound – 2017-01-21T06:32:15.187

@Ramhound yes but I'm talking about him saying flashing the boot firmware. Cyanogen, DD-WRT firmware is nothing like BIOS or UEFI firmware. And most of those projects do not reverse engineer the original firmware – phuclv – 2017-01-21T06:40:47.467

I never said they were like BIOS/UEFI as I pointed out ARM doesn't have anything like BIOS/UEFI. Typically the for a phone or router the entire OS is placed is the firmware itself.... – Ramhound – 2017-01-21T06:50:22.483

I never said such a thing either. Specially the bold part. – None – 2017-01-21T06:52:24.783

@FleetCommand well your second paragraph says the reverse. You talked about BIOS/UEFI firmware in the first 2 sentences and then talked about firmware in the last sentence – phuclv – 2017-01-21T11:43:33.363

@Ramhound the OS "firmware" you're talking about is different from what he's saying – phuclv – 2017-01-21T11:44:44.667

@LưuVĩnhPhúc (Sigh.) Yes, I did but somehow, and I don't know how, you took what I said to imply a platform-homogeneous peer firmware, while even you yourself don't believe in that. Seems to me that when it comes interpret others' dichotomies, you just assume the wrong answer on their part. – None – 2017-01-21T13:11:31.610

@LưuVĩnhPhúc Let's start fresh. Can we agree that mobile devices don't necessarily an equivalent firmware that is a peer of UEFI and BIOS? – None – 2017-01-21T13:14:08.803

3

There's an interesting quirk of history that lets you run linux on an arbitrary PC.

In the beginning, there was the IBM PC. And then lots of folks copied it to make systems that worked samishly enough that you had a standard platform. And as time went on, there was an actual standard. Well, many standards, which are standard enough that they mostly are cross compatible.

Within the same architecture OSes are portable, and within the same OSes, applications are portable. That's really cool, and why I can still install windows 10 on a 10 year old core 2. I however, can't take a rom meant for my brother's galaxy s7 and install it on my oneplus 3 and just 'add a few drivers', despite having the same processor

Arm does not. In fact, there's multiple vaguely incompatible platforms -, and android tends to be built per device. There's no standard bootloader even - companies build their own, though you can replace those. While there's a standard platform for ARM - its for servers.

So essentially you'd need to build the entire system stack from the ground up, for the quirks of your system.

Journeyman Geek

Posted 2017-01-20T16:38:01.480

Reputation: 119 122

2There is a standard but each iteration of ARM has it's own, 64-bit ARM isn't simply an extension of the 32-bit ARM it's an entirely separate standard by itself. What this means is Apple's ARM processor, within a specific generation of ARM, is different the other ARM manufacturers. On top of all that, any specific chip you add to the motherboard, can't simply be initialized once you get to the OS. Take a look at how third-party firmware for phones work, there are couple projects, that attempt have build for multiple devices. Router firmware is another good example of how ARM works on Linux – Ramhound – 2017-01-21T01:51:42.540