1 ポイント 投稿者 GN⁺ 1 시간 전 | 1件のコメント | WhatsAppで共有
  • 最新のナイトリービルドでは Haiku arm64ポート がデスクトップまで起動し、hrev59669イメージはQEMUで動作する
  • QEMUの実行では Tianocore EFI とCPU選択の互換性が重要で、Debianでは --cpu cortex-a76 を指定することで解決する
  • 小さな修正で UTMでの起動 も可能になったが、マウス操作が遅く途切れがちで、実用性はまだ低い
  • arm64ナイトリーイメージは unbootstrapped 状態のため、gitgcc、開発パッケージがなく、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 イメージであり、初期パッケージセットのビルド方法が異なる
  • 現在のナイトリーイメージには gitgcc、開発パッケージが含まれていない
  • 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クロスビルド できるはずだという可能性が示されている

1件のコメント

 
GN⁺ 1 시간 전
Hacker Newsのコメント
  • 今週末、古いThinkpad X40にHaikuをインストールしてみたが、速くて驚くほど安定していた
    EmacsとVLCもとてもよく動く。Webブラウジングにはマシンが遅すぎるが、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のノートPCで問題なのはハードウェアではなく、付属してくるひどいXNU/Darwin/NextStep系OSだ。HaikuOSが標準搭載されていて、すべての周辺機器をサポートしてくれるならMacを買うのに、そんな可能性がどれほどあるのかと思う
    ちなみに、まだ“本物の”BeOSが入ったPowerMacを持っている。ここ数年は起動していない。X86-64 VMでHaikuOSを動かしたときは、いくつかのパッケージをコンパイルし、emacsを起動し、Webページを1〜2枚配信するといった作業をとてもうまくこなしていた。開発者向けドキュメントはもう少し強化が必要そうだが、むしろ自分がボランティアで手伝ってもいいかもしれないと思った

    • 「付属してくるひどいXNU/Darwin/NextStep系OS」という部分で、具体的に何が問題なのか気になる
  • Haiku OSのことをよく知らなかったが、Wikipediaによると、Haikuは廃止されたパーソナルコンピュータ向けOSであるBeOSをコミュニティが引き継いでいるプロジェクトらしい
    BeOSとのバイナリ互換性を保ちながら、現代的なシステム、プロトコル、ハードウェア、Web標準もサポートしているという

  • 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シリーズは以前からすでにサポートされていたのかもしれない
    これが大きなブレークスルーなのか、それとも段階的な改善なのか判断しにくい