Guix, 64비트 Hurd 지원 시작! 시스템 엔지니어의 새로운 선택?

by DD
3개월 전
조회수 8

Guix 시스템에서 64비트 Hurd 지원이 공식적으로 발표되었으며, x86_64 아키텍처를 지원

GCC 14와의 호환성 확보를 위해 173개 패키지 빌드 수정 및 109개 패키지 업데이트 진행

64비트 Hurd 설치를 위한 설치 프로그램 업데이트 및 가상 머신 이미지 생성 방법 제공

RumpNET 지원을 통해 Intel i8254x 기가비트 이더넷 사용 가능, 멀티프로세싱(SMP) 지원 예정

64비트 Hurd 지원을 위한 GCC 14 호환성 확보

Guix 팀은 64비트 Hurd 지원을 위해 GCC 14(GNU Compiler Collection 14)와의 호환성 확보에 주력했다. GCC 14의 엄격한 C 코드 컴파일 규칙으로 인해, 173개의 패키지 빌드를 수정하고 109개의 패키지를 업데이트해야 했다. 이러한 작업은 총 17명의 개발자가 35주에 걸쳐 진행했으며, NLnet 재단의 후원을 받았다. 특히, GCC 14는 기존 코드에 대한 엄격한 검사를 수행하므로, 기존 코드베이스(Codebase)의 광범위한 수정이 불가피했다.

Guix 시스템에서의 64비트 Hurd 설치 및 사용 방법

64비트 Hurd를 사용하기 위해서는 기존 32비트 childhurd 설정을 64비트로 변경해야 한다. 이는 `hurd-vm-configuration`의 `type`을 `hurd64-qcow2`로 설정하는 것으로 가능하다. 또한, 가상 머신 이미지 생성을 위해 `./pre-inst-env guix system image --image-type=hurd64-qcow2 gnu/system/examples/bare-hurd64.tmpl` 명령어를 사용할 수 있다. 설치 프로그램(Installer)을 통해 64비트 Hurd를 VM에 설치할 수 있으며, QEMU를 사용할 때는 `--machine q35` 옵션을 지정해야 한다.

RumpNET을 통한 네트워크 지원

Guix는 RumpNET 지원을 통해 Intel i8254x 기가비트 이더넷 장치를 사용할 수 있게 되었다. RumpNET은 NetBSD의 사용자 공간 네트워킹 스택으로, Hurd에서 네트워크 기능을 제공한다. Damien Zammit는 RumpNET 드라이버(Rump Driver)를 추가하여 `/dev/wmX` 카드를 지원했으며, 이를 통해 네트워크 인터페이스를 구성할 수 있다. 네트워크 설정(Network Configuration)은 `settrans` 명령어를 사용하여 수행하며, ifup 명령어를 통해 인터페이스를 활성화한다.

향후 개발 계획 및 커뮤니티 참여 독려

Guix 팀은 Hurd 개발을 위한 다양한 계획을 발표했다. 여기에는 오디오 지원, RumpNET, SMP(Symmetric Multi-Processing) 지원, ext2 저널링, AArch64 및 RISC-V 아키텍처 지원 등이 포함된다. 특히, 64비트 Hurd의 SMP 지원을 위한 패치가 진행 중이며, 새로운 부트스트랩 바이너리가 필요할 것으로 예상된다. Guix 커뮤니티는 #guix 및 #hurd 채널을 통해 개발에 참여할 수 있으며, 패키지 개발(Package Development)테스트(Testing)에 기여할 수 있다.

The 64-bit Hurd has landed in Guix