気の向くままに辿るIT/ICT/IoT
システム開発

QEMUでLinux/BSD/UNIX系OSのインストールと起動

ホーム前へ次へ
QEMUでLinux/BSD/UNIX系OSのインストールと起動

OS仮想マシン

QEMUでLinux/BSD/UNIX系OSのインストールと起動

仮想化ソフトウェア

QEMU/QtEmu

ホスト検証マシン

OS : Windows Vista Home Premium
SP2/Service Pack 2
x86/32ビット
CPU : Intel Core2 4300@1.80GHz
CPU Architecture : x86/32bit
仮想化支援機能(Intel VT-x)なし
RAM : 1GB

実用耐性

このスペックでQEMUならOSは?

ターゲットCPU

CPU Architecture : x86/32bit

ゲスト(サクサク作動)

SliTaz
SliTaz デスクトップ
DSL/Damn Small Linux
DSL/Damn Small Linux デスクトップ
FreeBSD
FreeBSD
Frenzy
Frenzy LiveCD版 CUI
Gentoo
Gentoo LiveCD版 CUI
NetBSD
NetBSD
OpenBSD
OpenBSD
Plop Linux
Plop Linux CUI
Tiny Core Linux/Core
Tiny Core Linux / Core

ゲスト(起動・動作やや遅)

Tiny Core Linux/TinyCore
Tiny Core Linux / TinyCore
Tiny Core Linux/CorePlus
Tiny Core Linux / CorePlus

ゲスト(起動・動作重め)

Plop Linux
Plop Linux Fluxbox デスクトップ
Plop Linux
Plop GNOME-Tiny デスクトップ

ゲスト(起動・動作重過ぎ)

Puppy lupu528jp
Puppy Linux デスクトップ

 マシンエミュレータであり、プロセッサバーチャライザーでもあるQEMUは、他の仮想化ソフトウェアと違ってCPU等環境の異なるマシン間でOSやOS上で動作可能なプログラムを実行可能で、その仕組み上、他の仕組みの仮想マシンソフトウェアに比し、オーバーヘッドが大きく、ホストマシンには、より高性能なスペックが要求されます。

 ここでは、QEMUで作成した仮想マシンにBSD/UNIX/Linuxをインストールしたり、LiveCD(イメージ)を実行してみます。

想定

 一例としてIntel デュアルコア1.8GHz、メモリ1GB、OSがWindows Vistaというホストマシン上のQEMUでLinux/BSD/UNIXを実行する場合、どういったOSをインストールし、起動、実行できるのかを確認してみるものとします。

 VirtualBoxVMware Playerと比し、ゲスト・ターゲットとして実用的に利用可能なOS(の動作要件)は、自ずと限定されるので、これらで検証確認したLinux/BSD/UNIX系OSの中から任意に候補を抽出し、QEMUで検証してみるものとします。

 また、FreeBSDとOpenBSD、公式サポートされているのでホスト環境に原因があるのかもしれませんが、何故かVirtualBoxではデバッガが起動し、上手くいかなかったものの、VBoxSDLコマンドを使うとインストール及び起動できたNetBSDもインストール及び起動してみることにします。

 QEMUは、異なるCPU間でCPUを丸ごとエミュレートできるわけですが、ここでは実質、x86 CPU対応版OS(Windows)上におけるx86 CPU対応版PC-UNIX/BSD/Linuxのインストール・起動のみに限定するものとします。

QEMU実行環境

 QEMUは、各種アーキテクチャ対応マシンのOS上はもちろん、Windows上のCygwinやMinGWやGUIフロントエンドでも仮想マシンの作成・実行が可能でフリーソフトウェアで仮想マシン作成も可能なQEMU on Windowsや開発は終了しているようですが、GUI操作でより簡単なQtEmuなどもあり、様々な実行環境があります。

 また、ホストが耐え得るゲストOSを試す場合に限りますが、Windows上で既存のISOディスクイメージをQEMUで実行確認したいだけならqemu.exe上にisoディスクイメージをドラッグ&ドロップしたり、例えば、マルチセッションCD作成用のフリーソフトウェアであるXBootの作成イメージ確認用機能であるQEMU実行環境にISOディスクイメージをドラッグ&ドロップするだけで起動できたりします。

 但し、qemu.exeのダブルクリックは厳禁、やってしまうとホストマシンがパニックを起こしてブルーバック画面を表示した後、まるで一気に力が抜けていくかのようにシャットダウンしてしまいます。

 QEMUの仮想マシン作成・実行環境については、http://wiki.qemu.org/Linksにいろいろ情報があるのでお好みのものを選ぶとよいでしょう。

QEMUで仮想マシンの作成とOS起動・操作

 このホスト環境においてQEMUで実行し、実用に耐えるPC-UNIX、BSDやLinuxの一例としては、デスクトップなら超軽量クラスDSL/Damn Small Linux、35MB未満で動作することを目指すSliTaz、CUIでは、FreeBSD、FreeBSDベースのFrenzy、NetBSD、OpenBSD、Gentoo、Plop Linux等々ならサクサク動作します。

 また、DSL主要開発者の1人がプロジェクトを立ち上げ、やはり、超軽量を目指したTiny Core Linuxの内、CUIのCore(5.1)はサクサク作動、ウィンドウマネージャにOpenboxを使ったTinyCore(4.5.2日本語版/5.1オリジナル版)は、ほんの少し、より充実したCorePlus(4.5.2日本語版/5.1オリジナル版)は、その読み込みにかかる分、それにプラスアルファして起動が、やや時間がかかる程度、起動後は、何れも、若干動作遅延を感じなくもないものの、実用に耐えないほどでもありません。

 一方、起動だけでいっぱいいっぱいなのは、Plop Linuxの内、軽量デスクトップ環境(Fluxbox/GNOME-Tiny)、Puppy(Lupu-528JP)です。

 VirtualBoxでは問題ないのにブータブルCD(イメージ)からの起動早々にエラーとなるのが、Arch Linux、ArchBang、他方、VirtualBoxでも同様に結構、スムースに起動開始したものの、GUI起動のところで、断念したのがGUI版Slaxです(が、Slaxは、VMware Player 3.1.6でやってみたところ起動できました)。

 ホストマシンのOSが、よりCPUやメモリ消費量の少ないものであれば、もう少し、ゲストとして起動できるOSの幅も広がるでしょうし、もちろん、マルチコアでも、より高スペック、更にはクアッドコア。。。メモリも2GB、4GB、8GB。。。となれば、この限りではなく、メモリが2GBあれば、少なくとも起動までなら、たいていのLinux/BSD/UNIXの検証は可能でしょうし、そもそもCPUアーキテクチャーを越えて検証できるという点からも、その数は相当数にのぼるでしょう。

 ちなみにメモリ4GBは、PAE付き32bitか64bitでないと4GBめいっぱい利用することはできず、6GB、8GBとなると必然的に64bitである必要があり、32bitマシンでは対応がバラバラですが、近年の64bitマシンならIntel VTやAMD-Vなどのハードウェア仮想化支援機能がほぼ標準搭載されているはずなのでQEMUでとは言わなくとも64bitマシンをゲストとすることもできるので更に検証できる幅が広がります。

NetBSD

 それなりに情報が増えたので別途QEMUでNetBSDの起動とインストールページを作りました。

備考

 NetBSDでOpenboxにConkyを入れた際に気づいたのですが、QEMU(QtEmu)で作成した仮想マシンに指定したRAMよりも数MB少ないものとして動作していました。

 RAM量に注目していくつかのRAM量で確認してみたところ、今回利用したQtEmu 1.0.5で作成した仮想マシン上のNetBSDでは、指定値とConky表示を比較すると約14MBの差がありました。

 ただ、NetBSDでは、スワップ領域も作成しており、それなりにスワップも消費、その際利用したOpenbox起動直後にスワップがゼロとなったのは、今回の検証においては、仮想マシン指定RAM容量96MB、Conky表示RAM総容量81.3MBの時でした。

 今更ながらRAM量が重要な場合には、興味深い点となるのではないでしょうか。

SliTaz
 デスクトップ環境含め、極小Linuxを目指したオリジナル
Damn Small Linux
 KONPPIXベースでデスクトップ環境を備えつつ、極小を目指したLinuxディストリビューション
FreeBSD
 FreeBSDは、特許絡みで386BSD、4.3BSD Net/2、最終的に4.4BSD-Liteをベースとした初版オープンソースFreeBSD 2.0が1994年11月リリースされるに至ったBSD系ディストリビューション
Frenzy
 FreeBSDベースのLiveCD
Gentoo
 オリジナルLinuxディストリビューション
NetBSD
 NetBSDは、386BSDからマルチプラットフォーム且つ製品レベルの品質を持ったBSDベースのOSを作り出すことを目的としてフォークし、オープンソースとしてはFreeBSDより若干早く、0.8が1993年4月、1.0が1994年10月にリリースされたBSD系ディストリビューション
OpenBSD
 OpenBSDは、NetBSDからセキュリティの強化を目的に派生したBSD系ディストリビューション
Plop Linux
 Plop Boot Manager等を配布しているサイトで同じく配布されているLinuxディストリビューション
Puppy Linux
 デスクトップ環境含め、軽量を目指したオリジナルLinuxでLupuはその派生

ホーム前へ次へ