6.4. 見つからないファームウェアの読み込み

「ファームウェアが必要なデバイス」 で述べたように、ある種のデバイスはファームウェアを読み込む必要があります。多くの場合、ファームウェアが有効でないとデバイスはまったく動作しません。場合によっては、ファームウェアがない場合、基本機能は損なわれませんが、追加機能を有効にするためだけにファームウェアが必要になります。

利用できないファームウェアをデバイスドライバが要求する場合、debian-installer は見つからないファームウェアを要求するダイアログを表示します。このオプションが選択されると、debian-installer はルーズなファームウェアファイルと、ファームウェアのあるパッケージの両方を、利用できるデバイスについて検索します。見つかると、ファームウェアを正しい場所 (/lib/firmware) にコピーし、ドライバモジュールを再読込します。

[注記] 注記

どのデバイスがスキャンされるか、どのファイルシステムをサポートしているかは、アーキテクチャやインストール方法、インストールの段階に依存します。特にインストールの初期段階では、ファームウェアの読み込みには、FAT フォーマットの USB メモリがもっとも成功の可能性が高いでしょう。i386 や amd64 のファームウェアは、MMC や SD カードからも読み込めます。

ファームウェアがなくてもデバイスが動作することを知っていたり、インストール中にそのデバイスが必要ない場合は、ファームウェアの読み込みをスキップできることにご注意ください。

debian-installer は、インストール中に読み込んだカーネルモジュールが必要とする場合にのみ、ファームウェアのプロンプトを表示します。debian-installer にすべてのドライバが含まれるわけでなく (特に radeon はありません)、そのため、いくつかのデバイスの機能は、はじめからインストールの終わりまで、まったく変わらないこともあります。その結果として、ハードウェアの能力を引き出せないかもしれません。この場合に該当するのかどうか疑わしく、興味を持たれたのでしたら、新しくブートしたシステムで dmesg コマンドの出力をチェックし、firmware を検索してみるのもよいでしょう。

6.4.1. メディアの準備

公式インストールイメージには non-free のファームウェアが含まれません。そのようなファームウェアを読み込むもっとも一般的な方法は、USB メモリのようなリムーバブルメディアから読み込むことです。また、https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/ に、non-free のファームウェアを含む非公式インストールイメージがあります。USB メモリ (ないし、ハードディスクのパーティションのような他のメディア) を準備するために、ファームウェアのファイルやパッケージを、メディアのファイルシステムのルートディレクトリか、/firmware というディレクトリのどちらかに配置しなければなりません。ファイルシステムには、インストールの初期段階でも間違いなくサポートされている、FAT を使用するのをお勧めします。

よくある一般的なファームウェアの最新パッケージを、tar や zip で固めたものが、以下のサイトで利用できます。

正しいリリースの tarball か zip ファイルをダウンロードし、メディアのファイルシステムに展開するだけです。

必要なファームウェアが tarball に含まれていない場合、特定のファームウェアパッケージを、アーカイブ (の non-free セクション) からダウンロードすることもできます。以下の概観では、利用できるほとんどのファームウェアパッケージを網羅できると思いますが、完全であることを保証できませんし、ファームウェアではないパッケージを含むかもしれません。

また、個々のファームウェアファイルを、メディアにコピーもできます。ルーズなファームウェアを、例えばすでにインストールしたシステムや、ハードウェアベンダから入手できます。

6.4.2. ファームウェアとインストールしたシステム

インストール中に読み込んだファームウェアは、いずれもインストールしたシステムに、自動的にコピーされます。多くの場合、これによりシステムをリブートして新しいシステムにしても、ファームウェアが必要なデバイスが確実に動作するでしょう。しかし、インストールしたシステムが、インストーラーと異なるバージョンのカーネルで動作している場合、バージョンのずれによりファームウェアが読み込めない可能性がわずかにあります。

ファームウェアパッケージからファームウェアをロードした場合、debian-installer はインストールしたシステム向けにも、このパッケージをインストールし、APT の sources.list に、パッケージアーカイブの non-free セクションを自動的に追加します。これには、ファームウェアの新しいバージョンが利用できるようになると、自動的に更新するという利点があります。

インストール中に、ファームウェアの読み込みをスキップした場合、おそらくファームウェア (パッケージ) を手動でインストールするまで、関連するデバイスがインストールしたシステムで動作しないでしょう。

[注記] 注記

ファームウェアをルーズなファームウェアファイルから読み込んだ場合、インストール完了後に対応したファームウェアパッケージをインストールするまで、インストールしたシステムにコピーしたファームウェアは、自動的に更新されません

6.4.3. インストールしたシステムの設定を完了する

関連するファームウェアが取得できなかった、その時点ではファームウェアをインストールしないという選択をした等、どのようにインストールが実施されたかに応じて、インストール作業中では検出されなかったファームウェアが必要になる可能性があります。いくつかのケースでは、インストールが成功したにも関わらずシステム再起動後にブランクあるいは文字化けした画面が表示される可能性があります。このような場合、以下の回避策を試みることが出来ます:

  • カーネルコマンドラインに nomodeset を渡す。fallback graphics モードでの起動ができる可能性があります

  • Ctrl+Alt+F2 の組み合わせを使って、動作しているログインプロンプトが表示される VT2 (仮想端末2) にスイッチする

インストール後のシステムに一旦ログインできたら、見つけられていなかったファームウェアの自動検出が実施可能となります。以下の手順に従って必要な手順を実施することで自動検出を有効化できます:

  1. isenkram-cli パッケージをインストールする

  2. root ユーザーで isenkram-autoinstall-firmware コマンドを実行する

一般的に、すべてのカーネルモジュールが正しく初期化されるのを担保するには再起動するのが最もお手軽な方法です。暫定的な処置として nomodeset オプションを指定して起動していた場合に、これは特に重要な部分です。

[注記] 注記

ファームウェアパッケージのインストールには、パッケージアーカイブの non-free セクションを有効化する必要が生じる可能性が非常に高いです。 Debian GNU/Linux 11.0 では、isenkram-autoinstall-firmware コマンドの実行によって汎用的なミラーサイトを指定した専用ファイル (/etc/apt/sources.list.d/isenkram-autoinstall-firmware.list) を自動的に生成します。