1P by GN⁺ 3시간전 | ★ favorite | 댓글 1개
  • 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 이미지에서 haikuporterhaikuports를 설정할 때도 비슷한 우회가 필요했음

호스트와 게스트 간 파일 전달

  • 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크로스 빌드할 수 있어야 한다는 가능성이 제기됨

댓글과 토론

Hacker News 의견들
  • 이번 주말에 오래된 Thinkpad X40에 Haiku를 설치했는데, 빠르고 놀랄 만큼 안정적임
    Emacs와 VLC도 아주 잘 동작함. 웹 브라우징에는 컴퓨터가 너무 느리지만, BeProductive 오피스 제품군은 9MB 다운로드짜리 애플리케이션으로는 걸작에 가까움. 다만 오픈소스는 아님
    이후 XPS13에도 KVM/Qemu로 Haiku를 설치했는데 모든 게 엄청 빠르게 돌아감. 사진 정리용으로 써볼까 생각 중이고, BeFS에 내장된 메타데이터 기능이 그 용도에 아주 좋아 보임. 정말 인상적임

    • Haiku는 벤치마크보다 사용자 경험을 우선한 좋은 예시임
      내부적으로는 대략 같은 시스템에서 Linux 속도의 60% 정도로 동작하지만, 실제로 써보면 다른 어떤 것보다 훨씬 빠르게 느껴짐
      성능 개선에 신경 쓰지 않는다는 뜻은 아니고, 사용자 경험을 최우선으로 보장해 왔다는 뜻임
    • 그렇게 말하니 집에 굴러다니는 아주 오래된 VAIO에 설치해볼 수 있겠다는 생각이 듦
  • 아이에게 Jobs가 돌아오기 전 Apple이 Be Inc. 를 인수하려 했고, 결국 NeXT에 인수되는 길을 택했다는 얘기를 막 해주던 참이었음
    꽤 재미있는 순환 구조임. Be가 BeOS를 PowerMac으로 포팅하고, Apple은 Be 인수를 넘기고, Be Inc.는 사라지고, HaikuOS가 시작되고, 20년 넘게 지난 뒤 HaikuOS가 Apple 하드웨어로 포팅됨
    솔직히 Apple 노트북에서 문제는 하드웨어가 아니라 딸려오는 형편없는 XNU/Darwin/NextStep 계열 OS임. HaikuOS가 기본 탑재되고 모든 주변기기를 지원한다면 Mac을 살 텐데, 그럴 가능성이 얼마나 될까 싶음
    참고로 아직 “진짜” BeOS가 설치된 PowerMac을 갖고 있음. 몇 년 동안 부팅해보진 않았음. X86-64 VM에서 HaikuOS를 돌려봤을 때는 패키지 몇 개 컴파일하고, emacs 실행하고, 웹페이지 한두 개 서빙하는 작업을 아주 잘 처리했음. 개발자 문서는 좀 더 보강이 필요해 보이는데, 차라리 내가 자원해서 도울 수도 있겠다는 생각이 듦

    • “딸려오는 형편없는 XNU/Darwin/NextStep 계열 OS”라는 부분에서, 구체적으로 뭐가 문제인지 궁금함
  • Haiku OS를 잘 몰랐는데, Wikipedia에 따르면 Haiku는 중단된 개인용 컴퓨터 운영체제 BeOS를 커뮤니티가 이어가는 프로젝트임
    BeOS와 바이너리 호환성을 유지하면서도 현대 시스템, 프로토콜, 하드웨어, 웹 표준도 지원한다고 함

  • 아마 M1/M 시리즈 iPad에서는 이걸 절대 실행할 수 없을 것 같아 아쉬움

    • Apple이 지난 몇 년 동안 오픈소스 소프트웨어에 너무 적대적으로 굴어온 게 정말 아쉬움
      탈옥 전성기는 모바일 개발의 전성기이기도 했다고 봄. 혁신과 빠른 반복이 엄청났고, 마음먹고 만들기만 하면 무엇이든 가능해 보였고 실제로 가능했음
      Apple이 iOS에 통합한 좋은 아이디어 상당수는 탈옥 커뮤니티라는 창의성의 도가니에서 출처 표시 없이 뻔뻔하게 가져온 것임
      하지만 이 모든 건 누군가가 취약점을 찾아내고, 버그 바운티를 무시한 채 커뮤니티에 무료로 공개해주는 데 달려 있었음. 진짜 이타주의자들이었음
      Apple은 이런 시도를 두더지 잡기처럼 막고 사람들에게 10만 달러를 지급하는 데 충분히 능숙했고, 결국 그런 노력은 사라짐. 쉬운 취약점은 대부분 이미 발견되고 패치됨. 더 이상 베껴 올 좋은 아이디어가 없으니 iOS 혁신도 정체된 게 이상하지 않음
  • Haiku OS는 실제로 얼마나 쓸 만함?

    • 처음에는 조금 독특하지만 쓰는 맛이 있음. 실험 단계를 지나면 소프트웨어 생태계가 꽤 제한적이라는 점이 드러남
      그래도 한 번 방문해보는 건 추천함
      더 자세한 인상은 여기 있음: https://kconner.com/2025/03/09/haiku-os-study-path.html
    • 고등학생 나이의 아이가 이번 여름에 방해 요소를 최소화하면서 프로그래밍을 배우도록 설치 환경을 만들고 있었음
      IntelliJ가 실행되고 GNU core utils도 통합돼 있는 걸 보고 놀랐음. hello world 프로그램도 잘 돌아갔음
    • 내 가장 큰 문제는 애플리케이션 부족
    • M1에서만을 말하는 건지, 아니면 모든 플랫폼 전반을 말하는 건지 궁금함
  • 최근에 Debian을 실행하는 Linux 폰인 FuriPhone을 보고 있었는데, 여기에 HaikuOS를 포팅하면 재미있는 프로젝트가 되겠다는 생각이 듦

    • 비공개 드라이버가 있어서 포팅이 어렵지 않나? 대신 PinePhone으로 포팅하는 걸 고려해볼 수도 있을 듯함
  • 브라우저에서도 데모를 시험해볼 수 있음: https://distrosea.com/select/haiku/

    • 해당 URL에서는 내게 M1이 목록에 보이지 않음
  • M1 Mac만 지원하는 건지, 다른 M 시리즈도 지원하는 건지 궁금함. 아니면 다른 M 시리즈는 이미 이전부터 지원됐던 걸 수도 있음
    이게 큰 돌파구인지, 아니면 점진적 개선인지 판단하기가 어려움