Driver Disk (ドライバ・ディスク)
Linuxインストールの時、新しめのH/Wだと対応するドライバがディストリビューションに含まれていないことがある。
インストール時にドライバを含むディスクを用意しておいて、インストーラに指示することでディストリビューションに含まれないドライバを導入しつつインストールを進めることができる。
RedHat EL5 のドライバ・ディスクの作成を行ってみる。
リンク
ダウンロード
ドライバ・ディスクの内容
ドライバ・ディスクについて色々調べてみると、古いディストリビューションでの情報が多い。
またドライバ・ディスク自体の仕様をまとめたようなサイトが見つからない。
- modinfo
- modules.alias
- modules.cgz
- modules.dep
- rhdd
古い情報だと、modules.pcimap、pci.ids、pcitableなどのファイルがドライバ・ディスクに必要だったようである。
またmodules.aliasは存在しなかった様子。
RHEL5では上記のファイル構成となる。
ドライバ・ディスク内のファイルの内容
以下は、Intel 82567 LM 用のドライバを想定した例となる。
ドライバのコンパイル方法は省略する。
modinfo
Version 0
e1000e
eth
"Intel 82567LM Gigabit Network Connection"
modules.alias
alias pci:v00008086d000010DFsv*sd*bc*sc*i* e1000e
alias pci:v00008086d000010DEsv*sd*bc*sc*i* e1000e
alias pci:v00008086d000010CEsv*sd*bc*sc*i* e1000e
alias pci:v00008086d000010CDsv*sd*bc*sc*i* e1000e
alias pci:v00008086d000010CCsv*sd*bc*sc*i* e1000e
...(略)...
modules.dep
rhdd
modules.cgzはドライバ本体をcpio+gzipでまとめたファイルとなる。
作成方法は後述。
ドライバ・ディスクの作成
例えば以下のようなディレクトリ構成を作っておく。
dud/
|- driver/
| |-2.6.18-92.el5/i686/e1000e.ko
|
|- image/
|- modinfo
|- modules.alias
|- (modules.cgz)
|- modules.dep
|- rhdd
- driverの下に、kernelのバージョン(uname -r)/アーキテクチャ/ のディレクトリを作りドライバを置く
- imageの下にドライバ・ディスクに必要なファイルを置く
- この時点ではmodules.cgzはまだ存在しないので()で括ってある
modules.cgzを作成する。
% cd dud/driver/
% find . -name '*.ko' | cpio -oH crc | gzip -c > ../image/modules.cgz
ドライバ・ディスクのISOを作成する。
% cd dud/image/
% mkisofs -R -o ../drvdisk.iso .
作成されたdud/drvdisk.isoをCD-Rに焼く。
インストーラ起動時、linux dd としてドライバディスクの使用を指定する。
最終更新:2009年04月03日 00:24