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?
9
Odpowiedzi:
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!
źródło
[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
źródło