Hacker News new | ask | show | jobs
by f00_ 2216 days ago
Maybe I'm a retard but isn't Android linux?
3 comments

Yes, Android uses a Linux kernel, but it's a worked example of why "GNU/Linux" actually does mean something. Linux is just a kernel; it gives you drivers and basic OS support, but it's just one part. Android/Linux (Android on a Linux kernel) is its own complete userland, with its own libc (bionic), own coreutils, some sort of drivers running in userspace, its own graphics stack (not X11 or Wayland based), etc. On the other hand, GNU/Linux (GNU-flavored system built on a Linux kernel) uses GNU's glibc, GNU coreutils, typically upstreamed drivers (or if not, at least reusable packaged out-of-tree drivers), Xorg or some Wayland compositor providing GUI, and usually some sort of package manager that owns the entire system (user apps, libraries, core OS). They're really different beasts.
Technically, but have you ever worked at a shell on an Android device? It feels alien, and all the interesting stuff is wrapped up in the JVM so the fact that it's wrapped in Linux doesn't gain you much.
You should give Termux a try. It's an honest to goodness "Linux environment" with a full package manager for many many popular tools and utilities, including the build essentials if you want to compile software directly on your device.
I like Termux too, but... even that stuff is going away https://github.com/termux/termux-app/issues/1072

So it makes sense to use Linux if that's what you prioritize.

Android uses a forked Linux kernel.
Android tends to use patched kernels, but the diffs are getting smaller (Google made it an explicit goal to bring their fork back to mainline). The bigger issue is the weird userland; a Linux kernel is one thing, but bionic is not a libc meant to run anything but Android, and toybox is no GNU coreutils.
True. I was only referring to Linux itself (i.e., the kernel), because that's what I understood the parent commenter to be referring to.