22

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?

  • 4
    Since you can boot a Linux (or Hurd) system that runs only bash, then in any case, it's possible. – Stéphane Chazelas Sep 16 '13 at 14:06
  • @StephaneChazelas That should answer my question if it's possible. I wonder if anyone has set up a distribution like that as a proof of concept. – Vilhelm Gray Sep 16 '13 at 14:24
  • 3
    Update: There is GNU Guix Operating System Developed by GNU project! – Pandya Jun 2 '15 at 5:39
  • Of course you won't have a GUI because X isn't a GNU project – farhangfarhangfar Mar 23 '17 at 16:41
  • Somewhat related: Can I run Ubuntu on something other than Linux Kernel? – G-Man Jul 13 at 2:36
19

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.

  • 1
    Debian Hurd also meets the criteria. – jordanm Sep 16 '13 at 14:40
  • 4
    @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
  • 2
    @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
5

Guix SD, one of the distoros endorsed by GNU is developed by the GNU Project it self! It comes with GNU Guix package-manager. Though it uses the Linux-Libre kernel, however supports to work with GNU Hurd as well. It uses GNU Shepherd init system.

The Guix System Distribution (GuixSD) is an advanced distribution of the GNU operating system developed by the GNU Project—which respects the freedom of computer users.

GuixSD is a distribution of the GNU operating system centered on the GNU Guix package manager. It uses the Linux-libre kernel, and support for the Hurd is being worked on. As a GNU distribution, it is committed to respecting and enhancing the freedom of its users. As such, it adheres to the GNU Free System Distribution Guidelines.

Note: It's still in beta and not a pure GNU yet.

3

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.

  • 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
  • 2
    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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.