開発環境
印刷用ページへ

VirtualBoxの設定【GNU開発ツール用 仮想ハードディスクイメージ使用】

書籍"GNU開発ツール"のために用意された仮想ハードディスクイメージを用いて、VirtualBox上にDebian Sarge/GNU開発環境を構築します(ホスト環境 Mac OS X)。

Debian Sarge仮想ハードディスクイメージ

本インストールでは、別項の解説に基づいて作成した、Debian Sarge 3.1 r8の仮想ハードディスクイメージを使用します。zip形式で圧縮してありますので、展開した上でご利用ください(展開ファイル名 Debian Sarge.vdi, 展開ファイルサイズ 484MB)。

展開後のファイル Debian Sarge.vdi は、ダウンロードフォルダ、もしくはデスクトップなどに配置しておいてください。

Oracle社による仮想環境 VirtualBox

VirtualBoxは、x86/Intel64/AMD64 PCアーキテクチャを対象とした仮想環境であり、ORACLE社がソースリストと共に公開しています。

VirtualBoxが稼働するホスト環境としては、Windows、Mac OS X、Linux、Solarisの4種類が用意されています(ホスト:VirtualBoxを起動するOS、ゲスト:VirtualBoxの仮想環境上で実行されるOS)。本稿では、Mac OS X上での操作手順を紹介しています。

仮想マシンの新規登録

VirtualBoxを起動すると、次のようなマネージャ画面が表示されます。

これから、新しい仮想マシンを作成するので、ウィンドウ上段左側の"新規"アイコンをクリックします。

作成する仮想マシンの名前と、インストール予定のOSを指定します。今回は、Debian Sarge用の仮想マシンを作成しますので、名前に"Debian Sarge"と入力しました。VirtualBoxは名前を解析し、OSのタイプを"Linux"、ディストリビューションを"Debian"と、自動的に選択します。適切に選択されなかった場合は、手動でプルダウンメニューから指定します。

次に、仮想マシンで使用するメモリ容量を指定します。今回は、デフォルトの"384MB"のままで良いでしょう。

最初に、デフォルトで搭載されているSATAコントローラを削除する必要があるため、ここでは"仮想ハードドライブを追加しない"を選択します。

警告メッセージが表示されますが、無視して"続ける"を選択します。

以上で仮想マシンの初期セットアップは完了し、新たに登録された"Debian Sarge"のマシン環境がマネージャー上に表示されます。

initial-settings

上記内容を見ると、ハードディスクのコントローラにはSATAインターフェース、EthernetネットワークアダプタにはIntel PRO/1000MTが接続されています。

仮想ハードディスクファイルの配置

この時点で、ユーザのホームディレクトリ上には、"VirtualBox VMs"フォルダの下に、"Debian Sarge"(最初に指定した名前)フォルダが作成されています。

ダウンロードした、Debian Sarge.vdi ファイルを Debian Sarge フォルダ内部に移動してください

IDEインターフェースへの切り替え

最新版のOSでは、上記のハードウェア環境で問題ありませんが、Debian Sargeのインストーラは、SATAコントローラを認識できないため、インストール途中で異常終了を引き起こします。

そこで、旧式のインストーラが正しく認識できるように、ハードディスクインターフェースを古典的なIDEインターフェースへ切り替えます。

SATAコントローラの削除

まず最初に、VirtualBoxマネージャに表示されているDebian Sarge仮想マシンの"ストレージ"をクリックします(マネージャー上部の設定ボタンからストレージを選択することも可能)。

SATAコントローラを選択した上で、サブメニューを表示させ、"コントローラーを除去"という項目を実行します。

IDEコントローラにホストのCD-ROM/DVD-ROMドライブが接続されている場合

設定状態によっては、IDEコントローラにホストの光学ドライブが、接続されていることがあります。

ホストの光学ドライブ(上記例では"MATSHITA DVD-R")を選択し、右側のウィンドウに表示されているCD/DVDドライブのプルダウンメニューをクリックすると、IDEコントローラの4つの接続先が表示され、ホストドライブが接続されている箇所には、チェックマークが表示されます(上記例ではIDEセカンダリマスター)。

IDEコントローラには、プライマリとセカンダリの2チャンネルが存在し、それぞれマスターとスレイブを接続することができます。昔のPCでは、ハードディスクドライブをプライマリマスター、光学ドライブをセカンダリーマスターに接続する習慣がありました(CPUの割り込み番号がプライマリ・セカンダリに独立して割り当てられているため、より効率的な転送が期待できる)。

IDEコントローラにホストドライブが接続されている場合、ホストの光学ドライブにCD-Rを挿入すると、ゲスト環境から直接アクセスできるという利点があります。しかし、ゲスト環境が動作している間は、ホスト環境上で光学ドライブを扱えないという問題も生じます。

VirtualBoxには、CD-ROMやDVDなどのISOファイルイメージを仮想ドライブに見立てる機能が用意されているため、物理的なホスト光学ドライブは不要になります。そこで、CD/DVDドライブのプルダウンメニューの右側にある、CDアイコンをクリックし、"仮想ドライブからディスクを除去"を実行します。

先ほどまで表示されていた、ホストの光学ドライブ名が消え、""と表示されます(仮想光学ドライブにメディアが未挿入であることを意味)。この結果、ホスト上の光学ドライブ本体はVirtualBoxから解放され、ホスト環境の支配下に戻ります。

IDEハードディスクの追加

"コントローラー:IDE"の右横には、一枚の円盤および三枚積み上げられた円盤、計2種類のアイコンが並んでいます。一枚の円盤は光学ドライブ、三枚の円盤はハードディスクドライブを意味しており、それぞれをクリックすると、新しいドライブが追加されます。今回は、Debian Sarge用にハードディスクドライブを追加します。

仮想ハードディスクファイルには、用意してある Debian Sarge.vdi を指定します。"既存のディスクを選択"し、

"VirtualBox VMs/Debian Sarge"フォルダの中にある、Debian Sarge.vdi イメージをオープンすれば、

Debian Sarge.vdiが仮想ハードディスクドライブとして、IDEプライマリマスターに接続されます。

フロッピィディスク・ドライブの追加

せっかくですから、この機会に、仮想フロッピィディスクも使用できるようにしておきましょう。

ストレージ画面の下、4つ並んでいるアイコンのうち、右から2番目のアイコンをクリックすると新しいコントローラを追加することができます。

メニューの最下段にある、"フロッピーコントローラーを追加"を実施します。

マネージャ上に新しくフロッピィコントローラが表示されていますので、右側のフロッピィアイコンをクリックし、フロッピィドライブを追加します。

起動フロッピィディスクを使用する場合は、"ディスクを選択"をクリックし、ディスクイメージ(ファイルサイズは1.44MiB)を指定します。Debian SargeのインストールではCD-ROMを使用するため、"空のドライブ"を選択してください。

フロッピィコントローラの下にフロッピィデバイス0が接続され、その中身は""と表示されています。これは、先ほどの光学ドライブと同様、ブランクディスクという意味ではなく、ディスケットが挿入されていないことを指しています。

以上で、ストレージ関連の初期設定は完了です。

起動順序の確認

PCが起動するためには、ブートローダー(初期化用プログラム)が書き込まれた、起動ディスクが必要になります。今回の仮想マシンでは、ハードディスク・光学ディスク・フロッピィディスクの3種類のメディアから起動させることができますが、もしも3つが同時に装着されていた場合、どのデバイスから起動するかを定めたものが、起動順序(initial boot sequence)です。

本物のPCでは、BIOS設定画面から起動順序を指定しますが、VirtualBoxでは"システム"から設定します。

29.boot sequence

起動順序の横にデバイスが並んでいますが、上から順番にスキャンされ、実際に接続可能であれば起動ディスクとして選択されます。デフォルトでは、フロッピィディスク⇒CD/DVD-ROM⇒ハードディスクの順になっています。チェックマークが外れていたり、起動順序がずれていたりすると、仮想マシンを起動できませんから、設定を確認しておきましょう。

ネットワーク・インターフェースの設定

VirtualBoxがサポートするネットワークは、デフォルトで"NAT (Network Address Translation)"が設定されています。NAT機能により、ゲスト環境から外部ネットワークには自由にアクセスできるのですが、ホストとゲスト間での通信はできません

SSH接続などで、ホストからゲスト、ゲストからホストにアクセスする必要がある場合は、"ブリッジアダプター"を選択します(ゲストのIPアドレスは、ホストと同じネットワークアドレス上に割り当てられる)。

次に、仮想マシンに接続する、ホストのネットワークインターフェースを指定します。"名前"の横に、現在接続されているホストのネットワークインターフェースが表示されていますが、クリックすると利用可能なインターフェース全てが表示されます。上記例では、MacBook Proの有線LAN(en0)がデフォルトで設定されており、次に無線LAN(en1)が並んでいます。

ホストが常に有線LANでネットに接続されていれば、"en0"のままで良いのですが、状況に応じて無線LANを使用する場合は、その度に"en1"へ切り替える必要があります。VirtualBoxには、ホストの利用状況に応じて、ネットワークインターフェースを自動的に切り替える機能はありません。

Debian Sarge用仮想マシンの完成

以上で、Debian Sarge用の仮想マシン設定は完了です。ポイントは下記の6点になります。

  • 仮想ハードディスクドライブ(Debian Sarge.vdi)は、IDEプライマリ・マスターに接続
  • 仮想光学ドライブは、IDEセカンダリ・マスターに接続(空)
  • フロッピィディスクコントローラおよび仮想フロッピィディスクドライブ(#0)を追加(空)
  • ネットワークは、ブリッジアダプターとして接続
  • ネットワークアダプタに有効なホスト・ネットワークインターフェースが、対応していることを確認(有線LAN en0:Ethernet, 無線LAN en1:Wi-Fi)
  • 起動順序を確認する(フロッピィディスク⇒CD/DVD-ROM⇒ハードディスク)

Debian Sargeの起動

それでは、出来たての仮想マシンを起動してみましょう。マネージャの上段にある緑の起動矢印をクリックすると、Debian Sarge仮想マシンがブートします。

画面では分かりませんが、仮想マシン内部ではBIOSの初期化処理がスタートし、ORACLE社とVirtualBoxのロゴイメージが表示されます。しばらくすると、

13.GRUB menu

ブートローダGRUBが起動し、OSの選択画面が表示されます。初期状態では、ふたつのエントリが登録されており、通常は先頭のエントリを使用します(2番目はリカバリーモード用)。

ブートメニューが表示されると自動的に5秒のカウントダウンが始まり、キー入力がなければ、先頭のエントリが起動されます。

login

様々な初期化メッセージがコンソール上に表示された後、ログインプロンプトが表示されます。

今回用意した Debian Sarge GNU開発ツール版の主要設定項目は、下記の通りです。

  • ホスト名 debian
  • IPアドレス割り当て DHCP
  • root パスワード gcc
  • ユーザアカウント名 gnu
  • gnu ユーザパスワード gcc

ログイン後は、直ちにpasswdコマンドでパスワードの変更を行ってください。

Debian Sarge 仮想マシンの終了方法

Debian Sargeを終了する場合は、必ずsudo haltを実行し、システム上のキャッシュをファイルシステムに反映した上で、仮想マシンを停止します。

gnu@debian:~$ sudo halt

Broadcast message from root (pts/0) (Thu Mar 14 19:42:48 2013):

The system is going down for system halt NOW!
gnu@debian:~$ Connection to 192.168.1.39 closed by remote host.
Connection to 192.168.1.39 closed.
MacBook:~ $

ブロードキャストメッセージがログイン中のユーザに送信された後、SSH接続が切断され、ホストのシェルプロンプトが表示されます。

Deactivating swap...done.
Unmounting local filesystems...done.
flushing ide devices: had hdc
Power down.

VirtualBoxのコンソール画面上に、"Power down."が表示されている事を確認できたら、仮想マシンの電源をOFFにします。

仮想マシンを終了するためには、仮想マシンウィンドウの赤いクローズボタンを押すか、仮想マシン名を副ボタンでクリックします(閉じる⇒電源オフ)。

後者の場合は、サブメニューを通じて一時停止やリセットなど、より細かな制御が可能です。

posted by Wataru Nishida.