CentOS 5 で認識されないハードウェアを使うとき ELRepo がべんり
CentOS 5 (RHEL5) のサードウェアレポジトリとしては EPEL や RPMForge が有名だと思いますが,ハードウェアドライバ(カーネルモジュール)に特化した ELRepo というのもあります。
歴史は浅いんですが,RPMForge のドライバモジュールが DKMS ベースなのに対して ELRepo のドライバは KMP ベースなので*1,OS のメジャーバージョンアップをおこなわない限り素直にアップデートに追随できます。
提供されているドライバの一覧は ELRepo : Packages を参照してください。
実例 1: D945GCLF2 遣いは kmod-r8168 でハッピー
Intel Atom 330 を搭載した Mini-ITX マザーである D945GCLF2 にはギガビットネットワークインタフェースとして Realtek RTL8168B という NIC を搭載しています。が,こいつが CentOS ではうまくハンドリングできませんでした*2。
そのへんの事情は AdditionalResources/HardwareList/RealTekRTL8111b - CentOS Wiki にくわしいのですが,対処するには Realtek からドライバソースをダウンロードして自力でビルドしたり RPMForge の DKMS r8168 モジュールをインストールする必要がありました。
でも今では,ELRepo に KMP ベースの r8168 ドライバが登録されているので,ここからインストールするだけです。
実例 2: NEC Express 5800/110Gd 遣いは kmod-it87 等でハッピー
NEC Express 5800/110Gd にはセンサモジュールとして ITE 8718F というチップが搭載されているのですが,これは CentOS 5 ベースの it87 カーネルモジュールではサポートされていませんでした。
わたしは自作の RPM モジュールを作って対処していた(IT8716F / IT8718F 用 it87-kmod for el5 をリリースしました - daily dayflower)のですが,今では ELRepo により新しい kmod-it87 が登録されているので,これを使っています。
しかも Core2 系のセンサを読み取る kmod-coretemp もパッケージとしてある*3ので,あわせて入れています。
ELRepo をレポジトリとして追加するともともと enable=0
となっているので,enable=1
とするか,
$ sudo yum --disablerepo=base --disablerepo=updates \ --enablerepo=elrepo \ install kmod-it87 kmod-coretemp lm_sensors
のように,--disablerepo
や --enablerepo
を駆使していれてみてください。
(センサ系のカーネルモジュール kmod-it87 や kmod-coretemp を使う際には,ELRepo で提供されている lm_sensors パッケージもあわせてインストールする必要があります)
昔は CentOS を入れたときには RPMForge 系レポジトリを追加していたのですが,いまでは EPEL*4 と(必要に応じて ELRepo と)あとは自前レポジトリを追加するだけにしています。EPEL にないパッケージは単体で拾ってきていれるか,自前パッケージを作成するかですね。