CentOS

CentOS 5.5 on Windows Virtual PC(補足)

CentOS 5.5 on Windows Virtual PCの、時計がホスト側(Windows7)と9時間ずれてしまうのを修正する方法。まず、次のサイトからVirtual Machine Additionsのisoイメージファイルをダウンロードだ。

http://www.microsoft.com/downloads/en/details.aspx?FamilyId=BF12642F-77DC-4D45-AE4E-E1B05E0A2674&displaylang=en

ダウンロードしたファイルは\Program Files (x86)\Microsoft Virtual Server\Virtual Machine Additions(64ビット版Windows7の場合)にあるので、そこにあるisoファイルを、Virtual PCでDVDドライブとして設定する。

CentOS側で、そのDVDドライブ(実体はisoファイル)をマウントする。

# mkdir /dvd

# mount /dev/dvd /dvd

すると、/dvdディレクトリ内にいくつかのrpmパッケージが見える。この中のvmadd-timesync-2.0-1.i386.rpmをインストールすれば時刻が修正されるのだが、いくつか準備作業が要る(*1理由は後述)ので次の通りコマンドを打ち込む。

なお、事前にCentOSがネットにつながる設定にしておくこと。ブロードバンドルーター配下のホームネットワークにつながるPCなら、CentOSインストール途中でDHCPを選んでおけばばよい。

# yum install kernel-devel

 "Is this ok"と2回聞かれるのでyを入力。

 このとき、最新のkernel-develがインストールされ、そのバージョン番号はインストール済みのカーネルと異なる。だからシンボリックリンクを更新しないとvmadd-kernel-module-RHEL-2.0-1.i386.rpmのインストール時にコンパイルが失敗する。

# cd /lib/modules/2.6.18-194.el5

# rm build
   yを入力

# ln -s ../../../usr/src/kernels/2.6.18-238.9.1.el5-i686 build
 (このディレクトリ名は例。この時点で/usr/src/kernels/に存在するディレクトリ名を指定する。)

# yum install gcc

 "Is this ok"と1回聞かれるのでyを入力。

# cd /dvd

# rpm -ivh ./vmadd-kernel-module-RHEL-2.0-1.i386.rpm

  "No such file or directory"が3回表示されるがこれは無視してOK。

# rpm -ivh ./vmadd-timesync-2.0-1.i386.rpm

再起動だ。

# init 6

再起動後rootでログインし、

# date

を実行して、時刻が正しくなっていることを確認。

(*1準備作業が要る理由)

いきなりtimesyncをインストールしても時刻が同期されなかった。(readmeをちゃんと読んでいなかったからだけど。。。)そこで、timesyncでインストールされるファイルを確認

# rpm -qlpi vmadd-timesync-2.0-1.i386.rpm

すると、

/etc/init.d/vmadd-timesync

がインストールされると判明。これを直接起動

# vmadd-timesync start

すると、カーネルモジュールがインストールされていないというエラーが発生。

# lsmod | grep vm

で確認すると、確かに出てこない。そこで、vmadd-kernel-module-RHEL-2.0-1.i386.rpmでインストールされるファイルを確認。

/lib/modeles/vmadd/

にCのソースとMakefileがあった。それを

# make

してみると、エラー発生。おかしいなと、Makefile内で参照しているディレクトリを確認してみると、

/lib/modules/2.6.18-194.el5/

にある、

build

というリンクの参照先が間違っていた。

(×)../../../usr/src/kernels/2.6.18-194.el5-i686

(○)../../../usr/src/kernels/2.6.18-238.9.1.el5-i686

そこで、インストール済みCentOSのカーネルバージョンを確認。

# uname -r

の結果は、

2.6.18-194.el5-i686

であった。yumで最新のカーネルコンパイル環境をインストールしたことで、インストール済みカーネルのバージョン番号と合わなくなっていた。そこで、上記のような準備作業が要るというわけだ。

(補足2 マウスカーソルをWindows7とシームレスに動けるようにする試み)

上記作業の後、

# cd /dvd

# rpm -ivh vmadd-x11-2.0-1.i386.rpm

すれば、マウスカーソルがホストOSとシームレスになると思われた。しかし、これは元々CentOS5.5用じゃないからなのか。実際にやってみると、うまくいくどころかマウス操作が一切効かなくなってしまった。どうも、インストールされるマウスドライバ/usr/lib/xorg/modules/input/mouse_drv.soが正しく動作しない様子。32ビット版でも64ビット版でも。というわけで、これは実行せぬように。

| | コメント (0) | トラックバック (0)

CentOS 5.5 on Windows Virtual PC

CentOS5.5をWindows7のWindows Virtual PCにインストールして使う場合のメモ。

まず、普通にWindows Virtual PCに新しい仮想マシンを作成し、そこにCentOSをインストールする。ただし、GUIモードでインストーラーを動かすと24ビットカラーになるため正常に画面が表示されず、インストール続行は不可能。インストーラーのboot:プロンプトでlinux textと入力しEnterキーを押してテキストモードでインストールする。(linux vesa i8042.noloop psmouse.proto=imps clock=pit
と入力すればGUIモードでインストールできるが、インストール後にGUIモードで起動してしまい、ログイン後にAlt+F1キーでメニューを表示してGNOME端末を起動してsu -でrootになって。。。と面倒な操作が発生するので、素直にテキストモードでインストールし、テキストモードで起動するのがいいと思う。好みに応じて、最後に起動ランレベルを5にすればよい。)

インストール後も、startxすると画面が真っ黒なままとなり操作不可能。これも、デフォルトが24ビットカラーになっているためで、/etc/X11/xorg.confのDefaultDepthを16に変えればGUIで表示される。

viで編集する場合は /Depth と入力して当該箇所を検索し、yyと入力して当該行をコピー、pと入力してペースト、k0 と入力して前行の行頭に移動し、i と入力して#記号を挿入して今までの設定をコメントアウト。(今までのファイルをコピーしとけって話もありますが。その場合はシェルでcp -pと。)さらに続けて[ESC]j$DDa16[ESC]:wqと入力すればOK。([ESC]でコマンドモードに入り、jでカーソルを1つ下へ移動、$で行末に移動、DDで2文字削除、aでカーソルの後ろに挿入モードに入り、16と入力。[ESC]でコマンドモードに戻り、:wqで保存(write)&終了(quit))

これだけではまだだめで、startxしてもマウスが効かない。この問題は、カーネル起動時のオプション追加で回避する。/boot/grub/grub.confを開き、最後から2行目のkernelから始まる行の行末にi8042.noloop psmouse.proto=imps clock=pitを追加する。その後、OS再起動(shutdown -r nowなりrebootなりtelinit 6なりで。)

GUIモードで起動させたい場合は/etc/inittabのid:3:initdefault:の 3 を 5 に書き換える。

この状態で起動し、startxすると、GUIモードになりマウスも効く。これでやっと使えるのだが、まだおかしいところが残っている。CentOS内の時計が9時間進んでいる点だ。これを修正するためには、マイクロソフト提供のVirtual Machine Additions for Linuxをダウンロードしてインストールだ。

その手順はコチラ

| | コメント (3) | トラックバック (0)