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.