Android phones for example
I guess I’m going to be that guy today. Android is Linux, and it’s installed on a lot of mobile devices already.
Another aspect to this is that Android is Linux, but it is not GNU / Linux. This is true both in the literal sense of not using GNU coreutils or glibc, and also in the broader sense.
What I mean by the “broader” sense:
- no X or Wayland
- GTK or Qt support is something an application has to bring with them.
- filesystem is substantially reorganized
- users and system permissions setup substantially differently
To the application programmer Android / Linux looks like a completely different ball game.
What prevents Linux from being installed on mobile devices?
Android is Linux, but it is not GNU / Linux
You’ll see that’s not the question that was asked. And it’s okay not to give Stallman any more validation for his fame-grab.
And you can (sometimes) install something like PostmarketOS which is closer to the kind of linux people think about when they hear “Linux”
PostmarketOS isn’t “closer”… It fully is GNU/Linux.
You are correct. His statement wasn’t about technology, it was about expectations.
Android is maintaining a fork of Linux kernel that has since diverged.
Its like saying MAC is UNIX, technically yes but not really
Its like saying MAC is UNIX, technically yes but not really
macOS is UNIX-based. Period. In fact, “[s]tarting with Leopard, macOS has been certified as compatible with the Single UNIX Specification version 3 (SUSv3).” Source
Exactly Android also is “Linux based” period.
That’s my point.
Mac isn’t UNIX based, it is UNIX and comes with many of the UNIX tools a user would expect. Completely different situation.
so macOS is sus
macOS definitely is Unix. In the literal sense that it is actually certified (unlike FreeBSD, for example), and it is very much Unix-y under the hood.
As far as I can tell literally everything (except for windows) is UNIX, it isn’t exactly a high bar to pass, it’s like saying all drinks are water based which is technically true but I’m not going to give a kid a wine box when I run out of juice boxes.
More than anything, the problem is apps. I installed Ubuntu Touch on an old device I had lying around (after replacing the battery to bring it back to life), and I ended up liking it more than my daily driver. It worked, the interface was snappy (no pun intended), and there’s a lot of solid design choices. I found myself trying to navigate with gestures on my android phone after.
However, I could not talk to my friends, who unfortunately use WhatsApp. I could not install my banking app. There’s a bunch of small thorns in the side that makes changing difficult for most users - kind of like in the early days of desktop Linux.
As in the early days of desktop Linux, the solution might lie in a compatibility layer (like WINE). Android emulation within at least Ubuntu Touch has gotten quite good, I believe. Unfortunately my device is too old to support it.
Those interested should also check out Postmarket OS.
GNOME, a major desktop environment, is also moving towards all apps being designed for all types of devices. But as long as people can’t use their banks, switching is hard.
More than anything, the problem is apps.
True, its a real chicken and egg situation. No one what to use a platform without decent app support but no one wants to develop for a platform without any users.
Do you have a link for what gnome is doing?
Here’s a GNOME blog post from a couple of years ago. But really it’s about GTK4 - apps designed for GNOME are made to be adaptive. So if you’re using a GNOME desktop you can experience it yourself by simply making windows of the core apps smaller, be it GNOME Web, Maps, Weather, Calendar, or a huge range of other apps. Apps like Spot (Spotify client), Tuba (Mastodon), Shortwave (radio), and Podcasts are also perfectly adaptable for mobile devices. Basically apps in the GNOME Circle should work well on mobile, and many of them have screenshots that illustrate how they look in different form factors.
Also, this.
There was also the Nokia N900 which ran Maemo, which was much closer to a traditional Linux distribution to the point that it was fairly trivial to compile desktop Linux programs for it. Which could even be done on the phone itself, if you had a lot of time on your hands.
I’ve seen marathons with less running-on than that sentence-esque collection of letters.
Android OS runs a modified version of the Linux kernel.
And with Termux, you can run Linux on Android on Linux.
Shhhh…
we don’t speak of that.
Nothing prevents you drom installing a linux os on an android phone, provided someone made a rom for your device. It’s just not very useable due to proprietary drivers. Ubuntu touch exists for example, but on most phones you can’t even use the cellular antenna iirc
Pratically no universal way of making Linux boot with ARM processors.
Much more closed source drivers (than x86 ecosystem).
This is the key - no universal (i.e. No open standard) BIOS like on PCs.
We need a BIOS war for ARM, and since Android has it locked down, there’s little competition to push for it, unlike when DOS was trying to become the standard for minicomputers.
In practice? Constantly changing hardware with soc vendors that publish nothing and device manufacturers that (have to) keep pushing out new models on a short cycle. Plus many of them have extra shenanigans to keep the bootloader locked so you can’t install a recovery (presuming you had a working one) so you could replace the os. There are some rare exceptions, but the hardware is rare and tedious and not many people can or will work on installable Linux on them.
If you just want to run some Linux userland, there’s ways to do that on top of android, though. Want to get to a Linux like system or run a program? Might be as close as installing a terminal or running adb shell.
Locked bootloaders can prevent that. Or proprietary hardware drivers can make it unworkable.
Android is Linux
You can install Linux on rooted phones using Linux Deploy, or you can install Linux-in-an-app such as Userland or Termux if you don’t have root.
Because all the linux distros for mobile are steaming piles of horse shit.