Czy można skompilować i uruchomić GNU?

9

Nowa wersja Guix pojawiła się jakiś czas temu. Wpadłem na pomysł, że jeśli mogę załadować glibc, gcc i guix do HURD i Macha, mogę mieć system GNU inny niż Linux. Ale potrzebuję również oprogramowania, takiego jak bash, emacs, binutils, coreutils, system init. Czy któryś z nich ma wywołania systemowe zależne od systemu Linux? Czy byłbym w stanie to zrobić jak w LFS?

toksykologia
źródło
Spójrz na Debian Gnu + Hurd wiki.debian.org/TheHurd
ctrl-alt-delor
Nie chcę instalować apt-get, chcę, aby Guix zainstalował wszystko po gcc, glibc i coreutils
toksemicsquire
Linux to tylko jądro. Jeśli używasz HURD / Mach, masz system inny niż Linux. (Oczywiście, inne fragmenty będą pochodzić z Sys V lub późniejszych BSD, GNU, Plan 9 i / lub innych * klonów / pochodnych * NIX, ale nie samego Linuksa.)
Agi Hammerthief

Odpowiedzi:

3

Kilka lat temu stworzyłem od podstaw dystrybucję opartą na GNU / Hurd. Nadal możesz się o tym dowiedzieć, przeglądając Bee GNU / Hurd .

Całe oficjalne oprogramowanie GNU (w tym wspomniane pakiety) powinno obsługiwać Hurda, a większość pakietów faktycznie tak robi. Pamiętaj jednak, że Hurd nie zastępuje Linuksa, więc musisz skompilować wszystkie pakiety lub skompilować je z macierzystego systemu GNU / Hurd, podobnie jak w przypadku tworzenia oprogramowania dla innej architektury (tj. budowanie oprogramowania uzbrojenia na x86).

To powiedziawszy, radzę wykonać następujące kroki:

  • Zainstaluj gdzieś Debian GNU / Hurd (VM jest OK) i zapoznaj się z nim.

  • Zbuduj Guix na tym systemie i upewnij się, że rzeczywiście możesz wygenerować i zainstalować pakiety (prawdopodobnie będziesz musiał wprowadzić kilka zmian w nim).

  • Zmodyfikuj Guix, aby móc tworzyć i zarządzać SubHurds

  • Na tym etapie powinieneś być gotowy na ładowanie kompletnego systemu GNU opartego na Hurd, gdziekolwiek chcesz. Musisz tylko poprawnie skonfigurować GRUB.

Miłego hakowania!

Sergio L. Pascual
źródło
3

[AKTUALIZACJA] Niedawno przemawiałem w Fosdem na temat przenoszenia Guixa na Hurda, którą możesz sprawdzić tutaj. guix_to_hurd_fosdem_16

To ja pracuję w porcie Guix Hurd. Aby faktycznie używać Guix na Hurd, proces ładowania początkowego Guix musi zostać najpierw zmodyfikowany w celu obsługi systemu GNU / Hurd. Oznacza to, że Guix musi być w stanie zbudować krzyżową wersję glibc, Gnumach i Hurd.
Po wykonaniu tej części musisz zbudować łańcuch narzędzi ładowania przy użyciu nowego glibc i utworzyć pliki binarne ładowania. W tym momencie nowo zbudowane pliki binarne powinny zostać skopiowane do systemu GNU / Hurd i użyte do zbudowania Guix na tym systemie.

Proces ładowania Guix

Manolis Ragkousis
źródło