Howto

ATDEのVMwareイメージを、QEMU を使って動かす

ATDEは、VMware の製品群 (Wolrkstation や Fusion) で動作するイメージファイルとしてリリースされています。このイメージファイルは、VMDK (Virtual Machine Disk) というファイルフォーマットです。

VMware Workstation は多彩な機能を持ったハイパーバイザーで、Linux でも Windows でも動作するアプリケーションです。しかし、Workstation が提供している多くの機能を使わないのであれば、Linux 上で QEMU を使って ATDE を利用することができます。

GNOME Boxes を使う

GNOME Boxes は、後で説明する変換や設定をしてくれるアプリケーションです。 メニューの New から ATDEの zip ファイルを展開したディレクトリの中にある .vmdk ファイルを選択するだけで、ATDE が立ち上がります。

裏では、ファイルフォーマットの変換、QEMU の設定、そして実行を行っています。

変換されたイメージファイルは、 ~/.local/share/gnome-boxes/images 内に配置されます。

もし GNOME Boxes がインストールされていなれば、下記のようにインストールしてください。

[PC ~]$ sudo apt-get install gnome-boxes

VMDK から QCOW2 への変換

ここからは、GNOME Boxes を使わずに自分で変換や実行をしてみます。VMDK を QEMU がサポートしている QCOW2 というフォーマットに変換するには、 qemu-img というツールを使います。使いかたは簡単で、

[PC ~/atde]$ qemu-img convert -O qcow2 atde5.vmdk ./atde5.qcow2

とするだけです。

qemu-img は、フォーマット変換以外にも、イメージファイルの情報表示やスナップショットの作成などいろいろな機能を持っています。

convert でファイルフォーマットの変換を指定し、 -Oqcow2 フォーマットを指定します。入力ファイルは .vmdk で、出力ファイルは .qcow2 です。

ATDE は、2 GB超のファイルを作成できないファイルシステムに対応するために、複数の VMDK が作られるように設定されています。指定する .vmdk は、連番の付いていないファイルを1つだけ指定してください。

QEMU で動作確認

qemu コマンドを使って、変換した QCOW2 ファイルから起動してみます。

[PC ~/atde]$ qemu-system-i386 -enable-kvm -m 2G ./atde5.qcow2

[PC ~/atde]$ qemu-system-x86_64 -enable-kvm -m 2G ./atde5.qcow2

-enable-kvm で Linuxの KVM の機能を有効にしています。このオプションを付けないと、動作がとても遅くなります。 -m でメモリを 2 GB 割り当てています。最後に、QCOW2 に変換した ATDEのイメージファイルを指定します。

BIOS の画面から始まって、ATDE が起動するのが確認できるはずです。

Virtual Machine Manager から起動

QEMU を手で実行しても問題ないのですが、一般的な仮想環境として利用するには数多くのオプションを指定しなければいけません。手元で動いている QEMU のインスタンスには、40個以上のオプションが付いています。

そこで、Virtual Machine Manager のような GUI で設定できるツールを使って起動します。 New Virtual Machine から QCOW2 のイメージファイルを選択し、割り当てる CPU の数やメモリ量を指定します。

もちろん、 GNOME Boxes を使っても問題ありません。

Appendix. Virtual Machine のシャトダウン

QEMU は、Virtual Machine をシャットダウンするときに ACPI のシャットダウンイベントを送ります。VM 内にこのイベントを受ける acpid が動作していないと「イベントは送られたがシャットダウンしない」という状態になってしまいます。

Debian ではイベントを受け取る acpid と、シャットダウンの時の動作が記述されているスクリプトが別パッケージ( acpi-support-base )になっているので、ATDEの中に両方インストールしてください。

[ATDE ~]$ sudo apt-get install acpid acpi-support-base