What is the most portable OS in the world?
Here’s the Deal
Slant is powered by a community that helps you make informed decisions. Tell us what you’re passionate about to get your personalized feed and help others.
It's useful for both beginners and professionals. For the installation, Gentoo offers various types, which are referred to as stages. Basically meaning how in depth you would want to go into the process of installation. For beginners, it's useful to choose for a starting distro due to its various stages that can be very time consuming but beneficial as you learn the composition in general of Linux. See More
The Gentoo package management system allows you to configure what compilation flags packages should support - i.e. specific processor flag support (SSE, SSE2, etc.), -O1, -O2, -O3 optimization, etc. If you accept one of the default flags, Gentoo downloads binaries from the server. However, if you decide to optimize, it can and will download all source packages and start compiling ALL the programs and libraries on your system. If your chosen flags don't work with a particular library, the installation will fail. See More
Linux kernel drivers aren't easily portable because there is no hardware abstraction layer against a driver can be written to. Every time Linux kernel needs to be ported to another system, its drivers needs to be rewritten. Gentoo, which uses Linux kernel with no HAL, is, by definition, less portable than other operating systems. See More
Thanks to the Portage package manager, you can forbid the installation of certain packages by "masking" them, adding packages to different "world sets" for maintaining them separately, using stable and unstable branch of packages individually or system-wide and installing different versions of the same package in "slots". And unlike Arch, because of compiling, linker errors after package manager actions are less likely to happen, and when they do, you can build dependencies reversely. See More
A feature called USE flags control how packages are compiled from source, and what options are configured to get compiled. That means you can have per-packages USE flags to enable or disable certain features in them, or system-wide USE flags to enable or drop support for something you don't want entirely. See More
Based on everything being compiled from source which means it comes with a very flexible system for compiling packages - USE flags, CFLAGS, and company, both global and per package. With USE flags you can select what is included in each package and with CFLAGS you can set various compiler optimization options (it's recommended to stick with the more common ones for most packages except those known to benefit from more extreme optimization as overdoing it can actually produce slower binaries, make compiles take forever and introduce weird bugs). Binary packages are available for some packages, especially those that are hard to compile correctly or those that take very long. See More
While having less official packages for desktop applications compared to something like Arch Linux, it has many options for system programs and utilities. For example the choice of glibc, uclibc and musl. Also the choice of kernel, vanilla kernel, gentoo patched kernel and even GNU/Hurd. You also have the choice to have a Gentoo FreeBSD. See More
It's the most portable OS in the world when considering what architectures it can run on. It runs on very wide range of hardware, from toaster to satellites. This of course does not mean it supports drivers for many consumer facing products making it a difficult solution to just boot up and use when compared to other OSs. See More
NetBSD software work on every architecture it claims to support, no undocumented and strange behaviors. I have had Gentoo on PCs fail to install common ebuilds when adjusting USE flags for features that are normally considered default. Portability is often taken into consideration when using embedded devices, of which are complicated enough without the additional points of failure in the operating system as default. See More