- - PR -
ibm x206+ServerRAID 7t にCentOS4.2
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-01-30 11:25
こんにちわ。
IBM X206+ServerRAID 7tの構成にCentOS4.2を入れようとしています。 RAIDのドライバが必要らしいので、aacraidのRHEL4用のドライバフロッピーの イメージ(aac-linux-i686-rhel4.img)をIBMのRAID用のユーティリティCDから とってきてフロッピを作成しました。 (dd if=/mnt/cdrom/diskette¥sata¥aac-linux-i686-rhel4.img of=/dev/fd0) インストーラを起動して、linux dd textでドライバFDを要求されたところで、 フロッピを入れると、読み込み動作の後に、ドライバーが見つからない旨の表示が出ます。 centOS4.2では、RedHat Enterprise Linux v.4用のドライバディスクは使えないのでしょうか。 raidの構成はraid5で、fedoracore3は特に何事も無くインストールできています。 | ||||||||
|
投稿日時: 2006-01-30 16:22
こんにちは。
以前に同機種にてServeRAID 7eのRHEL3で似たような環境を構築したことがありますので、 参考になればと思い書き込みします。
まずServeRAIDのドライバディスクについてですが、 ServeRAIDのドライバとインストールするLinuxのカーネルのバージョンが合致しないとドライバが見つからないと表示されるようです。 当方の場合はRHEL3 U5にてインストールしようとしたところ、 当時RHEL3 U3までのドライバ提供でしたので、インストール時にドライバが見つからないといった状況になったことを記憶しています。 moniさんが使用しているドライバのファイル名から察するところRHEL4の初版用のドライバと思われますので、 CentOSの場合は4.0を使用するか、RHEL4 U2対応のドライバが提供されているのであれば、そちらを利用する必要性があるように思います。
また、ドライバディスクについてはRHELとCentOSはバイナリ互換のため、 まったく使用出来ないことはないと思います。 #未検証のため断言はできませんが。 moniさんの参考になれば幸いです。 | ||||||||
|
投稿日時: 2006-01-30 17:52
返信ありがとうございます。
> まずServeRAIDのドライバディスクについてですが、 > ServeRAIDのドライバとインストールするLinuxのカーネルのバージョンが合致しないとドライバが見つからないと表示されるようです。 なるほど、そうだったんですね。 ドライバディスクの作成方法を探して、これからトライしてみます。 まずは、centOSをインストールしたマシンを作らなきゃ。 | ||||||||
|
投稿日時: 2006-02-03 14:07
まだ最後まで出来ていませんが、途中経過です。
結局適切なドライバディスクを作れば良いだけだったのですが、試行錯誤しながらで 時間がかかりました。 http://fedora.jp/pipermail/users/2005-March/009710.html http://www.gemx.co.jp/modules/tinycontent4/rewrite/tc_2.html とかを見て作業しました。以下作業の流れです。 0. centOS4.2をインストールしたマシンの準備 x206でなくって、別のマシンにとりあえずインストールしました。 モジュールコンパイルに時間がかかるので速いマシンのほうが幸せかも。 1. カーネルソースの準備 CentOS4.2では、kernel-2.6.9-22.EL.src.rpmでした。 これを、ルートでインストールしたら、/usr/src/redhat以下に入ります。 で、/usr/src/redhat/SPECSにて、 # rpmbuild -bp --target=i586 kernel-2.6.spec すると、/usr/src/redhat/BUILD/kernel-2.6.9/linux-2.6.9以下に 展開されます。 私はこれを、 # mv linux-2.6.9 /usr/src/linux-2.6.9-i586 と移動して、作業しました。 さらに、 # rpmbuild -bp --target=i686 kernel-2.6.spec して、i686用を作成して、こちらは、/usr/src/linux-2.6.9-i686 に移動しました。 2. aacraid用のソースを展開 IBMのServerRAID supportCDからソースを展開しました。 linux/sata/driver/aacraid-1.1.5-2387.rpmをインストールすると、 /opt/Adaptec/aacraid/以下にファイルが出来たので、この中の /opt/Adaptec/aacraid/aacraid_source.tgzを、 /usr/src/linux-2.6.9-i586/drivers/scsi/aacraid と /usr/src/linux-2.6.9-i686/drivers/scsi/aacraid に展開しました。 3. モジュールの準備 インストール時のカーネルがi586だったので、i586版のモジュールも 必要みたいです。 なので、2.6.9-22.EL i586, 2.6.9-22.ELsmp i586, 2.6.9-22.EL i686, 2.6.9-22.ELsmp i686 の4種類のモジュールを作成しました。 3.1 2.6.9-22.EL i586 用のモジュール作成 # cd /usr/src/linux-2.6.9-i586 初期化します # make mrproper i586用コンフィグファイルコピー # cp configs/kernel-2.6.9-i586.config .config Makefileの4行めぐらいのEXTRAVERSIONを以下のように編集 EXTRAVERSION = -22.EL .configを再作成 # make oldconfig モジュールコンパイル # make modules 出来たモジュールのstripと確認 # cd drivers/scsi/aacraid # strip --strip-debug aacraid.ko # strings aacraid.ko | grep vermagic vermagic=2.6.9-22.EL 586 REGPARM 4KSTACKS gcc-3.4 ってなっていたらば完成なので、 # mv aacraid.ko aacraid.ko-2.6.9-22.EL-586 と退避しておく 3.2 2.6.9-22.ELsmp i586 用のモジュール作成 コピーするコンフィグファイルが、kernel-2.6.9-i586-smp.config になって、 MakefileのEXTRAVERSIONが以下のようになる以外の手順は3.1と同じ EXTRAVERSION = -22.ELsmp で、最後の確認の所で、 # strings aacraid.ko | grep vermagic vermagic=2.6.9-22.ELsmp SMP 586 REGPARM 4KSTACKS gcc-3.4 で完成なので、 # mv aacraid.ko aacraid.ko-2.6.9-22.ELsmp-586 と退避しておく 3.3 2.6.9-22.ELsmp i686 用のモジュール作成 最初に作っておいた、/usr/src/linux-2.6.9-i686で作業します。 コピーするコンフィグファイルが、kernel-2.6.9-i686.config になる以外は、3.1と同じ手順で作業して、最後の確認の所で、 # strings aacraid.ko | grep vermagic vermagic=2.6.9-22.EL 686 REGPARM 4KSTACKS gcc-3.4 ってなっていたらば完成なので、 # mv aacraid.ko aacraid.ko-2.6.9-22.EL-686 と退避しておく 3.4 2.6.9-22.ELsmp i686 用のモジュール作成 コピーするコンフィグファイルが、kernel-2.6.9-i686-smp.config になる以外は、3.2と同じ手順で作業して、最後の確認の所で、 # strings aacraid.ko | grep vermagic vermagic=2.6.9-22.ELsmp SMP 686 REGPARM 4KSTACKS gcc-3.4 で完成なので、 # mv aacraid.ko aacraid.ko-2.6.9-22.ELsmp-686 と退避しておく。 4 ドライバディスク作成 4.1 ベースを作成 適当なディスクをベースに作成します。 私は、IBMのServerRaidのCD内の、aac-linux-i686-rhel4.imgを 使いました。 4.2 モジュールファイルの作成 フロッピをマウントすると、modules.cgzというファイルがあります。 これを差し替えればOKなのです。 このファイルは、モジュールをcpioでまとめて、gzipしたものだそうです。 上書きするので、展開は必要ないですけれど、展開は、 # gzip -dc modules.cgz | cpio -id で出来ます。 作成には、まず適当なディレクトリを作って移動してから、 # mkdir 2.6.9-22.EL 2.6.9-22.ELsmp # mkdir 2.6.9-22.EL/i586 2.6.9-22.EL/i686 # mkdir 2.6.9-22.ELsmp/i586 2.6.9-22.ELsmp/i686 とディレクトリを作ります。 それから、3で用意した4つの*.koをそれぞれのディレクトリに、 aacraid.koという名前に戻してコピーします。 この時点で、このディレクトリには、以下のファイルがあります。 # find -name *.ko ./2.6.9-22.ELsmp/i686/aacraid.ko ./2.6.9-22.ELsmp/i586/aacraid.ko ./2.6.9-22.EL/i686/aacraid.ko ./2.6.9-22.EL/i586/aacraid.ko これを、modules.cgzにまとめるために、以下のコマンドでまとめます。 # find -name *.ko | cpio -oH crc | gzip -9 > modules.cgz これを、フロッピに書き戻せばドライバディスクの完成です。 CentOSのインストーラ起動時に、 linux ddで、ドライバディスクがある事を指定して、今作ったディスクを 読み込ませれば、無事にServerRAID 7tを認識させる事が出来ました。 | ||||||||
|
投稿日時: 2006-02-03 14:50
今チェックしていたらば、initrdイメージにはドライバディスクから読み込ませた
作成したaacraid.koが入っていましたが、/lib/modulesには、もともとのインストールパッケージのモジュールが入ってしまうようです。 なので、lib/modulesの下の各ディレクトリにもそれぞれのバージョンのファイルを コピーしました。 |
1