だいこんの日々2

軸足をtwitterとfacebookに移しつつも、技術的な話はここに書いていきます。

SATA300 TX2plus on Debian GNU/Linux 3.1

サーバのディスク容量の不安から、SATAのディスクを増設してみた。環境としては、OSがDebian GNU/Linux 3.1(sarge)で、カーネルはDebian公式の2.6.8。

まず、SATAのI/Fをどうしようかとlinux-ata.orgを眺める。ドライバの対応状況から、Promise TX2/TX4を積んでるボードということで、PromiseのSATAII150 TX2plusに決定。

後輩が秋葉原に行く用事があったので、ついでに購入してきてもらう。けれど、SATAII150 TX2plusを扱っている店がないため、SATA300 TX2plusに。

1.カーネルヘッダの準備

最初に、ドライバのコンパイルで、カーネルのヘッダが必要になるので、カーネルをコンパイルしておくこと。

# cd /usr/src
# aptitude install kernel-source-2.6.8
#
tar xjf /usr/src/kernel-source-2.6.8.tar.bz2
# rm linux ; ln -s kernel-source-2.6.8 linux
# cd linux
# cp /boot/config-2.6.8-2-686 .config
# make-kpkg --rootcmd fakeroot clean
# make-kpkg --rootcmd fakeroot --config oldconfig buildpackage

まぁ、フルにコンパイルしなくても問題ないみたいですが。

2.ドライバのダウンロード

SATA300/SATAII150 TX Kernel 2.6 32-bit Source Codeからドライバをダウンロード。

※ブラウザからリンクを辿らないとダウンロードできなさそう。

3.ドライバをコンパイルする。

# tar zxf 1_sataii150-300-tx-series-linux2.6-src-x86_v1.01.0.20.tar.gz
# cd ut_mod
# export KERNEL_SOURCE_DIR=/usr/src/linux
# make clean
# make DRIVER_SRC_DIR=`pwd`

4.ドライバのインストール

# cp -f ulsata2.ko /lib/modules/2.6.8-2-686/kernel/drivers/scsi/ulsata2.ko
# depmod -a
# rmmod sata_promise
# modprobe ulsata2

必要であれば、/etc/modulesに記述