FastTrak Series Linux Driver

最終更新日 2005/04/22


SERVER THE BOX に FastTrak Series のドライバーをインストールする手順について説明します。

概要

FastTrak ドライバには Promise 社製のドライバー(FastTrak.o)とオープンソースのドライバー (pdcraid.o)の二つがあります。
この文書では Red Hat linux(kernel 2.4を使っているもの)のカーネルに Promise 社製 ドライバーを組み込む方法とドライバーディスクの作成方法についての説明をします。
Promise 社製のドライバーにはソースが公開されていないバイナリが含まれています。
ドライバーのコンパイルにはカーネルソースが必要です。

オープンソースのドライバーについては ATA RAID HOWTO [2] を参照してください。
オープンソースのドライバーでは FastTrak のディスクアレイを読めない場合があるようです。

FastTrak ドライバー

ドライバーの展開とパッチ

ドライバーのアーカイブ(gemx-ft.tar.gz)と Make のためのパッチ(gemx-ft.patch)があります。
ドライバーのアーカイブは gcc2用 と gcc3用 があります。
現在はファイルの配布を行っていません。
必要な場合は弊社の担当者に 問い合わせ てください。

		# cd /usr/src
		# ls -lF
		linux -> linux-2.4/
		linux-2.4 -> linux-2.4.22/
		linux-2.4.22/
		redhat/
		# tar zxvf /path/to/gemx-ft.tar.gz
	

ドライバーを展開した後、カーネルにパッチをあてます。
カーネルのバージョンによってはパッチファイルを調整する必要があるかもしれません。

		# patch -p0 < /path/to/gemx-ft.patch
	

kernel config

Kernel Config 時に CONFIG_MODVERSIONS=NO を選択してください。
SCSI ドライバーのグループに CONFIG_SCSI_FT があります。
モジュール(m)を選択してください。

カーネルのコンパイルとインストールについては The Linux Kernel HOWTO [1] を参照してください。

設定方法

FastTrak ドライバーは SCSI ドライバーとして扱われるので /etc/modules.conf には次の一行を加えてください。

		alias scsi_hostadapter FastTrak
	

FastTrak に接続されたディスクを起動ディスクとして使う場合は initrd にドライバーを 組み込む必要があります。
次のコマンドもしくは mkinitrd で initrd を作成します。

		# /sbin/new-kernel-pkg --mkinitrd --depmod --install カーネルのバージョン
	

FastTrak ドライバーと Kernel に組み込まれた ATA ドライバーが競合しないように カーネルパラメーター
ide1=0 ide2=0 ide3=0 ide4=0 ide5=0 ide6=0 ide7=0 ide8=0 ide9=0
を渡す必要があります。
ブートマネージャーに grub を使っている場合は設定ファイル /etc/grub.conf の kernel 行は次のようになります。
(注意:実際には \ は入力せずに一行にしてください)

		kernel /vmlinuz-2.4.22-1.2199.4.legacy.nptl ro root=LABEL=/ \
		ide1=0 ide2=0 ide3=0 ide4=0 ide5=0 ide6=0 ide7=0 ide8=0 \
		ide9=0
	

ドライバーディスク

既存の ドライバーイメージ の中に modules.cgz というファイルがあります。
このファイルは複数のカーネル用のドライバーを cpio でまとめたものを gzip で圧縮したものです。
次のようにして展開します。

		# mkdir /tmp/modules && cd /tmp/modules
		# gzip -dc /path/to/modules.cgz | cpio -id
		# ls
		2.2.16-22/
		2.2.16-22BOOT/
		2.4.18-3/
		2.4.18-3BOOT/
		2.4.18-3debug/
		2.4.2-2/
		2.4.2-2BOOT/
		2.4.22-1.2115.nptl/
		2.4.22-1.2115.nptlBOOT/
		2.4.7-10/
		2.4.7-10BOOT/
	

作成されたディレクトリー名はカーネルのバージョン名になっています。
それぞれのディレクトリー毎に各カーネルに対応したドライバーが入っています。
インストーラーで使われるカーネルは BOOT とついているものです。
インストール後に使われるカーネルは BOOT がついていないものです。
必要なカーネルをコンパイルしてドライバーをコピーします。

		# cd /usr/src/linux
		# cp configs/kernel-2.4.22-i386-BOOT.config .config
		# make dep
		...
		以降通常のカーネルコンパイル
		...
		# mkdir /tmp/modules/カーネルバージョン
		# cp drivers/scsi/ft/FastTrak.o /tmp/modules/カーネルバージョン
	

必要なカーネル用のドライバーをコピーしたら modules.cgz を作成します。
modules.cgz が大きくなりすぎるとフロッピーディスクに入らなくなるかもしれません。
その場合は使わないバージョンのドライバーを削ってください。

		# cd /tmp/modules/
		# find -name "*.o" -type f | cpio -oH crc | gzip -9 > modules.cgz
	
作成した modules.cgz をドライバーディスクにコピーするとドライバーディスクの完成です。

ドライバーの機能

RAID情報

FastTrak の RAID 情報は /proc ファイルシステムから参照できます。

		# cat /proc/scsi/FastTrak/0
		PROMISE FastTrak Series Linux Driver Version 1.02.0.25
		Adapter1 - FastTrak TX2000, IRQ(11)
		Array    - Array[1] : 1X2 Mirror (OK-Gigabyte Boundary)
		Drive    -
		  1: ST31020023A Pri/Master Array[1] 120033MB BASE(0xa000) BM(0xb000) UDMA5
		  3: ST31020023A Pri/Master Array[1] 120033MB BASE(0xa800) BM(0xb008) UDMA5
	

アレイの再構築

RAID 1(ミラーリング)でアレイを組んでいる場合、片方のディスクを入れ替えると自動的に アレイの再構築を行います。
再構築中の情報は /proc や syslog に出力されます。

		# cat /proc/scsi/FastTrak/0
		PROMISE FastTrak Series Linux Driver Version 1.02.0.25
		Adapter1 - FastTrak TX2000, IRQ(11)
		Array    - Array[1] : 1X2 Mirror (Rebuilding)
		Drive    -
		  1: ST31020023A Pri/Master Array[1] 120033MB BASE(0xa000) BM(0xb000) UDMA5
		* 3: ST31020023A Pri/Master Array[1] 120033MB BASE(0xa800) BM(0xb008) UDMA5
		
		Rebuilding Array1 - percentage :  34 %
		                  - spent time :  28 (minutes)
		                  - rebuilding drive : *
	

参考文献

[1] The Linux Kernel HOWTO. Brian Ward, bri@cs.uchicago.edu
v1.0, 5 June 1999
嶋崎@梨大 と JF Project
13 July 1999
[2] Linux ATA RAID HOWTO. Murty Rompalli, murty@solar.murty.net 芳賀 靖史 - 日本語訳
yasufumi.haga@nifty.com
2002年 4月 26日
[3] Promise社 Copyright ©2011 PROMISE Technology, Inc. All
[4] Legacy Download Center Promise社