프로젝트 소개

TinyBridge는 macOS용으로 설계된 특수 VM 런타임으로, Apple Silicon 및 Intel 하드웨어에서 Linux 가상 머신을 실행하기 위해 Apple의 네이티브 Virtualization.framework를 활용합니다. 다층 아키텍처로 작동합니다: Rust 기반 CLI와 데몬이 JSON-RPC를 통해 VM별 'tinybridge-vmhost' 프로세스와 통신하며, 이 프로세스는 Swift 기반 C ABI 브리지를 통해 하이퍼바이저와 상호작용합니다. 이 설계는 시작, 중지, 상태 모니터링을 포함한 VM 수명 주기가 네이티브 프레임워크에 의해 처리되도록 보장합니다. 주요 기능은 다음과 같습니다: - 네이티브 가상화: VZVirtualMachine을 사용하여 실제 ARM64 Linux 커널(예: Ubuntu)을 부팅합니다. - 수명 주기 관리: VM 환경을 시작, 일시 중단, 재개, 삭제하기 위한 포괄적인 CLI를 제공합니다. - Cloud-Init 지원: 자동 게스트 구성을 위해 NoCloud 시드 ISO를 연결할 수 있으며, 비밀번호 및 SSH 키 설정을 포함합니다. - 네트워킹: DHCP 임대 추적을 통한 NAT 기반 네트워킹을 구현하여 게스트 IP 주소를 동적으로 확인합니다. - 진단: 하드웨어 가상화 지원 및 시스템 요구 사항을 확인하는 'doctor' 명령을 포함합니다. 참고: 이 프로젝트에는 Windows 및 Linux 하이퍼바이저 백엔드용 스캐폴딩이 포함되어 있지만, 현재 구현되지 않았습니다. 이 프로젝트는 개발 기반으로서 macOS에만 엄격히 초점을 맞추고 있습니다. 사용자는 현재 배포 제한으로 인해 환경 변수 수동 설정이나 로컬 빌드가 필요하며, 가상화를 위한 표준 macOS 보안 자격에 의존한다는 점을 인지해야 합니다.