Intel DX58SOマザーボードをLinuxで使う  

たまたまIntel Corei7対応マザーであるIntel DX58SOで組んだPCをセットアップする機会があったのでメモしておきます。

概要  

MD計算および構造解析用に使用するためにCentOS 5.2(i386版;割と古い解析関係のプログラムへの影響を考えてx86_64はとりあえず見送りました)のインストールをしてみました。SATA NativeのIDEモードでインストールはすんなりいきましたが、kernel-2.6.18ではネットワークドライバが古いようで、インストール段階ではデバイスを認識しませんでした。なお、DX58SOのネットワークコントローラは10/100/1000BASE-Tの82567LMだそうです(マイコミジャーナル -- http://journal.mycom.co.jp/column/motherboard/039/index.html )。
調べてみると新しいe1000eドライバが使える*1そうなのでIntelのサイトから最新のソースを取得してきてインストールしたところ、認識しました。なおkernel-2.6.27以降なら新しいドライバになっているそうです(未確認)。

 

AMBER8のインストールのためにVine 4.2をインストールしてみました。インストールCDの状態ではSATAを認識しないため、インストール時にはBIOSでSATAをIDE Legacyモードにする必要がありました。LegacyモードならIDEとして認識されるため時間はかかりますが*2、インストールは可能です。
インストール後、apt-getで更新すればDX58SOのICH10Rも認識可能なAHCIドライバが使用可能になるので、initrdを作成し直せば利用可能になります。なお、hdparm -tで確認したところ120MB/sec程度の読み込み速度になってました。ネットワークドライバはCentOSと同様に認識しないためe1000eドライバをインストールします。

インストール手順  

AHCIドライバ -- Vine 4.2  

SATAをAHCIで使用できるようにするため、initrdにAHCIドライバを組み込みます。Vine 4.2ではkernel-2.6.16-76.40vl4でAHCIモードでの動作確認を行いましたが、CentOSでは確認してません(CentOS 5.2では標準でIDEモードには対応してました)。
initrdイメージファイルの操作方法はLinux on USBを参照してください。必要なドライバはscsi_mod.kolibata.koahci.koの順で読み込めばいいようで、ata_piix.koは不要でした。ドライバを読み込む前のinitrdの操作はBIOSのDrive ConfigurationでLegacyモードで行い、再起動後はNative AHCIにすればできると思います。結構手間ですが。

BIOSでのAHCIの設定箇所

ネットワークドライバ -- Vine 4.2CentOS 5.2  

Intelのサイトからe1000eのアーカイブを取得します。

ってことなのでこれでよさそうですね。

後は通常通り。ビルドするときは、kernel-develやらなんやらいると思います。

通常の手順
% tar zxvf e1000e.0.5.11.2.tar.gz
% cd e1000e.0.5.11.2
% cd src
% make
# make install
これでOK。/lib/modules/2.6.18-92.1.22.el5/kernel/drivers/net/e1000eが更新されているはずです。
RPMパッケージを作成する
このドライバには親切にもspecファイルが添付されているのでRPMアーカイブを作ることもできます。ただ、RPMだとカーネルをアップデートするたびにe1000eドライバをアンインストールして入れ直す手順が必要なので面倒くさいかも・・・
% tar zxvf e1000e.0.5.11.2.tar.gz
% cd e1000e.0.5.11.2
% rpmbuild -bb e1000e.spec
でrpm/RPMS/i386にe1000e-0.5.11.2-1.i386.rpmができているはずです。

でも、このPCを設置した部屋、外部とのネットワークが10BASEな気がする*3・・・ [sad]

*1 e1000でもOKのようですが
*2 ディスクアクセス速度がかなり遅いです
*3 隣の建物とFTPしても500kB/secぐらいしか出ない・・・