VirtualBox 2 on Fedora 9 ハマりポイント

 

これまで、仮想化には VMware Server 1.0.x を使って来たのですが、Linux Kernel がアップデートされる度に、それに合った新しいパッチ vmware-any-any-update を入手してコンパイル作業をしなければなりませんでした。

しかし、こんな作業に時間を費やすのはもう嫌なので、思い切って Sun xVM VirtualBox (VirtualBox) に移行することにしました。

VirtualBox のインストールは簡単でしたが、いざ本格的に使おうという段階で、 次の設定で躓いたので、解決方法をメモしておきます(追加が出てきた場合は、この記事に追記します)。

  • ブリッジ接続の構成(2.0用)
    VirtualBox 2.1 では、この作業が不要簡単になりました。 add 
  • USBデバイスの認識
  • Linux Kernel または VirtualBox をアップデートした後

ブリッジ接続の構成(2.0用)

ブリッジ接続の構成は、その構成自体が分かりにくいためハマります。 これに気を取られて、更にファイアウォールの設定が抜けていたりすると、 追い討ちをかけられてしまいます。

まずは、ブリッジ接続では 3種類のインタフェースを構成する事を理解しておきます。

種別インタフェース備考
TAPvbox0仮想マシンのネットワーク設定で使う
Bridgebr0
Etherneteth0

これを踏まえて、br0 → eth0 → vbox0 の順にインタフェースの設定を進めていきます。

# su -

# yum install bridge-utils

# cd /etc/sysconfig/network-scripts/

# emacs ifcfg-br0             ← (1) インタフェース br0 の設定
DEVICE=br0
TYPE=Bridge
BOOTPROTO=none
ONBOOT=yes
DELAY=0
STP=off
IPADDR=192.168.0.7            ← ifcfg-eth0 からコピー
NETMASK=255.255.255.0         ← ifcfg-eth0 からコピー
GATEWAY=192.168.0.1           ← ifcfg-eth0 からコピー

# emacs ifcfg-eth0            ← (2) インタフェース eth0 の設定
‥‥‥‥‥
BRIDGE=br0                    ← 1行追加

# service network restart

# VBoxAddIF vbox0 alvin br0   ← (3) インタフェース vbox0 の設定(ユーザ alvin 用)

# ifconfig                    ← br0, eth0, lo, vbox0 が存在する事を確認

# exit
$

ファイアウォールの設定は、次の図のように br0 にチェックを入れるだけです。

仮想マシン(ここでは winxp とします)のネットワークを設定します。 この設定は GUI でも出来ますが、コマンドラインで設定することにします。 もし、仮想マシンが起動されていると設定に失敗するので、あらかじめ停止しておきましょう。 設定内容は、ネットワークアダプタの割り当てをデフォルトの「NAT」から「ホストインターフェース」に変更して、さらにインターフェース名に「vbox0」を設定します。

$ whoami
alvin

$ VBoxManage modifyvm "winxp" -nic1 hostif -hostifdev1 vbox0

最後に、仮想マシンを起動して、ゲストOSのネットワークを設定します。

なお、ここまでに行った設定は、Fedora を再起動しても保持されます。

参考: Bridge network interface on VirtualBox in Fedora 8

USBデバイスの認識

USBデバイスの認識は、/etc/fstab の設定がハマりポイントです。

OK: none /sys/bus/usb/drivers usbfs devgid=502,devmode=664 0 0
NG: none /proc/bus/usb        usbfs devgid=502,devmode=664 0 0

これを踏まえて、次のように設定します。

# groupadd usb                ← グループ usb を作成

# gpasswd -a alvin usb        ← グループ usb にユーザ alvin を追加

# id alvin
uid=500(alvin) gid=500(alvin) 所属グループ=500(alvin),100(users),501(vboxusers),502(usb)
                              ↑ 以下の devgid に設定する GID(502) を確認。

# emacs /etc/fstab
‥‥‥‥‥                    ↓ 1行追加
none /sys/bus/usb/drivers usbfs devgid=502,devmode=664 0 0

設定が終わったら、Fedora を再起動します。 そうすると、VirtualBox のゲストOSで USBデバイスが認識されます。

参考: USB Fix for VirtualBox on Fedora 8 Host - spodesabode.com

Linux Kernel または VirtualBox をアップデートした後

Linux Kernel または VirtualBox のどちらをアップデートした場合でも、VirtualBox を再コンパイルする必要があります。 これは、コマンド一発でできる簡単な作業です。

$ su -

# /etc/init.d/vboxdrv setup
Stopping VirtualBox kernel module                          [  OK  ]
Recompiling VirtualBox kernel module                       [  OK  ]
Starting VirtualBox kernel module                          [  OK  ]

# 

更新履歴

日付 内容
2008-12-19 追加 関連リンク
2008-10-26 追加 VirtualBox をアップデートした後
2008-10-06 追加 Linux Kernel をアップデートした後
2008-09-18 初版