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. Completing the Installed System

Depending on how the installation was performed, it might be that the need for some firmware was not detected during installation, that the relevant firmware was not available, or that one chose not to install some firmware at that time. In some cases, a successful installation can still end up in a black screen or a garbled display when rebooting into the installed system. When that happens, the following workarounds can be tried:

  • Pass the nomodeset option on the kernel command line. This might help boot into a fallback graphics mode.

  • Use the Ctrl+Alt+F2 key combination to switch to VT2, which might offer a functional login prompt..

Once logged in into the installed system, it is possible to automate the detection of missing firmware, and to perform the required steps to enable them following this procedure:

  1. Install the isenkram-cli package

  2. Run the isenkram-autoinstall-firmware command as the root user.

Usually, rebooting is the simplest way to make sure all kernel modules are properly initialized; that's particularly important when one has booted the system with the nomodeset option as an interim measure.

[注記] 注記

Installing firmware packages is very likely to require enabling the non-free section of the package archive. As of Debian GNU/Linux 11.0, running the isenkram-autoinstall-firmware command will do that automatically by creating a dedicated file (/etc/apt/sources.list.d/isenkram-autoinstall-firmware.list), pointing at a generic mirror.