はじめに
今回は前回のVirtual Machine Additions for Linux を Fedora 9 で使うの補足です。
免責の宣言
Virtual Machine Additions for Linux は Fedora 9 向けにリリースされたソフトウェアではありません。私が書いた文書によって損害を受けることがあったとしても一切責任を負いません。また Microsoft も筆者とは無関係であり、責任を負う立場にありません。あくまでも自己責任においてのみ、このメモの内容を用いなければなりません。
カーネルのバージョンアップ
Fedora 9 の Linux カーネルのバージョンが前回執筆時の 2.6.25.6-55.fc9 から 2.6.25.9-76.fc9 に上がりました。この関係で Virtual Machine Additions(VM Additions)のカーネル・モジュールも再構築する必要があります。これを実際に行う方法についてログを交えて解説したいと思います。
なお、前回の設定した以後にパッケージのバージョンアップでカーネルを更新した環境を前提としています。そうではない場合は前回のメモを参考にインストールする必要があります。
まず「端末」(アプリケーション→システムツール→端末)を起動します(もちろん外部から ssh で接続しての操作でも大丈夫です)。その後 su – コマンドでルートに切り替えます。パスワードには root のパスワードを入力します。
[sakaki@localhost ~]$ su - パスワード:(ここでrootのパスワードを入力する)
カーネル・モジュールのあるディレクトリに移動します。
[root@localhost ~]# cd /lib/modules/vmadd/module/
カーネル・モジュールの make
を行います。
[root@localhost module]# make make -C /lib/modules/2.6.25.9-76.fc9.i686/build modules SUBDIRS=/lib/modules/vmadd/module M=/lib/modules/vmadd/module make[1]: ディレクトリ `/usr/src/kernels/2.6.25.9-76.fc9.i686' に入ります CC [M] /lib/modules/vmadd/module/vpc-mod.o /lib/modules/vmadd/module/vpc-mod.c: In function ‘vpc_open’: /lib/modules/vmadd/module/vpc-mod.c:188: 警告: assignment discards qualifiers from pointer target type /lib/modules/vmadd/module/vpc-mod.c:189: 警告: the address of ‘vpc_fops’ will always evaluate as ‘true’ /lib/modules/vmadd/module/vpc-mod.c: In function ‘init’: /lib/modules/vmadd/module/vpc-mod.c:787: 警告: passing argument 2 of ‘request_irq’ from incompatible pointer type CC [M] /lib/modules/vmadd/module/vpc-utils.o LD [M] /lib/modules/vmadd/module/vmadd.o Building modules, stage 2. MODPOST 1 modules CC /lib/modules/vmadd/module/vmadd.mod.o LD [M] /lib/modules/vmadd/module/vmadd.ko make[1]: ディレクトリ `/usr/src/kernels/2.6.25.9-76.fc9.i686' から出ます
前回と同様に警告が出ていますが make
は成功しています。
ここで構築したカーネル・モジュールをインストールします。インストールの方法は make vmadd-install-module
です。
[root@localhost module]# make vmadd-install-module make -C /lib/modules/2.6.25.9-76.fc9.i686/build modules SUBDIRS=/lib/modules/vmadd/module M=/lib/modules/vmadd/module make[1]: ディレクトリ `/usr/src/kernels/2.6.25.9-76.fc9.i686' に入ります Building modules, stage 2. MODPOST 1 modules make[1]: ディレクトリ `/usr/src/kernels/2.6.25.9-76.fc9.i686' から出ます mkdir -p /lib/modules/2.6.25.9-76.fc9.i686/misc install -m 0400 -o 0 -g 0 vmadd.ko /lib/modules/2.6.25.9-76.fc9.i686/misc
続いてカーネル・モジュールを認識させるため depmod
コマンドを実行します。
[root@localhost module]# depmod
インストールしたカーネル・モジュールのファイルを SELinux のための属性を他のカーネル・モジュールと同様に変更します。
[root@localhost module]# chcon system_u:object_r:modules_object_t:s0 /lib/modules/`uname -r`/misc [root@localhost module]# chcon system_u:object_r:modules_object_t:s0 /lib/modules/`uname -r`/misc/vmadd.ko
以上でバージョンアップした Linux カーネルに対応する VM Additions のカーネル・モジュールのインストールが終了です。これによってサービスを起動できるようになっていることを確認できるはずです。
マウス・ドライバとディスプレイ・ドライバ
前回使わなかったマウス・ドライバとディスプレイ・ドライバについて補足しておきたいと思います。マウス・ドライバとディスプレイ・ドライバは vmadd-x11-2.0-1.i386.rpm
というパッケージに含まれています。このうち、Fedora 9 で使用できるのはマウス・ドライバのみです。ディスプレイ・ドライバについては、関連するファイルの構成が変更されたため使用することができなくなったようです。無理やり組み込んだところ Xorg が起動しなくなりました。また、マウス・ドライバについても「リモート コントロール」に対するクライアント側のネイティブなマウス・カーソルの位置との統合ではなく、Virtual Server の制御との統合が行われることとなります(Virtual Server の制御と統合することにより、スクリプトからマウス・カーソルの制御が行えるようになります)。このため、このドライバを Virtual PC で導入する理由はほとんどないと思われます。
このパッケージは既存の一部のファイルを置き換えて動作するようになっています。このため元のファイルに戻す可能性がある場合にはあらかじめ該当するファイルを別名あるいは別ディレクトリに保存しておく必要があります。該当するファイルは /usr/lib/xorg/modules/input/mouse.so
です。
このマウス・ドライバを Fedora 9 で導入する手順をログを交えて紹介したいと思います。
まず「端末」(アプリケーション→システムツール→端末)を起動します(もちろん外部から ssh で接続しての操作でも大丈夫です)。その後 su – コマンドでルートに切り替えます。パスワードには root のパスワードを入力します。
[sakaki@localhost ~]$ su - パスワード:(ここでrootのパスワードを入力する)
続いてこのマウス・ドライバを含む rpm パッケージが想定するディレクトリ構成を再現する必要があります。このための操作を以下に示します。
[root@localhost ~]# cd /usr [root@localhost usr]# mkdir X11R6 [root@localhost usr]# cd X11R6 [root@localhost X11R6]# mkdir lib [root@localhost X11R6]# cd lib [root@localhost lib]# mkdir modules [root@localhost lib]# cd modules [root@localhost modules]# ln -s /usr/lib/xorg/modules/drivers/ drivers [root@localhost modules]# ln -s /usr/lib/xorg/modules/input/ input
モジュールをインストールするために Virtual Machine Additions for Linux の ISO イメージをキャプチャします(Virtual Server であれば既知の ISO イメージの一覧に現るはずです)。ローカル・ログインではない場合は別途マウントの作業が必要ですが、今回はオート・マウントされたものとして先に進みます。
マウントした ISO イメージのあるディレクトリにカレント・ディレクトリを切り替えます。
[root@localhost ~]# cd /media/VMAdditionsForLinux/
マウス・ドライバとディスプレイ・ドライバを含む rpm
パッケージをインストールします。
[root@localhost VMAdditionsForLinux]# rpm -ivh vmadd-x11-2.0-1.i386.rpm --force 準備中... ########################################### [100%] 1:vmadd-x11 ########################################### [100%]
あとは Xorg を再起動すれば更新したマウス・ドライバが有効になります。Ctrl キー + Alt キー + Back Space キーで Xorg を再起動するか、ログインしなおせば有効になります。
なお、このマウス・ドライバを導入すると起動時の各種デーモンを起動中の画面でマウス・カーソルが動かなくなるという問題が発生します。これは Virtual Machine Additions for Linux のカーネル・モジュールが読み込まれるのがマウス・ドライバよりも遅いことが原因です。Fedora 9 の構成上、これは回避できない問題でしょう。
まとめ
これで前回書ききれなかったことを含めて、Virtual Machine Additions for Linux を Fedora 9 に適用する関連のメモは書き終えることができたと思います。できるなら、最近の Linux に対応した Virtual Machine Additions for Linux の新バージョンをマイクロソフトが公開してくれると最高なのですが…。