可以编译和引导GNU吗?


9

前一段时间发布了新的Guix版本。我的想法是,如果我可以将glibc,gcc和guix引导到HURD和Mach,那么我可以拥有一个非Linux GNU系统。但是我还需要一些软件,例如bash,emacs,binutils,coreutils,一个初始化系统。这些工具中的任何一个是否具有与Linux相关的任何系统调用?我能像在LFS中那样吗?


看看Debian Gnu + Hurd wiki.debian.org/TheHurd
ctrl-alt-

我不想安装apt-get,我希望Guix在gcc,glibc和coreutils之后安装所有内容
toxemicsquire 2014年

Linux只是一个内核。如果您使用HURD / Mach,则说明您使用的是非Linux系统。(当然,其他
零组件

Answers:


3

几年前,我从头开始创建了一个基于GNU / Hurd的发行版。您仍然可以通过搜索Bee GNU / Hurd来找到有关它的信息。

所有正式的GNU软件(包括您提到的软件包)都应支持Hurd,而大多数软件包实际上都支持。但是请记住,Hurd并不是Linux的直接替代品,因此实际上您需要交叉编译所有软件包,或者从本地GNU / Hurd系统编译它们,就像在构建软件时一样。用于另一种体系结构(即在x86上构建Arm软件)。

也就是说,我建议您遵循以下步骤:

  • 将Debian GNU / Hurd安装在某个地方(可以使用VM)并熟悉它。

  • 在上述系统上构建Guix,并确保您可以实际生成并安装软件包(您可能需要对其进行一些更改)。

  • 修改Guix以能够创建和管理SubHurd

  • 在这个阶段,您应该准备好在任何地方引导基于Hurd的完整GNU系统。之后,您只需要正确配置GRUB。

骇客入侵!


3

[更新]我最近在Fosdem上发表了有关将Guix移植到Hurd的演讲,您可以在此处查看。guix_to_hurd_fosdem_16

我是在Guix Hurd港口工作的那个人。为了在Hurd上实际使用Guix,必须首先修改Guix引导过程,以支持GNU / Hurd系统。这意味着Guix必须能够交叉构建glibc,Gnumach和Hurd的hurd版本。
完成这一部分后,您必须使用新的glibc构建自举工具链,并生成自举二进制文件。此时,应将新建的二进制文件复制到GNU / Hurd系统,并用于在该系统上构建Guix。

Guix引导过程

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.