Wäre es möglich, GNU zu kompilieren und zu booten?

9

Vor einiger Zeit erschien eine neue Guix-Version. Und ich kam auf die Idee, dass ich ein Nicht-Linux-GNU-System haben kann, wenn ich glibc, gcc und guix auf HURD und Mach booten kann. Ich brauche aber auch Software wie Bash, Emacs, Binutils, Coreutils und ein Init-System. Haben einige von ihnen Systemaufrufe, die von Linux abhängig sind? Würde ich es wie in LFS machen können?

toxemicsquire
quelle
Schauen Sie sich Debian Gnu + Hurd an wiki.debian.org/TheHurd
ctrl-alt-delor
Ich möchte nicht, dass apt-get installiert wird, ich möchte, dass Guix alles nach gcc, glibc und coreutils installiert
toxemicsquire
Linux ist nur ein Kernel. Wenn Sie HURD / Mach verwenden, haben Sie ein Nicht-Linux-System. (Zugegeben, die anderen Teile stammen von Sys V oder höher BSD, GNU, Plan 9 und / oder anderen * NIX-Klonen / Derivaten, aber nicht von Linux selbst.)
Agi Hammerthief

Antworten:

3

Vor einigen Jahren habe ich eine GNU / Hurd-basierte Distribution von Grund auf neu erstellt. Sie können es immer noch finden, indem Sie Bee GNU / Hurd googeln .

Alle offiziellen GNU-Software (einschließlich der von Ihnen erwähnten Pakete) sollte Hurd unterstützen, und die meisten Pakete tun dies tatsächlich. Beachten Sie jedoch, dass Hurd kein Ersatz für Linux ist. Sie müssen also alle Pakete übergreifend kompilieren oder sie aus einem nativen GNU / Hurd-System kompilieren, ähnlich wie beim Erstellen Ihrer Software für eine andere Architektur (dh Building Arm-Software auf x86).

Trotzdem rate ich Ihnen, die folgenden Schritte auszuführen:

  • Installieren Sie Debian GNU / Hurd irgendwo (eine VM ist in Ordnung) und machen Sie sich damit vertraut.

  • Erstellen Sie Guix auf diesem System und stellen Sie sicher, dass Sie tatsächlich Pakete generieren und installieren können (wahrscheinlich müssen Sie einige Änderungen daran vornehmen).

  • Ändern Sie Guix, um SubHurds erstellen und verwalten zu können

  • Zu diesem Zeitpunkt sollten Sie bereit sein, ein komplettes GNU-System basierend auf Hurd zu booten, wo immer Sie möchten. Sie müssen GRUB anschließend nur noch richtig konfigurieren.

Viel Spaß beim Hacken!

Sergio L. Pascual
quelle
3

[UPDATE] Ich habe kürzlich bei Fosdem einen Vortrag über die Portierung von Guix nach Hurd gehalten, den Sie hier überprüfen können. guix_to_hurd_fosdem_16

Ich bin derjenige, der am Hafen von Guix Hurd arbeitet. Um Guix tatsächlich auf Hurd verwenden zu können, muss zuerst der Guix-Bootstrapping-Prozess geändert werden, um ein GNU / Hurd-System zu unterstützen. Dies bedeutet, dass Guix in der Lage sein muss, die Hurd-Version von Glibc, Gnumach und Hurd zu erstellen.
Nachdem dieser Teil erledigt ist, müssen Sie die Bootstrapping-Toolchain mit dem neuen glibc erstellen und die Bootstrapping-Binärdateien erstellen. Zu diesem Zeitpunkt sollten die neu erstellten Binärdateien auf ein GNU / Hurd-System kopiert und zum Erstellen von Guix auf diesem System verwendet werden.

Guix Bootstrapping-Prozess

Manolis Ragkousis
quelle