M1でLinux仮想を動かす(SimpleVM)


2020/11/30現在まだ仮想系のものがdocker含めてリリースされていないのですが、海外掲示板でHypervisor.frameworkを使っていち早く試している人がいたので、物は試しということでやってみました。普通に動きますので、いち早くM1上の仮想を体験したい人はどうぞ。

追記:11/30 もっと簡単なのはこちら→M1でLinux仮想を動かす(QEMU)

※掲示板から落としたバイナリーの安全性については各自の責任でお願いします。

使うもの

  • M1チップ搭載Mac
  • SimpleVM
  • Ubuntu ARM64 ISOイメージ
  • Keka

もしくはUbuntu入りバイナリーをMacRumorsのスレから探し出す。(New!

SimpleVMの準備

以下のどちらかでSimpeVMを作ります

  1. XCodeでコンパイルーMacRumorsのスレをよく読む(SwiftTermなど依存関係有、フォーク有
  2. MacRumorsのスレからビルド済のSimpleVMのバイナリーを探し出す。

環境構築&実行

  • ISOイメージをダウンロードする
  • Kekaでisoファイルをunarchiveする(diskutilsではマウントできない)
  • vmlinuzのファイル名をvmlinuz.gzに変更してunarchiveする(非圧縮のvmlinuzができる)
  • vmlinuzとinitrdをSimpleVMのUIにドロップ
  • isoイメージファイルをSimpleVMのUIにドロップ
  • Start

Ubuntu入りバイナリー

MacRumorsのスレの中にSimpleVMとUbuntuを組み入れたものがありました(New!

ベンチマーク結果

sysbench

sudo apt install sysbench
sysbench cpu --num-threads=1 --cpu-max-prime=9999 run

手元の実測値です(シングル)

機種 CPU speed (event/sec)
MacBook Air (M1,2020) 10937.45
i7-8700 @ 3.20GHz 1506.57
Ryzen 5 PRO 3400GE (3.3GHz) 1909.44
Ryzen 7 PRO 4750GE (3.1GHz) 2164.02

シングルコア性能が間違いかと思う程高いんですが。掲示板では別のベンチマークのでの結果でSimpleVM利用でThreadRipper 2990wxより早いという情報もありました。

i7-8700は仕事用のLinux系のビルド環境ですが、いつのまにか先日導入した自宅esxiのRyzenに負けてるのが地味にショックです。

他のベンチマークを以下にまとめておきます。

Ubuntu環境のベンチマーク比較(Apple Silicon M1他

参考

MacRumors Forum: Ubuntu Linux virtualized on M1 (success!)

ぶつぶつ

他にまだ仮想関連はリリースされていないのにさくっと動いた事、そのスピード、SimpleVMのコードのシンプルさ(Hypervisor.frameworkの素晴らしさ)に驚きました。