驱动程序- 更新initramfs时\"w: 模块i915_bpo可能缺少固件\"

・5 分钟阅读

问题

当我在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的集成显卡。

正在使用的是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: 1920x1080@60.03hz


 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



这个警告意味着什么,我该如何修复它?


回答1

驱动程序包有点滞后于内核,你可以从这里 获取新的固件。

例如:


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




回答2

我也遇到了类似的问题,我从Ubuntu Gnome 16.04 "Software "应用程序(本机包管理器)更新了内核,在更新时崩溃了。

为了解决这个问题,我执行了以下操作:

  • 重新引导Linux,在出现开机屏幕时,按Shift键后,进入grub菜单;
  • 从菜单中选择以前的Linux版本,在我的例子*4.4.0-21-generic和按Enter
  • 一旦Ubuntu再次启动,卸载损坏的linux-image。在我的例子中,*4.4.0-59-generic (我使用Synaptic管理器);
  • 下载并安装缺少的固件,Intel 网页(与Doug Smyties相同) ,在我的例子中,我下载了 KabyLake kbl DMC - Ver 1.01
  • 最后,再次安装Linux内核*4.4.0-59-generic ,

讨论
Tianye profile image