Sarebbe possibile compilare e avviare bootstrap GNU?


9

Una nuova versione di Guix è stata rilasciata qualche tempo fa. E ho avuto l'idea che se potessi avviare glibc, gcc e guix su HURD e Mach, potrei avere un sistema GNU non Linux. Ma ho anche bisogno di alcuni software come bash, emacs, binutils, coreutils, un sistema init. Qualcuno di questi ha chiamate di sistema che dipendono da Linux? Sarei in grado di farlo come in LFS?


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

Non voglio installare apt-get, voglio che Guix installi tutto dopo gcc, glibc e coreutils
toxemicsquire

Linux è solo un kernel. Se usi HURD / Mach, hai un sistema non Linux. (Certo, gli altri bit e pezzi verranno dal Sys V o successivo BSD, GNU, Plan 9 e / o altri * cloni / derivati ​​NIX, ma non Linux stesso.)
Agi Hammerthief,

Risposte:


3

Alcuni anni fa, ho creato una distribuzione basata su GNU / Hurd da zero. Puoi ancora trovarlo su Google Bee GNU / Hurd .

Tutto il software GNU ufficiale (compresi i pacchetti che hai citato) dovrebbe supportare Hurd, e la maggior parte dei pacchetti effettivamente lo fa. Ma tieni presente che Hurd non è un sostituto drop-in per Linux, quindi in realtà devi compilare tutti i pacchetti o compilarli da un sistema GNU / Hurd nativo, più o meno come se stessi costruendo il tuo software per un'altra architettura (ovvero creazione di software arm su x86).

Detto questo, ti consiglio di seguire questi passaggi:

  • Installa Debian GNU / Hurd da qualche parte (una VM è OK) e familiarizza con essa.

  • Costruisci Guix su detto sistema e assicurati di poter effettivamente generare e installare pacchetti (probabilmente dovrai apportare alcune modifiche).

  • Modifica Guix per poter creare e gestire SubHurds

  • A questo punto, dovresti essere pronto per avviare il bootstrap di un sistema GNU completo basato su Hurd dove vuoi. Successivamente devi solo configurare correttamente GRUB.

Happy hacking!


3

[AGGIORNAMENTO] Di recente ho tenuto un discorso a Fosdem sul porting di Guix su Hurd che puoi consultare qui. guix_to_hurd_fosdem_16

Sono io a lavorare sulla porta di Guix Hurd. Per poter effettivamente utilizzare Guix su Hurd, il processo di bootstrap di Guix deve essere prima modificato per supportare un sistema GNU / Hurd. Ciò significa che Guix deve essere in grado di creare una versione incrociata della versione hurd di glibc, Gnumach e Hurd.
Al termine di questa parte, è necessario creare la toolchain di bootstrap usando il nuovo glibc e produrre i binari di bootstrap. A questo punto, i binari di nuova costruzione dovrebbero essere copiati su un sistema GNU / Hurd e usati per costruire Guix su quel sistema.

Processo di bootstrap di Guix

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.