MACのvirtualbox上でARM用Linuxを動かす話
ここ参照。
KVMを使う(インストール編) « さくらインターネット研究所
QEMU によるシステムのエミュレーション
環境
FedoraってRHEL系らしい。
FedoraとRHELとCentOSの関係は、
Fedoraで実験 → 上手くいったらRHELに適用 → CentOSがそれをパクる
という感じらしい。
手順
- CentOS用意
- qemuインストール
- ゲストOS用の仮想ハードディスクを作る
- VNCビューアを用意する
- リモートデスクトップ用ソフト。
- ゲストOSにアクセスする時に使う。
- ゲストOSをインストールする
Linux で仮想マシンを扱うには、KVMとQEMUが必要。 KVMのページ に書いてるように、 カーネル2.6.23 以降では、kvmはすでに組み込まれてるらしい。 なので、QEMU側のみインストールしてやる。
必要なパッケージをインストールしておく
yum -y install gcc kernel-devel zlib-devel pciutils-devel pciutils-libs gtk2-devel flex bison gettext]
qemuをインストールする。
yumだと色々不自由するらしいので、ソースからビルドする。
QEMUのページ から落としたソースをmakeする。
$ tar -Jxfv $ ./configure --target-list=arm-softmmu,x86_64-softmmu $ make $ make install
configureでは、arm用とx86_64用のビルドに必要な分だけmakeする設定にしている。 configure –help で、アーキテクチャごとのオプションがわかる。
試しにx86用のOSを動かしてみる
x86_64(amd64)用のFreeBSD https://download.freebsd.org/ftp/snapshots/amd64/amd64/ISO-IMAGES/11.0/
仮想ハードディスクの作成
$ qemu-img create -f qcow2 qemutest.img 10G
仮想ハードディスク生成に使うのは、 qemu-img コマンド。 ここでは、qcow2フォーマットで初期化し10GBの仮想ディスクqemutest.imgを生成。
qcow2 はCopy On Wright が機能するせいか、消費容量は少ないものの、パフォーマンスがかなり落ちる。 10G程度であれば問題無いらしい。
仮想ディスクにOSインストール
bsd-start.sh とかの名前で、OS起動スクリプト作る
#!/bin/sh qemu-system-x86_64 -hda 仮想ディスク名 -m 1024 -monitor telnet::4444,server,nowait -vnc :0 -daemonize -cdrom イメージ名 -boot d
これで、ゲストOSを操作するための qemuプロンプトが立ち上がるので、インストールを終わらせる。
qemuから仮想マシンをOFF
今の状態だと、cdromからブートする設定になってるので、ディスクブートするように直す。
$ telnet localhost 4444 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. QEMU 0.12.2 monitor - type 'help' for more infomation (qemu) q ←コマンド入力 Connection closed by foreign host.
- bsd-start.sh をディスクブート用に書き直して(cdromブートの部分を消した)
#!/bin/sh qemu-system-x86_64 -hda 仮想ディスク名 -m 1024 -monitor telnet::4444,server,nowait -vnc :0 -daemonize
- 仮想マシンをON
. ./bsd-start.sh
yum -y install qemu-kvm yum -y install libvirt
ちなみに、qemu、kvm、libvirtの関係についてはこちら。 【仮想化】KVMとqemuとlibvirtの違い・関係 – ZacoDesign