On 10/23/2012 12:37 PM, Konstantin Olchanski wrote:
An "ARM platform" does not exist.

Unlike the "PC platform" where "PC hardware" is highly standardized
and almost any OS can run on almost any vendor hardware,
the "ARM platform" is more like the early Linux days where instead
of 3 video card makers there were 23 of them, all incompatible,
all without Linux drivers. If you had the "wrong" video card,
too bad, no soup for you.

In the ARM world, there is a zoo of different ARM processors,
all incompatible with each other (think as if each Android device
had a random CPU - a 16-bit i8086, or a 32-bit i386, or a 64-bit i7 -
the variation in capabilities is that high).

Then each device contains random i/o chips connected in it's own
special way - there is no PCI/PCIe bus where everything is standardized.
There are several WiFi chips, several Bluetooth, USB, etc chips. Some
have Linux drivers, some do not.

As result, there is no generic Linux that will run on every ARM machine.

Not to be argumentative, but I always believed that the advantage of *nix* was that it could be ported to numerous platforms, regardless of hardware. You even mention the "early Linux days," when there was little or no standardization of PC hardware. Yet, the platform didn't disappear from use simply because there might have been porting issues, most of which were caused more by proprietary secrets and hardware defects than the ever-present fact of diversity of hardware.

But one could make the same argument even today: That there are many different CPU platforms, e.g., and that they are not standardized. One example I am thinking of is the Intel v. Amdahl CPU compatibility issue. Even though most of the Linux system will run on either without modification, there are still some unique issues to each of them; from having worked and studied VirtualBox, there are differences in how each manufacturer chose to implement the ring structure that permits virtualization to work as nicely as it does on these platforms. For the most part, they are compatible, but the kernel developers have to be aware of certain implemention issues, including a bug in the Intel CPU platform that requires a VirtualBox workaround (for optimizing the code or something; I forget).

And this is in addition to Linux supporting umpteen different processing platforms besides the x86 types. New hardware appears constantly, and some Linux user somewhere wants to use it on their system. I feel that variety of hardware and variation in hardware implementation is a fact, and a main reason why Linux and Unix are so powerful and ubiquitous.

Now I just hope no one will hold me to this and insist that I actually port Linux to all these different hardware configuration! I'm not signing up; I'm just pointing out what I think is reality.

Reply via email to