前一段时间发布了新的Guix版本。我的想法是,如果我可以将glibc,gcc和guix引导到HURD和Mach,那么我可以拥有一个非Linux GNU系统。但是我还需要一些软件,例如bash,emacs,binutils,coreutils,一个初始化系统。这些工具中的任何一个是否具有与Linux相关的任何系统调用?我能像在LFS中那样吗?
前一段时间发布了新的Guix版本。我的想法是,如果我可以将glibc,gcc和guix引导到HURD和Mach,那么我可以拥有一个非Linux GNU系统。但是我还需要一些软件,例如bash,emacs,binutils,coreutils,一个初始化系统。这些工具中的任何一个是否具有与Linux相关的任何系统调用?我能像在LFS中那样吗?
Answers:
几年前,我从头开始创建了一个基于GNU / Hurd的发行版。您仍然可以通过搜索Bee GNU / Hurd来找到有关它的信息。
所有正式的GNU软件(包括您提到的软件包)都应支持Hurd,而大多数软件包实际上都支持。但是请记住,Hurd并不是Linux的直接替代品,因此实际上您需要交叉编译所有软件包,或者从本地GNU / Hurd系统编译它们,就像在构建软件时一样。用于另一种体系结构(即在x86上构建Arm软件)。
也就是说,我建议您遵循以下步骤:
将Debian GNU / Hurd安装在某个地方(可以使用VM)并熟悉它。
在上述系统上构建Guix,并确保您可以实际生成并安装软件包(您可能需要对其进行一些更改)。
修改Guix以能够创建和管理SubHurd
在这个阶段,您应该准备好在任何地方引导基于Hurd的完整GNU系统。之后,您只需要正确配置GRUB。
骇客入侵!
[更新]我最近在Fosdem上发表了有关将Guix移植到Hurd的演讲,您可以在此处查看。guix_to_hurd_fosdem_16
我是在Guix Hurd港口工作的那个人。为了在Hurd上实际使用Guix,必须首先修改Guix引导过程,以支持GNU / Hurd系统。这意味着Guix必须能够交叉构建glibc,Gnumach和Hurd的hurd版本。
完成这一部分后,您必须使用新的glibc构建自举工具链,并生成自举二进制文件。此时,应将新建的二进制文件复制到GNU / Hurd系统,并用于在该系统上构建Guix。