Debianはすべてフリーのライセンスでできたもので構成されている。
そのため、非フリーのドライバを使用するNICを使用しているサーバーの場合は以下のようなエラーがでてNICを認識してくれない。
あなたのハードウェアの一部では、操作するのに非フリーのファームウェアファイルが必要です。 ファームウェアは、USBメモリやフロッピーなどのリムーバブルメディアからロードできます。 見つからないファームウェアファイル: rtl_nic/rtl19168e-2.fw そのようなメディアを今利用できるのであれば、それを入れて続けて下さい。 リムーバブルメディアから見つからないファームウェアをロードしますか?
解決策
説明にある通り、USBメモリを用意した上で作業します。
まずはみつからないファームウェアファイル名でぐぐります。今回だとrtl19168e-2.fwですが検索するとDebianのnon-freeパッケージにて配布されているようです。
http://packages.debian.org/squeeze-backports/firmware-realtek
まずはこちらからdebファイルをダウンロードします。適当なDebian系のLinux上で以下のコマンドを実行する事でdebファイルが展開されます。
[code] dpkg-deb -x firmware-realtek_0.28+squeeze1_all.deb hogehoge [/code]
上記を実行するとカレントにhogehogeというディレクトリを作成してdebパッケージが展開されます。こちらの中にインストールで必要な「rtl19168e-2.fw」があるのでそちらをUSBメモリにコピーします。今回は以下のパスに目的のファイルがありました。
[code] ./hogehoge/lib/firmware/rtl_nic/rtl19168e-2.fw [/code]
USBメモリにコピーする際はDebianが指定するファームウェアのパスと一緒にする必要があります。今回の例ですと「rtl_nic/rtl19168e-2.fw」が見つからないとなっている為、USBメモリ上にrtl_nicという名前のディレクトリを作成し、そこへ「rtl19168e-2.fw」を持ってきます。
あとは完成したUSBメモリを刺してインストールを続行すればOKです。
インストール後
インストール完了後は念のため、パッケージ自体をインストールしておけばいいかもしれません。
まずはnon-freeパッケージをリポジトリに追加します。
[code] vi /etc/apt/source_list [/code]
以下を追加 [code] deb http://ftp.de.debian.org/debian squeeze main non-free [/code]
アップデート [code] apt-get update [/code]
以下のようなエラーが発生しました。
[code] W: GPG error: http://ftp.riken.jp lenny Release: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY AED4B06F473041FA W: GPG error: http://ftp.de.debian.org squeeze Release: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY AED4B06F473041FA W: これらの問題を解決するためには apt-get update を実行する必要があるかもしれません [/code]
問題を解決する為にはapt-get updateしろって書いてるけどもちろん鍵認証のエラーなので解決しない。 keyringをインストールし、再度アップデート
[code] apt-get install debian-archive-keyring apt-get update [/code]
NICのドライバファーム(今回はrealtek)をインストール
[code] apt-get install firmware-realtek [/code]
備考
今までこのエラーは ・Dell PowerEdge T310 ・ShuttleのPC(XPCとか) の機種で何回か遭遇しましたが、 ほとんどが「realtek」か「broadcom」ですね。 どちらもDebianにはnon-freeとしてドライバが配布されています。