VirtualBox の共有フォルダ機能を導入するためのアレコレです
いろいろハマったのでメモ。
構成概要
…ということがやりたい。
手順概略
- (VirtualBox内CentOS) VBoxLinuxAdditions のインストール
- (Windows) フォルダ作成
- (VirtualBox) 共有フォルダ設定の追加
- (VirtualBox内CentOS) マウント
- (VirtualBox内CentOS) グループ設定
手順1:(VirtualBox内CentOS) VBoxLinuxAdditions のインストール
CentOSにて:
# yum -y install gcc make kernel-devel libdrm libdrm-devel # cd /usr/src/kernels/2.6.32-431.3.1.el6.x86_64/include/drm/ # ln -s /usr/include/drm/drm.h drm.h # ln -s /usr/include/drm/drm_sarea.h drm_sarea.h # ln -s /usr/include/drm/drm_mode.h drm_mode.h # ln -s /usr/include/drm/drm_fourcc.h drm_fourcc.h # mkdir /mnt/cdrom # mount -r /dev/cdrom /mnt/cdrom # cd /mnt/cdrom # ./VBoxLinuxAdditions.run
これがスムーズにいけば良いんだけど、まぁハマる。
ハマりどころをこの記事の下のほうに書いておきました。
手順3:(VirtualBox) 共有フォルダ設定の追加
VirtualBox にて、[デバイス] - [共有フォルダー設定] - [新規共有フォルダーを追加] で、目的のディレクトリを追加する。
手順4:(VirtualBox内CentOS) マウント
手順3の共有フォルダ設定の追加で、「自動マウント」にチェックをしておくと、
自動で、「/media/sf_hoge」というディレクトリにマウントが行われる。
ってことで、あとは目的のディレクトリにシンボリックリンク貼ればOK。
# ln -s /media/sf_hoge /var/hoge
手順5:(VirtualBox内CentOS) グループ設定
マウントされたディレクトリ内のファイルは、以下のようにグループが vboxsf になるので、
$ ls -l /var/hoge … -rwxrwx---. 1 root vboxsf 14 Jan 9 08:22 aa drwxrwx---. 1 root vboxsf 0 Nov 16 18:44 blog …
vboxsfグループに普段使うユーザを追加しておくと良いです。
# gpasswd -a (ユーザ名) vboxsf
ハマりどころ
「Building the main Guest Additions module」が失敗する
# ./VBoxLinuxAdditions.run … Building the main Guest Additions module [FAILED] (Look at /var/log/vboxadd-install.log to find out what went wrong) … # tail /var/log/vboxadd-install.log … /tmp/vbox.0/Makefile.include.header:97: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again. Stop. …
KERN_DIR を指定しろと言われて指定しても…
# KERN_DIR=/usr/src/kernels/2.6.32-431.3.1.el6.x86_64 ./VBoxLinuxAdditions.run # tail /var/log/vboxadd-install.log /tmp/vbox.0/Makefile.include.header:106: *** Error: KERN_DIR does not point to a directory. Stop.
ダメぽ。どうやら「uname -r」が示すバージョンと KERN_DIR が示すディレクトリが食い違っているとダメらしい。
ってことで、こういうときには、
# yum -y update # shutdown -r now
という暴力的な解決を。
参考:
error: drm/drm.h: No such file or directory
# ./VBoxLinuxAdditions.run … Building the OpenGL support module [FAILED] (Look at /var/log/vboxadd-install.log to find out what went wrong) … # tail -1000 /var/log/vboxadd-install.log … include/drm/drmP.h:76:21: error: drm/drm.h: No such file or directory include/drm/drmP.h:77:27: error: drm/drm_sarea.h: No such file or directory …
drm.h 等のヘッダが参照できていない。
以下コマンドでシンボリックリンクを作っておくと良い。
# cd /usr/src/kernels/2.6.32-431.3.1.el6.x86_64/include/drm/ # ln -s /usr/include/drm/drm.h drm.h # ln -s /usr/include/drm/drm_sarea.h drm_sarea.h # ln -s /usr/include/drm/drm_mode.h drm_mode.h # ln -s /usr/include/drm/drm_fourcc.h drm_fourcc.h
参考: