web-dev-qa-db-ja.com

「W:initramfsの更新時にモジュールi915_bpoのファームウェアが欠落している可能性があります」

16.04でカーネルまたはNVIDIAドライバーの更新を実行すると、initramfsの再構築がトリガーされ、以下の警告が出力されます。

Processing triggers for initramfs-tools (0.122ubuntu8.1) ...
update-initramfs: Generating /boot/initrd.img-4.4.0-34-generic
W: Possible missing firmware /lib/firmware/i915/skl_guc_ver6.bin for module i915_bpo

NVIDIA GeForce 940MとIntel i5-6200Uの統合グラフィックスの2つのグラフィックスチップを搭載したノートブックを持っています。

使用中のデバイスは私のNVIDIAカードです:

$ inxi -G
Graphics:  Card-1: Intel Sky Lake Integrated Graphics
           Card-2: NVIDIA GM108M [GeForce 940M]
           Display Server: X.Org 1.18.3 driver: nvidia Resolution: [email protected]
           GLX Renderer: GeForce 940M/PCIe/SSE2 GLX Version: 4.5.0 NVIDIA 367.35

以下はlshw -c videoの出力です。これは、そのドライバーを使用するIntelグラフィックチップに対応しています。

    *-display         
         description: VGA compatible controller
         product: Sky Lake Integrated Graphics
         vendor: Intel Corporation
         physical id: 2
         bus info: pci@0000:00:02.0
         version: 07
         width: 64 bits
         clock: 33MHz
         capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
         configuration: driver=i915_bpo latency=0
         resources: irq:125 memory:a2000000-a2ffffff memory:b0000000-bfffffff ioport:5000(size=64)

警告のファイルは存在せず、次のもののみが存在します。

$ ll /lib/firmware/i915/
total 336
drwxr-xr-x  2 root root   4096 Aug 11 13:24 ./
drwxr-xr-x 74 root root  32768 Aug 11 13:24 ../
-rw-r--r--  1 root root   5872 Jul 21 17:03 bxt_dmc_ver1_04.bin
-rw-r--r--  1 root root   5872 Jul 21 17:03 bxt_dmc_ver1_05.bin
-rw-r--r--  1 root root   8380 Jul 21 17:03 bxt_dmc_ver1_06.bin
-rw-r--r--  1 root root   8380 Jul 21 17:05 bxt_dmc_ver1_07.bin
lrwxrwxrwx  1 root root     19 Jul 21 17:05 bxt_dmc_ver1.bin -> bxt_dmc_ver1_07.bin
-rw-r--r--  1 root root   8824 Jul 21 17:03 skl_dmc_ver1_23.bin
-rw-r--r--  1 root root   8928 Jul 12 21:33 skl_dmc_ver1_26.bin
lrwxrwxrwx  1 root root     19 Jul 12 21:33 skl_dmc_ver1.bin -> skl_dmc_ver1_26.bin
-rw-r--r--  1 root root 109636 Jul 21 17:03 skl_guc_ver1_1059.bin
lrwxrwxrwx  1 root root     21 Jul 21 17:03 skl_guc_ver1.bin -> skl_guc_ver1_1059.bin
-rw-r--r--  1 root root 128320 Jul 21 17:03 skl_guc_ver4_3.bin
lrwxrwxrwx  1 root root     18 Jul 21 17:03 skl_guc_ver4.bin -> skl_guc_ver4_3.bin

ただし、最新のドライバーパッケージはインストールされているようです。

$ apt-cache policy xserver-xorg-video-intel
xserver-xorg-video-intel:
  Installed: 2:2.99.917+git20160325-1ubuntu1
  Candidate: 2:2.99.917+git20160325-1ubuntu1
  Version table:
 *** 2:2.99.917+git20160325-1ubuntu1 500
        500 http://ftp.uni-stuttgart.de/ubuntu xenial/main AMD64 Packages
        100 /var/lib/dpkg/status

この警告は正確に何を意味し、どのように修正できますか?

74
Byte Commander

ドライバーパッケージはカーネルにやや遅れています。私の場合、SkyLakeプロセッサを持っていないため、ファームウェアがなくても問題ありませんが、あなたの場合は問題になるかもしれません。新しいファームウェアは here から入手できます。

編集1:リンクが変更されたことに注意してください。ただし、読者は新しいリンクで必要なものを見つけることができますが、探しているものを正確に知ることが難しい場合があります。

編集2:この回答は、この回答が最初に書かれてから来た他のいくつかの新しいファームウェア要件に適用できるはずです。例えば:

W: Possible missing firmware /lib/firmware/i915/kbl_dmc_ver1_01.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915

編集3:gitを使用しているユーザーの場合、 この回答 もうまく機能します。

61
Doug Smythies

2019年5月20日更新

質問に答えるために、実行していないプロセッサのドライバを更新する必要はありませんが、実行すると警告が消えることを確認できます。

今日、私はこれらの警告を受け取りました:

update-initramfs: Generating /boot/initrd.img-5.0.1-050001-generic
W: Possible missing firmware /lib/firmware/i915/skl_dmc_ver1_27.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_dmc_ver1_04.bin for module i915
W: Possible missing firmware /lib/firmware/i915/cnl_dmc_ver1_07.bin for module i915
W: Possible missing firmware /lib/firmware/i915/icl_dmc_ver1_07.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_39.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver9_29.bin for module i915
W: Possible missing firmware /lib/firmware/i915/skl_guc_ver9_33.bin for module i915

次のセクションで説明するブロブをダウンロードしてから使用しました。

$ Sudo cp ~/Downloads/*.bin /lib/firmware/i915/

$ Sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-5.0.1-050001-generic

現在、私のSky Lakeskl)ドライバーは最新であり、インターネットで推奨される最新のカーネルパラメーターを試すことができます。将来のプロセッサの警告メッセージKaby Lakekbl)、Cannon Lakecnl)およびIce Lakeicl)はなくなって、ストレスが軽減されました。


2018年5月26日更新

2018年8月6日のマイナーリビジョン。

「blobs」の新しいダウンロード画面

最近、Intelは新しい ダウンロードページ と新しいWebページレイアウトを作成しました。

Intel i915 firmware blobs

ダウンロードファイルは、ファームウェアblobsと呼ばれるようになりました。これは、ファームウェアdriversBinaryLargeOBject(BLOB)。

ドライバーはプロセッサー別にソートされます。

  • bxt Broxton、2016年にキャンセル、Cherry Trailプロセッサーの後継
  • kbl Kabylake、第7世代、たとえばi7-7700
  • skl Skylake、第6世代、たとえばi7-6700

次に、ドライバーはサブグループごとに整理されます(詳細な説明 ここ ):

  • GUC-GuCは、さまざまなグラフィックスパラレルエンジンでグラフィックスワークロードスケジューリングを実行するように設計されています。
  • DMC-DMCは追加のグラフィックス低電力アイドル状態を提供します。
  • HUC-HuCは、メディア機能の一部をCPUからGPUにオフロードするように設計されています。

エラーメッセージを必要なドライバーに一致させる

update-initramfsまたはupdate-grubで受信しているエラーメッセージを比較して、不足しているドライバーを見つけます。あなたの例では、メッセージは「/lib/firmware/i915/kbl_guc_ver9_14.bin」であったため、上記のWebページにkbl_guc_ver9_14.binというKabylake GuCがありません。新しいものは必要ありません:kbl_guc_ver9_39.bin

ドライバーのダウンロードが必要

過去のバージョンのようなインストールスクリプトはありません。不足しているドライバー(blob)を強調表示してクリックします。次の画面が表示されます。

Intel i915 drivers download.png

最初は「16進ダンプ」しか表示されませんが、plainというタイトルのリンクをクリックすると、上記のようにダウンロードウィンドウが表示されます。

「ファイルを保存」をクリックします

単純なSudo cp(コピーコマンド)でドライバーをインストールします

ダウンロード後、インストールは簡単なSudo cp(コピーコマンド)であり、複雑なtarコマンド、または./script_nameインストール手順はありません。

クイックインストール

cd ~/Downloads
Sudo cp kbl_guc_ver9_14.bin /lib/firmware/i915
Sudo cp bxt_guc_ver8_7.bin /lib/firmware/i915

重要:上記のkbl_guc_ver9_14.binおよびbxt_guc_ver8_7.binを、ダウンロードしたドライバー名に置き換えてください。

VOILA!新しいドライバーがインストールされます。 Intel i915ドライバーがない場合の以前のインストール方法よりもはるかに簡単です!

TL; DR探索的インストール

ドライバーは既にインストールされています。この長いインストール方法により、BLOBをコピーする前と後の効果がわかります。

$ Sudo updatedb
$ llocate kbl_guc_ver9_14.bin
ACCESS      OWNER  GROUP  SIZE    MODIFIED    NAME (updatdb last ran: 2018-05-26 12:07:57)
-rw-rw-r--  rick   rick   142656  2018-05-26  /home/rick/Downloads/kbl_guc_ver9_14.bin
-rw-rw-r--  rick   rick   142656  2017-02-24  /home/rick/Downloads/kbl_guc_ver9_14/kbl_guc_ver9_14.bin
-rw-r--r--  root   root   142656  2017-10-26  /lib/firmware/i915/kbl_guc_ver9_14.bin
$ diff /home/rick/Downloads/kbl_guc_ver9_14/kbl_guc_ver9_14.bin /lib/firmware/i915/kbl_guc_ver9_14.bin
# Blank line appears here signifying no differences from previous version
$ Sudo cp /home/rick/Downloads/kbl_guc_ver9_14/kbl_guc_ver9_14.bin /lib/firmware/i915
$ llocate kbl_guc_ver9_14.bin
ACCESS      OWNER  GROUP  SIZE    MODIFIED    NAME (updatdb last ran: 2018-05-26 12:07:57)
-rw-rw-r--  rick   rick   142656  2018-05-26  /home/rick/Downloads/kbl_guc_ver9_14.bin
-rw-rw-r--  rick   rick   142656  2017-02-24  /home/rick/Downloads/kbl_guc_ver9_14/kbl_guc_ver9_14.bin
-rw-r--r--  root   root   142656  2018-05-26  /lib/firmware/i915/kbl_guc_ver9_14.bin

llocate の代わりに、locateコマンドを使用します。


2017年2月14日-Intelはドライバーをリリースしました

今日のこのバグレポートによると( W:不足している可能性のあるファームウェア/lib/firmware/i915/kbl_guc_ver9_14.bin for module i915 )Intelは必要なKabylakeおよびBroxtonドライバーの( https://01.org/linuxgraphics/downloads/firmware =)ウェブページ:

Intel Graphics for Linux Drivers

KabylakeGuC-Ver 9.14 )および( DMC-Ver 1.01 の不足しているドライバーをダウンロードします)およびBroxtonGuC-Ver 8.7 )これらは.tar.gzおよび.tar.bz2形式です。

「tar」形式でドライバーをインストールする

install.shスクリプトを実行できますが、これらの手順が最も簡単です。

ダウンロードディレクトリに移動し、ファイルがあることを確認します。

:~$ cd Downloads

:~/Downloads$ ll *tar*
-rw-rw-r-- 1 rick rick 69329 Feb 14 21:05 bxtgucver87.tar.gz
-rw-rw-r-- 1 rick rick  4338 Feb 14 21:06 kbldmcver101.tar.bz2
-rw-rw-r-- 1 rick rick 70402 Feb 14 21:06 kblgucver914.tar.gz

圧縮されたtarファイルを解凍します。

:~/Downloads$ tar -zxvf bxtgucver87.tar.gz
firmware/bxt/guc/bxt_guc_ver8_7/
firmware/bxt/guc/bxt_guc_ver8_7/install.sh
firmware/bxt/guc/bxt_guc_ver8_7/ReleaseNotes.txt
firmware/bxt/guc/bxt_guc_ver8_7/bxt_guc_ver8_7.bin

:~/Downloads$ tar -xjvf kbldmcver101.tar.bz2
kbl_dmc_ver1_01/
kbl_dmc_ver1_01/kbl_dmc_ver1_01.bin
kbl_dmc_ver1_01/install.sh
kbl_dmc_ver1_01/ReleaseNotes.txt

:~/Downloads$ tar -zxvf kblgucver914.tar.gz
firmware/kbl/guc/kbl_guc_ver9_14/
firmware/kbl/guc/kbl_guc_ver9_14/install.sh
firmware/kbl/guc/kbl_guc_ver9_14/kbl_guc_ver9_14.bin
firmware/kbl/guc/kbl_guc_ver9_14/ReleaseNotes.txt

ファイルをコピーして、initramfsを更新します

:~/Downloads$ Sudo cp -t /lib/firmware/i915/ firmware/bxt/guc/bxt_guc_ver8_7/bxt_guc_ver8_7.bin kbl_dmc_ver1_01/kbl_dmc_ver1_01.bin firmware/kbl/guc/kbl_guc_ver9_14/kbl_guc_ver9_14.bin
:~/Downloads$ Sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-4.9.9-040909-generic

エラー(警告)メッセージが消えていることに注意してください!

作業ファイルを削除する

:~/Downloads$ rm -r firmware kbl_dmc_ver1_01 *.tar.*

参照用の履歴(オリジナル)投稿

カーネル4.6.3、4.7.1、4.7.2、4.7.3および4.7.5のi915ドライバーが見つからないという2つの警告メッセージがありました。私はそれらを無視しましたが、私のHD4000 Intel Integrated Graphicsで問題はありませんでした。 NvidiaとNouvaeuについても同じことが言えるといいのですが。

リンクの回答の1つにあるように、IntelのWebサイトにアクセスして、最新のLinux Graphicsドライバーを入手できます: intel-linux-graphics-firmwares 。しかし、数週間前にそのサイトを読んだとき、さまざまなシナリオでうまくいかない可能性のあるすべてのことを心配していたので、オプトアウトしました。

9月24日から4.8リリース候補6をインストールしましたか?これが、Ubuntuでの最新版だと思います。答える必要はありませんが、なぜ4.7.5ではなく4.8を使用したのか、つまり、問題を修正するためにどのような違いが必要なのか興味があります。

編集-2016年10月19日

カーネルバージョン4.8.1(実際のバージョンであり、リリース候補ではない)を1週間以上使用しており、問題なく動作しています。ただし、これはUbuntu 16.04の下です。 Ubuntu 16.10は10月13日にリリースされ、カーネルバージョン4.8.0を使用しています。

この答えを更新し続けることは私の計画ではありませんが、4.8リリース候補には問題があるかもしれないという推論を休ませたいと思いました。実際のバージョンはそうではありません。

編集-2017年2月2日

現在、カーネルバージョン4.9.5メインラインバージョンを実行していますが、この時点でUbuntu 16.04はカーネルを4.4.0-59に更新しました。 IntelはIntel Graphics for Linuxドライバーのリンクを変更し、上記の新しいリンクを更新しました。

カーネルバージョン> 4.8(Ubuntu 16.10およびUbuntu 17.04)のときにSudo update-initramfs -uによって生成される警告メッセージに関する質問はまだ残っています。

W: Possible missing firmware /lib/firmware/i915/kbl_dmc_ver1_01.bin for module i915
W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915

バグレポートに記載されているように( bugs.launchpad.net-linux firmware bug )ドライバーは単に存在せず、「kaby lake」と呼ばれる将来のチップがリリースされるまで存在しません。

警告メッセージを消す

警告メッセージを消すために、次のことを行いました。

$ Sudo cp Assembly/hello /lib/firmware/i915/kbl_dmc_ver1_01.bin
$ Sudo cp Assembly/hello /lib/firmware/i915/kbl_guc_ver9_14.bin
$ Sudo cp Assembly/hello /lib/firmware/i915/bxt_guc_ver8_7.bin
$ Sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-4.9.5-040905-generic

出来上がり!これ以上の警告メッセージはありません。

プログラム「hello」は、「Hello World!」という504バイトのアセンブラープログラムです。エラーメッセージに示されているファームウェアバイナリに、小さな実行可能ファイルをコピーできます。 Intelが最終的にそれらをリリースすると、ソフトウェアアップデータはそれらを実際のバージョンに置き換えます。

Intel Graphics for Linux Webサイトをナビゲートする方法

この画面を表示する新しいIntel Webサイト( 1.org-Linux Graphics Downloads )内をナビゲートする方法についてコメントを求められました。

Intel Graphics for Linux 1

検索フィールドにUbuntu 16.04と入力し、Filterボタンをクリックします。

Ubuntu 16.10の場合、最初の結果を選択します。この場合、Ubuntu 16.04で2番目の結果INTEL GRAPHICS UPDATE TOOL FOR LINUX* OS V2.0.2を選択すると、次の画面が表示されます。

Intel Graphics for Linux 2

私の場合、intel-graphics-update-tool_2.0.2_AMD64.debファイルを~/DownloadsディレクトリにダウンロードしたUbuntu 16.04 64ビットを選択しました。

次のステップは、ターミナルを開いて次を使用することです。

cd Downloads
Sudo dpkg -i intel*.deb

注:Intelはancientsttfフォントを使用し、システムにない場合、インストールは失敗します。この時点で、使用する必要があります:

Sudo apt -f install
Sudo apt update
Sudo apt upgrade

次の画面に示すように、Intel Graphics for Linux Updaterツールを実行できます。

Intel Graphics for Linux 3

UbuntuにIntel署名を追加する

apt-get update中に、次のような警告/エラーメッセージが表示されます。

W: GPG error: https://download.01.org/gfx/ubuntu/16.04/main xenial InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 56A3DEF863961D39
E: The repository 'https://download.01.org/gfx/ubuntu/16.04/main xenial InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

次を使用してIntelの署名を追加する必要があります。

wget --no-check-certificate https://download.01.org/gfx/RPM-GPG-KEY-ilg-4 -O - | \
Sudo apt-key add -

次に、Ubuntuで更新します。

Sudo apt update
Sudo apt upgrade
16

Ubuntu Gnome 16.04「ソフトウェア」アプリ(ネイティブパッケージマネージャー)からカーネルを更新し、更新中にクラッシュしたため、同様の問題に直面しました。

そのため、linux-imageの生成に失敗したため、Ubuntuの再起動が禁止されました。

その時点からそれを解決するために、私は次のことをしました:

  1. Linuxを再起動し、マザーボード画面の直後にShiftを押してgrubメニューに入ります。
  2. メニューから以前のLinuxバージョンを選択します。私の場合は*4.4.0-21-genericEnterを押します。
  3. Ubuntuが再び起動したら、壊れたlinux-imageをアンインストールします。私の場合、*4.4.0-59-generic(Synapticパッケージマネージャーを使用しました);
  4. Intelページ(Doug Smythiesと同じ) から不足しているファームウェアをダウンロードしてインストールします。私の場合、KabyLake kbl DMC - Ver 1.01;
  5. 最後に、Linuxカーネル*4.4.0-59-generic(私の場合)または最新の完全な汎用Linuxカーネル用のlinux-genericを再度インストールします。

成功!カーネルは最新であり、すべてのファームウェアが正常に動作しています!

宜しくお願いします!

2
Matt Mello

Debian(私はDebian GNU/Linuxバスターを持っています)を実行している場合は、次の手順に従ってください。

  1. フォルダーを作成します。

    Sudo mkdir -p /lib/firmware/i915
    
  2. すべてのファイルを https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915 からこのフォルダーにコピーします

  3. Initramfs-toolsパッケージを再構成します。

    Sudo dpkg-reconfigure initramfs-tools
    
0
Christian Noack