Today we present an overview of today’s market offering regarding ARM RISC microcomputer able to run a GNU/Linux distribution. And once again, this is just the beginning.
While the growth of such a device segment was predictable, it wasn’t easy to predict such an explosion. In fact we now have an heterogeneous set of options, with different characteristics, requiring a different approaches to for the optimization of the GNU / Linux operating system. In this post we’ll try to present, on the one hand, the unifying elements of different devices and, secondly, to classify each device based on its best use cases.
Let’s begin to point out a first list of devices to analyze, new ones appear every day but we’ll deal with them later.
A first great classification can be done by taking into account the board processors or, better, the SoC (System On a Chip) that the device features. These are layered systems made of a CPU, a GPU and one or more RAM memory modules. Porting GNU / Linux from Intel x86 processors to these SoCs is a challenging task.
In fact, while manufacturers try to maintain standard features when developing Intel x86 processors mother boards, this standardization approach is not pursued by SoC assemblers, which tend to optimize the SoC “recipe” for the device they are intended to produce. Since GNU / Linux kernel, must be adapted to the hardware features of the device that houses it, it’s then clear that the so-called porting process should be run and customized for each type of SoC, an activity that complicates life enough to the development community.
Along with this essential diversity we also have different ways of managing I/O and communication peripherals that are made available. In fact a second classification criterion can be that of the presence or absence of GPIO and communication devices on dedicated connectors.
A third type of classification comes from the different boot processes, which also involves different procedures for installing GNU / Linux.
According to the mentioned characteristics we can try to determine the ideal use case of the different devices: teaching, embedded development, networking or office work.
For more detail: A Comprehensive Comparison of Linux Development Boards