Linux GNU Hurd – Is It Possible to Run Pure GNU?

gnuhurdlinux

On the GNU Project webpage, there's a subsection called "All GNU packages" which lists the various software in the GNU project.

Are there any GNU distributions which use only these packages — i.e. a "pure" GNU operating system that runs on only GNU packages?

I'm not particularly interested on whether this would be a practical operating system, just if it's theoretically possible to run GNU Hurd with purely the GNU packages. If not, what kind of software must still be implemented to achieve this goal (i.e. what's missing)?

If GNU Hurd is the limiting factor, than if an exception is made for the kernel, would a pure GNU OS be possible using the Linux kernel?

Best Answer

The explicit goal of the GNU project is to provide a complete open source/libre/free operating system.

Are there any GNU distributions which use only these packages -- i.e. a "pure" GNU operating system that runs on only GNU packages?

There is a reference here to an official sounding GNU binary distro based on Hurd which "consists of GNU Mach, the Hurd, the C library and many applications". It may or may not be currently maintained, however, as I couldn't find any other online references to it. But it does sound like it fits your criteria.

I'm not particularly interested on whether this would be a practical operating system, just if it's theoretically possible to run GNU Hurd with purely the GNU packages.

The answer to the previous question implies an obvious answer WRT Hurd. Of course, it might help to define more precisely what would count as a reasonably complete "operating system". I'll provide two definitions:

  1. A collection of software sufficient to boot up to a shell prompt.

  2. A system which fulfills POSIX criteria. This is essentially a stricter version of #1, since the highest level mandatory entity in a POSIX system would be the shell.

This is a little arbitrary, since an operating system designed to fulfill some special purpose might not need a shell at all. However, in that case it would become a more specific question about the nature of the "special purpose".

In any case, the answer is yes, although GNU's implementation of some things may not be 100% perfectly POSIX compliant (and there are a handful of required utilities, such as crontab, which GNU doesn't provide). Here are the potential components:

  • Kernel (Hurd)
  • C library (glibc)
  • Essential utilities (GNU core-utils, etc.)
  • Shell (bash, which is a GNU project)

I did not include a bootloader, since that is not part of the OS -- but in any case grub is also a GNU project.

Related Question