仮想化ソフトウェアの1つVMware Playerで作成した仮想マシンのゲストOSには、様々なOSをインストールできますが、このページでは、Linux/BSD/UNIXディストリビューション(ディストロ)の中から任意に抽出し、当サイトにおいてVMware Player上で検証したLinux/BSD/UNIX系OSの内、NetBSDのインストール及び起動について記します。
今回は、NetBSD 6.1.2(boot.iso)を使用させて頂き、インストール直後のメニューから6.1.3にアップグレードしました。
NetBSDは、386BSDからセキュリティ強化と高速性、移植性を高めるべく派生し、後に4.4BSD-Liteの差分も取り込んだBSDです。
RAMについては、VMware PlayerにおけるNetBSD 6.1.2及び6.1.3(何れもCLIベース)では、(32MBでも起動はしますが、)48MB以上でスムースな起動を確認できました。
インストールやその他上記詳細は、QEMUにNetBSDをインストールをご参照ください。
当初、VirtualBox 4.2.12は、うまくいかなかったことから、調べるとなぜかハードウェア仮想化機能が必要とのことで検証ホスト環境は該当しなかったことから深追いせず、QEMUで試すとできたのでインストールできたことに満足し、放置していました。
=> VirtualBoxでも代替策としてVirtualBoxマネージャからではなく、端末からVBoxSDLコマンドを使用してNetBSDをインストール及び起動する方法がありました。
しばらくして手持ちの古いPCの内、Celeron 500MHz、RAM128MマシンのWin 98を以前から入れ替えようと思いつつ、Puppy LinuxやDamn Small Linux他は。。。と試したTiny Core Linuxも、更には、ArchBangもオーバースペック、それならArch LinuxでX Window Systemを入れて日本語環境を追加するのもありかとやってみたら、その後、最新版のRAM要求量が上がったのでCUI/CLIベースでより必要RAM量が少なく軽量だったNetBSDかOpenBSD+X+日本語環境にしてみようと思うに至り、結果、NetBSDでやってみることにしました。
インストールしてから、それなりに時間も経ち、何をどうしたか記憶もない中、NetBSDをインストール済みだったQEMU/QtEmuでやってみるとsuやsudoができない。。。マニュアルを見ると利用する為には、suをmake installしなくてはいけないらしき記述を見つけ、やってみるとなぜかmake installできず。。。suやsudoできないとpkg_addも一度ログアウトしてrootでログインし直さないとできないことになり、非現実的な為、一般ユーザーを使わず、rootで作業することにし、後述するようになんとなくQEMUからVMware Player用に仮想マシンを変換もしました。
ところが、アプリケーションソフトウェアを入れていき、ここまでできればいいかと思った矢先、VLC Media Playerを入れてみたら、なんとrootじゃ利用できないとの事。。。ほほぅ。。。セキュリティ上、安全なのは確かだ。。。それにしてもrootが使えないソフトウェアが出てくるとは。。。と思いつつ、ディスクもいっぱいになり、対策を講じる必要も出てきたため、ついでに、まだ試していなかったVMware Player 3.1.6の仮想マシンにインストールしてみることに。
結果、VMware PlayerにNetBSDを2度インストールしたのですが、(後述のように結局選択する必要はありませんでしたが、)最初は、VirtualBoxの件もあり、ホストは対応していないもののハードウェア仮想化が必要なのかと思い、そう言えば、VirtualBox 4.2.12と違ってVMware Player 3.1.6では、ホストが対応していないにも関わらず、ハードウェア仮想化の選択はできるようになっていたな。。。と。
選択が可能と言うことは。。。というわけで[プロセッサ]タブで[Intel VT-x または AMD-V]を選択してやってみたらなんと「ホストはハードウェア仮想化に対応してないからソフトウェア仮想化で対応するね」といった旨のメッセージが表示され、VMware Player 3.1.6で作成した仮想マシンに見事に(当然、相応のインストール時間はかかったものの、)あっさりNetBSDをインストールできてしまいました。
あまりにあっさりできたので気を良くしてインストール直後のメニューからUpgrade...というメニューを選んでやってみたら、これまたNetBSD 6.1.2から6.1.3へのアップグレードもできたようです。([Enter]で完了画面に遷移します。)
更にQEMU上のNetBSD環境(QtEMUでは、".img")も結構作り込んでいたのでVMwareでも使えるように[qemu-img convert]で.vmdkに変換してみたのが、ウィンドウマネージャOpenbox上でドローソフトGIMPが起動しているスクリーンショットです。
尚、変換したvmdkを割り当てる仮想マシン上は、[Intel VT-x/AMD-V]など仮想化支援機能を敢えて選択しなくても[自動]のままで起動しました。
が、訳合ってVMware Playerの仮想マシンにNetBSDを再度インストールすることにした際、気になってハードウェア仮想化支援機能を選ばずにやってみたら、すんなりインストールできました。
(そもそもNetBSD/i386でハードウェア仮想化支援機能を必要としないのは、普通だと思いますが、)VMware Player 3.1.6では、NetBSDをインストールするに当たりハードウェア仮想化支援機能が不要なのか、[自動]ということで自動的に有効になったのかはわかりませんが、そもそも敢えて選択する必要はありませんでした。
ちなみに仮想マシン作成にあたっては、[OSを後で指定する]にして後は適当にカラの仮想マシンを作ってできた.vmdkファイルと利用したい.vmdkファイルを差し替えればOKです。
変換後、VMware Playerの設定ではなく、NetBSD内で外部ネットワークに接続できない状態になっており、以下の作業を行い再起動(reboot)することにより、接続可能となりました。
あとタイムゾーンと日付時刻設定もしました。
ブラウザMidoriは、やはり、多少もっさり感があってDilloの高速な動作とは比べ物にならないものの、エミュレーション方法の違いによるオーバーヘッドからでしょう、QEMUよりは、VMware Player上の方が、かなり動作が軽いように思います。
FileZillaは、起動してしまえば、軽快ですが、起動と終了に少し時間がかかります。
システム情報ソフトをConkyからGkrellM2に変更、デフォルトでも結構クールですが、テーマも入れ替えてみました。
QEMU上では、仮想マシンRAM指定値145MB前後、Conky表示のRAM総容量127MB前後、VMware Player上での仮想マシンRAM設定は、148MB(VMwareの場合4MB刻み)、GkrellM2上のRAM最大量132MB(仮想化ソフトウェアが消費するメモリ)での感想です。
前述のようにNetBSDをVMware Player上で改めてインストールしてみることにしたのは、恥ずかしながら、NetBSDでディスク拡張がうまくできなかったからです。
qemu-imgでresizeしたり、VMware Playerの[拡張]機能で拡張したりしてfdiskで確認、disklabelで相応のサイズに修正した後、あれ?ファイルシステムは?というわけで対応にあぐね、LVM/Logical Volume Managerに行き着きました。
調べてみると記憶領域を抽象化、物理ディスク上に連続した記憶域があるか否かを気に留める必要もなく、簡単にパーティションの拡大・縮小が可能、物理ドライブを追加した場合も論理ボリュームとして利用でき、動的にサイズ変更可能、NetBSDは、MBR方式では基本パーティションにインストールする必要があるものの、まるでPC/AT互換機上のMS-DOS/Windowsの拡張パーティション内の論理パーティションのように使える柔軟性。。。などなど超便利なLVM。
これまでLVMを使ったことがなかったこともあり、他に方法があるのかさえわかりませんでしたが、LVMを利用するならインストールする際に明示的になにがしかの選択肢を選ぶ必要があるのかと思い、再インストールするに至り、マニュアルによるとNetBSD 6.xでは、FFSv2は、縮小は未対応との記述があったこともあり、カスタム設定できるところは一通り確認、するとFFSv2の表示があったので縮小もできるに越したことはないかとデフォルトのFFSv2をFFSv1に設定・変更してみました。
ちなみに先のマニュアルによるとLVMには、スナップショット機能もありますが、NetBSD上のLVMにおけるスナップショット機能については、今のところ実装が不完全な為、利用すべきでないとされています。
あれ?再インストールしなくてもLVM利用できたのかも?と思いつつも、どっちにしろ、まぁ、よしとします。
早速、やってみよう。。。[lvm pvcreate]して物理ボリュームを作成、[lvm vgcreate]してボリュームグループを作成し、[lvm vgdisplay]で確認、[lvm lvcreate]で論理ボリュームを生成し、[lvm lvdisplay]で確認、"After reboot all functional LV's in defined Volume group can be activated with command"とあるので再起動。。。したら、OSがないって言われた。。。
(先のマニュアルの[# lvm lvdisplay lv0/lv1]は、おそらく誤記と思われ、[lv0]を[vg0]として[# lvm lvdisplay vg0/lv1]にするとよいと思われます。)
調べてみるとRed Hatのページに下記の一文が。。。
/boot/ パーティションを除き、 物理ボリュームは 論理ボリューム に結合することができます。 ブートローダーが論理ボリュームグループを読み込むことができないため、 /boot/ パーティションを論理ボリュームグループ上に配置することはできません。 root (/) パーティションを論理ボリューム置く場合は、 /boot/ パーティションをボリュームグループ以外の場所に別途作成するようにしてください。
(NetBSDのマニュアルにも追記しておいた方がよいかと。。。)
というわけで、これを踏まえて再インストール。。。と思ったら、踏まえるも何もLVMの初歩的なところから調べてみるとrootパーティションは、カーネルやブートローダを含んでいる(通常、/boot)為、先の理由からLVMとしては、利用できない模様、というわけでLVMで利用できるのは、bootのあるパーティションとは別の同一ドライブ上の空き領域や他のディスク領域ということのよう、ということで一応解決。
それからしばらくしてFedoraでlvmで操作する機会に恵まれました。