GNU를 컴파일하고 부트 스트랩 할 수 있습니까?


9

얼마 전에 새로운 Guix 릴리스가 나왔습니다. 그리고 glibc, gcc, guix를 HURD와 Mach로 부트 스트랩 할 수 있다면 Linux가 아닌 GNU 시스템을 가질 수 있다는 생각이 들었습니다. 그러나 bash, emacs, binutils, coreutils, init 시스템과 같은 소프트웨어도 필요합니다. 리눅스에 의존하는 시스템 호출이 있습니까? LFS 에서처럼 할 수 있습니까?



나는 apt-get을 설치하고 싶지 않다. Guix가 gcc, glibc 및 coreutils 이후에 모든 것을 설치하기를 원한다
toxemicsquire

리눅스는 단지 커널입니다. HURD / Mach를 사용하는 경우 비 Linux 시스템이 있습니다. (다른 비트와 조각은 Sys V 이상 BSD, GNU, Plan 9 및 / 또는 다른 * NIX 복제본 / 유도체에 있지만 Linux 자체는 아닙니다.)
Agi Hammerthief

답변:


3

몇 년 전, 나는 처음부터 GNU / Hurd 기반 배포판을 만들었습니다. Bee GNU / Hurd를 검색하여 여전히 찾을 수 있습니다 .

언급 한 패키지를 포함한 모든 공식 GNU 소프트웨어는 Hurd를 지원해야하며 대부분의 패키지는 실제로 지원합니다. 그러나 Hurd는 Linux의 드롭 인 대체품이 아니므로 실제로 모든 패키지를 크로스 컴파일하거나 소프트웨어를 빌드하는 것과 같은 방식으로 네이티브 GNU / Hurd 시스템에서 컴파일해야합니다. 다른 아키텍처 (예 : x86에서 arm 소프트웨어 빌드)

즉, 다음 단계를 따르는 것이 좋습니다.

  • 어딘가에 (데비안 GNU / Hurd)를 설치하고 친숙 해지십시오.

  • 해당 시스템에서 Guix를 빌드하고 실제로 패키지를 생성하고 설치할 수 있는지 확인하십시오 (아마도 변경해야 할 수도 있습니다).

  • 생성하고 관리 할 수 있도록 Guix 수정 SubHurds을

  • 이 단계에서, Hurd에 기반한 완전한 GNU 시스템을 원하는 곳에 부트 스트랩 할 준비가되어 있어야합니다. 나중에 GRUB을 올바르게 구성하면됩니다.

행복한 해킹!


3

[업데이트] 최근 Fosdem에서 Guix를 Hurd로 포팅하는 것에 대해 이야기했습니다. guix_to_hurd_fosdem_16

나는 Guix Hurd 포트에서 일하는 사람입니다. Hurd에서 Guix를 실제로 사용하려면 GNU / Hurd 시스템을 지원하기 위해 Guix 부트 스트랩 프로세스를 먼저 수정해야합니다. 이것은 Guix가 glibc, Gnumach 및 Hurd의 hurd 버전을 교차 빌드 할 수 있어야 함을 의미합니다.
이 부분을 완료하면 새로운 glibc를 사용하여 부트 스트랩 툴체인을 구축하고 부트 스트랩 바이너리를 생성해야합니다. 이 시점에서 새로 빌드 된 바이너리는 GNU / Hurd 시스템으로 복사되어 해당 시스템에서 Guix를 빌드하는 데 사용됩니다.

Guix 부트 스트랩 프로세스

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.