0
Nix on Windows PoC: ValidationOS VM에 Nix 패키지 매니저 탑재
devops
요약
기사 전체 정리
Windows ValidationOS VM 이미지에 크로스 컴파일된 Nix 패키지 매니저를 미리 설치해서 부팅하는 PoC임. Windows 라이선스 불필요 — ValidationOS는 Microsoft가 테스트용으로 제공하는 무료 최소 Windows 환경임.
빌드 과정이 결정적(deterministic)임. 빌드 중 VM을 기동하지 않고 guestfish로 디스크 이미지에 직접 파일을 주입함. guestfish와 chntpw로 방화벽 비활성화, SSH 키 설정, Winlogon 레지스트리 패치(cmd.exe가 C: ix\bin에서 열리도록) 등을 오프라인으로 처리함.
ValidationOS는 약 1GB 크기에 수 초 만에 부팅되는 경량 Windows PE 환경이고 SSH가 미리 설정되어 있음. 데모 derivation은 cmd.exe로 echo Hello를 실행하고 출력을 Nix store에 기록하는 것임.
한 가지 재밌는 해결책이 있음. ValidationOS에 shell32.dll이 없는데 Nix가 SHGetKnownFolderPath(AppData, ProgramData 등 경로 조회)를 위해 이걸 필요로 함. Nix를 패치하는 대신 환경변수를 읽어 반환하는 최소한의 스텁 DLL을 크로스 컴파일해서 nix.exe 옆에 배치함. Windows DLL 로더가 이걸 먼저 잡아감.
댓글
댓글
댓글을 불러오는 중...