Linux – What are the main differences between those linux distro vs general daily linux we use

distribution-choicedistroslinux

In one hand i have general daily linux: Fedora/CentOS/ArchLinux/Ubuntu.
On other hand i have following:

  • eCos
  • FreeRTOS
  • BuildRoot
  • RTEMS
  • openembedded
  • uCLinux

Did anyone used those uncommon linux distro's often, where do they best suite for (server or desktop use or for nonstop services)?

Are they completely different then our general linux?

Best Answer

You seem to make the (common) assumption that computers can either be a desktop or a server.

There are a lot of other devices that run Linux/Unix around you:

  • cars/trains/planes/...
  • Tivo
  • phones, tablets and other gadgets.
  • a watch
  • ...

The requirements for running Linux on these platforms are fundamentally different from what your PC may be used to. Therefore, different distros are leaders on these markets.

Fedora, Ubuntu, CentOS, ArchLinux are direct competitors in the sense that, while they do things slightly differently, they are still targeting your PC and/or your server. In a slightly technical term, they are targeting the x86 architecture. (I believe these distros won't even support any other CPU architecture).

The other distros have different targets altogether. I can separate the examples you give into 2 categories:

From your list: RTEMS, FreeRTOS, eCos.

A kind of operating system that treats the time variable a bit differently. It is my understanding they run in environments where delays and bottlenecks are not tolerated. A common example would be a breaking system in a car.

From your list: uClinux, Openembedded, Buildroot (Note that the latter is not a real distribution, rather a building environment.)

These operating systems target a wide variety of platforms and architectures. They are popular among the electronics/microcontroller crowd, where traditionally resources are scarce, and cross-compilation is very common.

To make things simple, think of the examples you mention as highly specialized distributions that do very specific tasks. It goes to attest to the wide range of domains the Linux kernel can cover and what are the kinds of challenges the people in the kernel development team have to face.