0

If I made a Linux distribution, could I add Busybox or another UNIX system other than GNU? Or are Linux and GNU entirely dependent on each other?

AcinonX
  • 111

2 Answers2

5

Linux and GNU are independent, and you can build a Linux distribution without GNU — see Alpine Linux for example. Android is another example of an operating system built on top of Linux without GNU.

GNU tools run on kernels other than Linux; many of them even work on Windows. Most of the tools actually pre-date Linux, and still support many of the different systems commonly in use in the 90s and early 2000s (see config.guess to get an idea of the variety of systems encountered at one time or another). For a long time, the intended kernel for the GNU system was the Hurd, but progress on that has always been slow.

Stephen Kitt
  • 434,908
4

Yes.

It's been done before, it's done now, and it'll be done in the future.

Linux does not require GNU and the GNU userland does not require Linux. Projects like Busybox, Toybox, etc exist for this purpose.

On the Linux side of things, it is even conceivable (and with very little as a base, practical) that if you want, you could build your own userland from the ground up.

For example, Android is an operating system running on the Linux kernel that uses Toybox as it's default userland, and is probably the most common of them.

Likewise, the GNU coreutils are able to be ported to (or run directly on, with enough support) run on other non-Linux kernels (it was relatively common to install a GNU userland on some proprietary Unices as many people liked the GNU utilities more than their operating system's default utilities).

It's also worth noting here that the GNU coreutils were not initially created for Linux, but rather the BSDs (as Stephen Kitt mentions in a comment). They did see a lot of use on many of the proprietary Unices such as SunOS, AIX, HP/UX, and others.

  • 1
    GNU coreutils runs on GNU HURD for obvious reasons, for example. – Jörg W Mittag Nov 05 '23 at 22:12
  • I edited my answer here to take these things into account. Thanks :) – Justine Krejcha Nov 06 '23 at 00:44
  • 1
    Thanks! Regarding your last paragraph, many of the tools in coreutils were initially created for BSD (but not part of BSD), and in practice they were used (and saw some development work) on many proprietary Unix systems (SunOS, AIX, HPUX etc.). – Stephen Kitt Nov 06 '23 at 10:31