Haiku OS가 이제 M1 Mac에서 실행됨
요약
Haiku OS의 arm64 포트가 최신 야간 빌드에서 데스크톱 부팅에 성공하며 M1 Mac 환경에서의 실행 가능성을 보여주었습니다. 현재 QEMU와 UTM을 통해 구동할 수 있으나, 개발 패키지 부재와 마우스 성능 저하 등 실사용을 위한 기술적 과제가 남아 있습니다.
핵심 포인트
- Haiku arm64 야간 빌드(hrev59669)가 QEMU 및 UTM에서 데스크톱 부팅에 성공함
- QEMU 실행 시 Tianocore EFI 호환성을 위해 --cpu cortex-a76 옵션 지정이 필요함
- 현재 이미지는 unbootstrapped 상태로 git, gcc 등 주요 개발 패키지가 포함되어 있지 않음
- OpenSSL 부재로 인한 패키지 설치 제한 문제가 있으며, FAT32 디스크 이미지를 통해 파일 전달이 가능함
Haiku arm64 포트가 최신 야간 빌드에서 데스크톱까지 부팅되며, hrev59669 이미지는 QEMU에서 동작함
- QEMU 실행에는
Tianocore EFI와 CPU 선택의 호환성이 중요하며, Debian에서는--cpu cortex-a76
지정으로 해결됨
- 작은 수정으로
UTM 부팅도 가능해졌지만, 마우스 움직임이 느리고 끊겨 실제 사용성은 아직 낮음 - arm64 야간 이미지는
unbootstrapped 상태라git
, gcc
, 개발 패키지가 없고, OpenSSL 부재로 패키지 설치도 막힐 수 있음
- 호스트와 게스트 간 파일 전달은
FAT32 디스크 이미지로 우회 가능하며, x86_64나 Linux에서.hpkg
크로스 빌드 가능성이 거론됨
Haiku arm64 부팅 현황
- Haiku arm64 포트가 최신 야간 빌드에서
데스크톱까지 부팅되는 상태에 도달함 - download.haiku-os.org의 최신 빌드
hrev59669가 QEMU에서 동작함 - 작은 수정으로 Haiku를
UTM에서도 부팅할 수 있지만, 마우스 움직임이 느리고 끊겨 사용성은 아직 낮음
QEMU 실행 구성
- QEMU에서 arm64 이미지를 실행할 때 동작한 명령은 다음과 같음
qemu-system-arm64 -m 512M -bios /path/to/the/arm64/QEMU_EFI.fd -device ramfb -M virt --cpu cortex-a76 -device usb-ehci -device usb-kbd -device usb-tablet -device usb-storage,drive=dska -drive id=dska,file=haiku-arm64-mmc.image,if=none
- Debian의 QEMU가 기본으로 선택하는 CPU는 함께 제공되는
EFI 구현과 호환되지 않는 것으로 보였고,--cpu cortex-a76
지정으로 해결됨
- 키보드와 태블릿 입력은 USB 장치를 사용하며,
usb-tablet은 마우스 캡처 없이 입력을 다룰 수 있게 해줌
ramfb
는 arm64에서 비교적 안전한 프레임버퍼 선택지로 쓰임
- Debian에서 Tianocore 바이너리 경로는 필요한 패키지를 설치했을 때
/usr/share/qemu-efi-aarch64/QEMU_EFI.fd
임
- 다른 시스템에서는 EFI 이미지를 온라인에서 찾거나 Debian 패키지에서 추출할 수 있음
개발 환경과 패키지 상태
- 현재 arm64 야간 이미지는 “bootstrap image”가 아니라
unbootstrapped 이미지이며, 초기 패키지 세트를 빌드한 방식이 다름 - 현재 야간 이미지에는
git
, gcc
, 개발 패키지가 포함되어 있지 않음
- haikuports의 릴리스 아카이브를 내려받아 설정하면 패키지 빌드에 필요한 기본 패키지 세트를 얻을 수 있을 것으로 보임
pkgman
으로 일부 패키지를 설치할 수도 있지만, 현재 haikuports builder가 없어 패키지 세트는 매우 제한적일 수 있음
pkgman
이 어떤 패키지도 설치하지 못하고 “operation not supported” 오류를 낸 보고가 있음
- 이미지가
OpenSSL 지원 없이 빌드된 것이 원인일 수 있으며, 이 경우 유용한 작업을 하기가 어려움 - depot에 패키지가 있다면 링크를 가져와
wget
으로 내려받는 우회가 가능하며, riscv64 이미지에서 haikuporter
와 haikuports
를 설정할 때도 비슷한 우회가 필요했음
호스트와 게스트 간 파일 전달
- depot 서버에서 arm64용
사전 빌드 개발 패키지를 찾지 못한 상태임 - QEMU 호스트에서 ARM64 Haiku 게스트로 파일을 가져오기 위해
FAT32 디스크 이미지를 사용할 수 있음 - MacOS Disk Utility로 FAT32 디스크 이미지를 만들고, Mac에서 마운트해 파일을 넣은 뒤 QEMU 게스트에 연결하는 방식임
- 공유 디스크를 붙이는 QEMU 실행 예시는 다음과 같음
qemu-system-aarch64 \
-M virt \
-cpu max \
-m 2G \
-smp 4 \
-bios /opt/homebrew/share/qemu/edk2-aarch64-code.fd \
-device qemu-xhci,id=usb \
-drive file=haiku-master-hrev59671-arm64-mmc.image,if=none,id=drv0,format=raw \
-device usb-storage,bus=usb.0,drive=drv0 \
-device usb-kbd,bus=usb.0 \
-device usb-tablet,bus=usb.0 \
-device ramfb \
-display cocoa,zoom-to-fit=on \
-device qemu-xhci,id=usb2 \
-drive file=../shared.img,format=raw,if=none,id=usb-shared \
-device usb-storage,bus=usb2.0,drive=usb-shared \
-serial stdio
- x86_64 Haiku 또는 Linux에서 ARM64 Haiku용
.hpkg
를 크로스 빌드할 수 있어야 한다는 가능성이 제기됨
AI 자동 생성 콘텐츠
본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기