Would it be possible to compile and bootstrap GNU

gccglibchurd

A new Guix release came out some time ago. And I got the idea that if I can bootstrap glibc, gcc, and guix to HURD and Mach, I can have a non-Linux GNU system. But I also need some software like bash, emacs, binutils, coreutils, an init system. Do any of those have any system calls that are linux dependent? Would I be able to do it like in LFS?

Best Answer

Some years ago, I created a GNU/Hurd based distribution from scratch. You can still find about it by googling Bee GNU/Hurd.

All official GNU software (including the packages you've mentioned) should support Hurd, and most packages actually do. But keep in mind that Hurd is not a drop-in replacement for Linux, so you actually need to cross-compile all packages, or compile them from a native GNU/Hurd system, much in the same way as if you were building your software for another architecture (i.e. building arm software on x86).

That said, I advise you to follow these steps:

  • Install Debian GNU/Hurd somewhere (a VM is OK) and get familiar with it.

  • Build Guix on said system, and make sure you can actually generate and install packages (you probably will need to make some changes to it).

  • Modify Guix to be able to create and manage SubHurds

  • At this stage, you should be ready for bootstrapping a complete GNU system based on Hurd wherever you want. You just need to configure GRUB properly afterward.

Happy hacking!

Related Question