26

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?

Vilhelm Gray
  • 423
  • 5
  • 10

3 Answers3

23

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.

goldilocks
  • 86,451
  • 30
  • 200
  • 258
  • 1
    Debian Hurd also meets the criteria. – jordanm Sep 16 '13 at 14:40
  • 6
    @jordanm : I doubt it, since the base install probably includes, e.g., vixie cron, which is non-GNU software. This punches a bit of a hole in my thesis re. POSIX tho, since `crontab` is a required utility. – goldilocks Sep 16 '13 at 14:54
  • 3
    @goldilocks: In Debian, `cron` is not priority `required` or `essential`, so you can have a Debian system without it. – jordanm Sep 16 '13 at 15:10
9

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?

Yes, Guix System is a complete operating system distribution, developed by the GNU Project it self! and is (obviosuly) endorsed by GNU as an entirely free operating system.

Apart from GNU Userland and GNU's GNOME Desktop Environment which all GNU/Linux distros have, following are some key GNUish features of the Guix System:

Pandya
  • 23,898
  • 29
  • 92
  • 144
  • 1
    More than half of its packages are non-GNU. – Thomas Dickey Jun 07 '21 at 19:44
  • @ThomasDickey Oh! Should I rollback an edit? – Pandya Jun 08 '21 at 01:12
  • Guix isn't a valid example of what OP asked for, since (without some detailed analysis), it's not possible to assume that a user would consider it complete enough for their use if limited to GNU packages (which account for perhaps a thousand out of the 17 thousand cited in the website). – Thomas Dickey Jun 08 '21 at 07:54
2

Take a look at the GNU website. They maintain a list of GNU/Linux distros there:

These are still running the Linux kernel but could be adapted to only run with the GNU Hurd kernel instead.

Also there is this link which covers how to run say Debian using the Hurd kernel:

That same page also has links to a few other distros such as Arch + Hurd too.

slm
  • 363,520
  • 117
  • 767
  • 871
  • I'm sorry, my question is probably a bit misleading. I'm curious if it's theoretically possible to run an operating system exclusively on GNU packages (i.e. no X11, etc). – Vilhelm Gray Sep 16 '13 at 14:23
  • 4
    Those are all linux based. They are distros which comply with GNU's philosophy about free software, not necessarily distros which use only GNU software. – goldilocks Sep 16 '13 at 14:24
  • Take a look at the other answer. To answer your question, though, yes you can run an entire OS with just GNU. – slm Sep 16 '13 at 14:24
  • @goldilocks - thanks for clarifying. – slm Sep 16 '13 at 14:27