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.ko、libata.ko、ahci.koの順で読み込めばいいようで、ata_piix.koは不要でした。ドライバを読み込む前のinitrdの操作はBIOSのDrive ConfigurationでLegacyモードで行い、再起動後はNative AHCIにすればできると思います。結構手間ですが。
- BIOSでのAHCIの設定箇所
- Advanced -> Drive Configuration
- ATA/IDE Mode [Native] or [Legacy] -- Vine 4.2をインストールするときはLegacyにする。その後Native
- Configure SATA as [IDE] or [AHCI] -- ahci.koを読み込んだ後ならAHCIを認識可能
ネットワークドライバ -- Vine 4.2、CentOS 5.2
Intelのサイトからe1000eのアーカイブを取得します。
- http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=15817
The e1000e.x.x.x.x.tar.gz is designed to work with the Intel® 82571/2/3/4 PCI-E family of gigabit adapters and 82566/7 controllers.
ってことなのでこれでよさそうですね。
後は通常通り。ビルドするときは、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・・・