0

Hi everyone (from noobs to geeks and SU!),

I am one of the beginners that can't sleep at night if I didn't get it right, so here's my questions about Linux and the whole installation process and how it works:

We all know that OS's require processing unit and storage to properly function. We all understand that processing unit includes various components depending on the type on computer it defines. We can obviously name the core components, like Processor, RAM, mother-board and storage, and most of us understand the reason those exist and we all can imagine in a way, the way those work with each other so they bound into this amazing machine we all use in way or another.

What is annoying these days is that it's hard to understand if the OS is built for the HW or vice-versa.

I have hardly tried to understand why can't we install what-ever OS on what-ever machine. Like all machines are built on the same architecture (mother-board, CPU, RAM, storage and other modules) but you can hardly install Linux on any machine out there, not to mention Windows or Mac OS.

Is there a chance we can get a clear answer why is this so unachievable?

I am using Linux as the main OS, and this has happened since the day I first installed it. It took me not more than 6 months to delete Win10 from the dual-boot grub menu. I am so grateful to Linux community and I want to thank all developers to make Linux happen, and I am confident that if it stays the way it is at the moment it will easily dominate the OS-usage charts of the future. It might lack some user-friendliness in some ways but still is so amazing that we will wait for the dev's to make all our requirements possible.

But how does it work... Actually the reason I am writing all these sentimental sentences is to be able to understand how does Linux actually works. For example I use an AMD based ultrabook that has an CPU that is able to run any OS. The thing that catches me is that I would love to install Linux on my tablet as well. I use a Galaxy Tab S4 (with a keyboard and a mouse). Yes, DEX is amazing, but standing in front of it today, I was wondering "THIS THING COULD BE A LINUX MACHINE!" And I started shoveling for ways to install Linux on it. So far I did install an Ubuntu version of Linux that runs from terminal. That is amazing but still... Is it that impossible to install a full fledged Linux distro on a machine that has an ARM based CPU, RAM and storage?

Please let me understand why is this impossible and if there is any work-around's to make it possible! And if there is someone able to explain properly why Linux cannot be installed on this machine in an easy manner, as if it is installed on a laptop or desktop.

Kind regards, and thank you for your time and patience with the noobs! :)

2
  • Like all machines are built on the same architecture False. you can hardly install Linux on any machine out there What? Is it that impossible to install a full fledged Linux distro on a machine that has an ARM based CPU, RAM and storage? There are tons of ARM-based computers that run GNU/Linux. My Odroid runs Ubuntu. Raspberry Pis run Debian by default. Arch and many other distros exist for ARM. Commented May 3, 2021 at 0:52
  • As food for thoughts, you may want to have a look at zdnet.com/article/… or other articles about linux and new Apple M1 chip. You should get to the conclusion that, in that case, yes Linux on M1 will happen, but it is not just a matter of being able to run over ARM (this is already there and since a long time), BUT also support for all needed peripherals, which need drivers hence documentation or access to hardware for retro-engineering, etc. Commented May 5, 2021 at 18:16

2 Answers 2

1

why is this so unachievable?

Linux can support anything under the Sun as long as you write patches to support a particular uArch and hardware components. Right now Linux is being ported to Mac devices running the M1 SoC.

Actually the reason I am writing all these sentimental sentences is to be able to understand how does Linux actually works.

Fundamentally there's very little to understand. There are architectures, starting from a CPU, a CPU has its own ISA and in order to support Linux on a particular architecture you need a compiler which can output code for this ISA and this ISA support in the kernel. Then after you have ISA supported, you start to support higher level primitives, like RAM access, multiprocessing, storage/input IO, etc.

For example I use an AMD based ultrabook that has an CPU that is able to run any OS.

This is false. AMD based ultrabooks only run operating systems which support the x86(-64) ISA natively.

The thing that catches me is that I would love to install Linux on my tablet as well.

And you perfectly can. In fact your tablet already runs the Linux kernel (extensively patched by the vendor but it's still the Linux kernel). The difference with the Linux desktop is that Android devices have a very different userspace.

"THIS THING COULD BE A LINUX MACHINE!"

Desktop Linux is not so good for smart devices with touch input. There's a reason all these devices run Android or its derivatives - it's because Android was specifically tailored for them.

So far I did install an Ubuntu version of Linux that runs from terminal. That is amazing but still... Is it that impossible to install a full fledged Linux distro on a machine that has an ARM based CPU, RAM and storage?

Yes.

Please let me understand why is this impossible and if there is any work-around's to make it possible!

Google is your best friend.

And if there is someone able to explain properly why Linux cannot be installed on this machine in an easy manner, as if it is installed on a laptop or desktop.

ARM devices have a very specific architecture and in order to use it, your Linux kernel need to know how to work with it. Android's Linux kernel is already patched to provide full support for such hardware. But the kernel alone is not enough: you need drivers and firmware for a cellular modem (which are most often provided only in a binary form due to patents), WiFi adapter, GPU, sensors, etc. etc. etc. The vanilla Linux kernel often does not know how to work with such devices and even if it had drivers for them, you'll still need firmware which will properly initialize them.

Everything I've written can be Googled in half an hour. Please do your diligence and start educating yourself if you're really interested.

0

To simplify the other answer...

Just as there are different CPU's (x86/AMD64, ARM, M68K, 65x02, Z80, and many others, not including the many different sub-groups), there are many other ways in which the components are "connected" together. Is the RAM 8- or 16- bit? How many bits is the address space? Is there additional circuitry between the CPU and the RAM to "map" a logical memory address to a physical RAM chip?

Different devices have different ways to handle these issues. Your smart phone does it differently than your laptop. Your laptop does it differently than your desktop. Your toaster does it differently than your desktop. And your freezer, coffee maker, and so on, all do things differently. (I mention them because it should be obvious that they also serve entirely different purposes, thus it is foolish to compare a toaster to a freezer by only looking at how well it makes toast.)

That said, many computing devices actually do run something like a linux kernel at the lower levels. Then they build a custom operating system (such as Android OS) on top of that, which is custom designed to work with the design of the hardware and purpose of the device (the platform/environment). For example, your tablet typically has a touch screen for user interaction and input, but no keyboard and mouse. Your desktop PC does not (normally) have a touch screen, but probably has a keyboard and mouse. Both can add options/peripherals to extend them so you can, but then you need the proper hardware interfaces and drivers for doing so.

So it is possible to do the things you mentioned, and in some cases it likely has already been done. But then things are modified to work within the expected working environment. Same way you can probably modify a freezer to add a "toaster attachment". But you will not see them sold in the local market unless there is a popular demand for them.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .