OpenBSD-current이 Apple Hypervisor에서 게스트로 실행 가능

3 weeks ago 10

  • OpenBSD/arm64가 이제 Apple Hypervisor 환경에서 게스트 운영체제로 동작 가능해짐
  • Helg Bredow와 Stefan Fritsch의 일련의 커밋을 통해 그래픽 처리와 네트워크 기능이 수정 및 개선됨
  • viogpu 드라이버에서 프레임버퍼 동기화와 주소 반환 방식이 수정되어 커널 패닉과 X11 블랙스크린 문제 해결
  • virtio 네트워크 드라이버에 MTU 기능 지원이 추가되어 Apple Virtualization 환경에서 완전한 동작 확보
  • 최신 Apple Silicon Mac 사용자에게 유용하며, 스냅샷 버전에서 테스트 및 피드백 권장

Apple Hypervisor에서의 OpenBSD/arm64 지원

  • 최근 커밋을 통해 OpenBSD/arm64Apple Hypervisor에서 게스트 운영체제로 실행 가능
    • 관련 커밋은 Helg Bredow(helg@)와 Stefan Fritsch(sf@)가 수행
    • OpenBSD 공식 arm64 페이지와 Apple Hypervisor 문서가 함께 언급됨

Helg Bredow의 viogpu 수정

  • sys/dev/pv/viogpu.c 파일에서 viogpu_wsmmap() 함수가 수정됨
    • 기존에는 커널 가상 주소(kva)를 반환했으나, 이제 bus_dmamem_mmap(9) 을 통해 물리 주소를 반환
    • 이 수정으로 QEMU에서 X11 실행 시 발생하던 검은 화면 문제와 Apple Hypervisor에서의 커널 패닉이 해결됨
  • 프레임버퍼를 호스트 메모리로 전송하기 전 bus_dmamap_sync(9) 호출 추가
    • 이를 통해 다른 CPU에서 실행 중인 호스트가 프레임버퍼 업데이트를 인식 가능
    • 수정 검토와 피드백은 kettenis@가 수행, 승인(ok)은 sf@가 부여

Stefan Fritsch의 virtio 네트워크 수정

  • sys/dev/pv/if_vio.c 파일에서 VIRTIO_NET_F_MTU 기능 지원 추가
    • 하이퍼바이저로부터 hardmtu 값을 가져와 현재 MTU를 동일하게 설정
    • virtio 표준이 명확하지 않지만, Linux와 동일한 방식을 채택
  • ETHER_MAX_HARDMTU_LEN을 상한으로 사용하여 이전의 MAXMCLBYTES보다 정확한 처리
    • 하이퍼바이저가 이보다 큰 MTU를 요청할 경우, VIRTIO_NET_F_MTU 기능 없이 재협상 수행
  • 이 커밋으로 OpenBSD가 Apple Virtualization 환경에서 완전하게 동작
    • 입력 및 테스트는 helg@가 수행, 승인(ok)은 jan@가 부여

사용자 안내 및 테스트 권장

  • 이 변경은 최신 Apple Silicon Mac 모델 사용자에게 특히 유용
  • 현재 스냅샷 버전에서 테스트 가능하며, 사용자 피드백 요청
  • 추가적인 설명이나 기술적 세부사항은 기사 내에 없음

Read Entire Article