vmware-tools のインストール (kernel 2.6.16, X.Org 7.0) (2006/04/29)
カーネル 2.6.16 及び X.Org 7.0 の Debian GNU/Linux に vmware-tools をインストールしました.いろいろトラブルがあったので,それらについて書きます.
本筋とは異なる話ですが,vmware-tools のインストールには,カーネルをコンパイルしたヘッダが必要であったので,以前は,vmware-tools をインストールするのに,わざわざカーネルを構築していました.カーネルは debian パッケージで入れていたので,次のようにしてカーネルを構築していました.
# apt-get install linux-source-2.6.x # cd /usr/src; tar jxvf linux-source-2.6.x.tar.bz2 # ln -s linux-source-2.6.x linux # cd linux; cp /boot/config-2.6.x-1-686 .config # make-kpkg clean # make-kpkg --append_to_version -1-686 --initrd kernel_image
しかし,VMWare 上のゲスト OS で構築しているためか,結構な時間がかかります.カーネルをコンパイルしたときのヘッダファイルなら,パッケージになっていないかと思い,調べたたら,次のものがありました.
# apt-get install linux-headers-2.6.x-1-686
これで,インストールされたヘッダファイルのディレクトリの場所を示せばオーケーですでした.
ところが,カーネルのバージョンが 2.6.16 になってから,ヘッダファイルの読み込みで次のエラーが出るようになりました.
The kernel defined by this directory of header files does not have the same address space size as your running kernel.
そこで,vmware-tools の tar ball 内の bin/vmware-config.pl の該当部分をコメントアウトしました.
#if ($header_page_offset =~ /[0-9a-fA-F]{8,}/) { ## We found a valid page offset # if (defined($gSystem{'page_offset'}) and # not (lc($header_page_offset) eq lc($gSystem{'page_offset'}))) { # if ($source eq 'user') { # print wrap('The kernel defined by this directory of header files does ' # . 'not have the same address space size as your running ' # . 'kernel.' . "\n\n", 0); # } # return ''; # } #}
これでうまくいったと思ったたら,今度は,X.org のところで次のエラーでストップします.
Detected X.org version 7.0 Problem extracting verion of X.org Execution aborted.
これは,X.Org 7.0 になった影響です.同じようにして,bin/vmware-config.pl で X.Org のバージョンで動作を変更する部分を次のように変更しました.
if ($major == 6) { ... <<省略>> ... fix_X_link('6'); } elsif ($major == 7 && $minor == 0) { backup_file_to_restore($gXVideoDriverFile, 'OLD_X4_DRV'); if (file_name_exist($gXVideoDriverFile)) { unlink $gXVideoDriverFile; } # Install the drivers. my %p; undef %p; install_file(db_get_answer('LIBDIR') . '/configurator/XOrg/6.8.x' . ($gIs64BitX ? '_64' : '') . '/vmware_drv.o', $gXVideoDriverFile, \%p, 1); install_file(db_get_answer('LIBDIR') . '/configurator/XOrg/6.8.x' . ($gIs64BitX ? '_64' : '') . '/vmmouse_drv.o', $gXMouseDriverFile, \%p, 1); fix_X_link('6'); } else { error ('Problem extracting verion of X.org' . "\n\n"); }
elsif 文の中身は,X.Org 6.8 のものとしました.というのも,X.Org 7.0 は,X.Org 6.8 と内容的には一緒とどこか読んだためです.ただ,ディレクトリ構成が変更したため,次のディクトリを作成する必要があります.
# mkdir /usr/X11R6/lib/modules/input
以上の修正で,Debian GNU/Linux のカーネル 2.6.16 及び X.Org 7.0 において,vmware-tools のインストールができました.
梅原 大祐 / UMEHARA Daisuke umehara@kit.ac.jp Last modified: 2020/05/01 15:37