Bug 1151552

Summary: split kernel-firmware from kernel:stable produces warnings
Product: [openSUSE] openSUSE Distribution Reporter: Andreas Jaeger <aj>
Component: KernelAssignee: E-mail List <kernel-maintainers>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: aj, chewi, daniel, fkrueger, msuchanek, tiwai
Version: Leap 15.1   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Andreas Jaeger 2019-09-22 14:38:42 UTC
I've added kernel:stable to my system and just installed the split firmware packages and get warnings during generation of initrd like:

dracut: Possible missing firmware "i915/bxt_dmc_ver1_07.bin" for kernel module "i915.ko"
dracut: Possible missing firmware "i915/skl_dmc_ver1_27.bin" for kernel module "i915.ko"
dracut: Possible missing firmware "i915/kbl_dmc_ver1_04.bin" for kernel module "i915.ko"
dracut: Possible missing firmware "i915/glk_dmc_ver1_04.bin" for kernel module "i915.ko"
dracut: Possible missing firmware "i915/cnl_dmc_ver1_07.bin" for kernel module "i915.ko"
dracut: Possible missing firmware "i915/icl_dmc_ver1_07.bin" for kernel module "i915.ko"
dracut: Possible missing firmware "i915/icl_guc_32.0.3.bin" for kernel module "i915.ko"
dracut: Possible missing firmware "i915/glk_guc_32.0.3.bin" for kernel module "i915.ko"
dracut: Possible missing firmware "i915/kbl_guc_32.0.3.bin" for kernel module "i915.ko"
dracut: Possible missing firmware "i915/bxt_guc_32.0.3.bin" for kernel module "i915.ko"
dracut: Possible missing firmware "i915/skl_guc_32.0.3.bin" for kernel module "i915.ko"
dracut: Possible missing firmware "i915/icl_huc_ver8_4_3238.bin" for kernel module "i915.ko"
dracut: Possible missing firmware "i915/glk_huc_ver03_01_2893.bin" for kernel module "i915.ko"
dracut: Possible missing firmware "i915/kbl_huc_ver02_00_1810.bin" for kernel module "i915.ko"
dracut: Possible missing firmware "i915/bxt_huc_ver01_8_2893.bin" for kernel module "i915.ko"
dracut: Possible missing firmware "i915/skl_huc_ver01_07_1398.bin" for kernel module "i915.ko"

Seems that dracut is not aware of the file, it exists now as xz file like:

$ ls -l /lib/firmware/i915/glk_*
-rw-r--r-- 1 root root  2296 Sep 11 10:34 /lib/firmware/i915/glk_dmc_ver1_04.bin.xz
-rw-r--r-- 1 root root 73596 Sep 11 10:34 /lib/firmware/i915/glk_guc_32.0.3.bin.xz
-rw-r--r-- 1 root root 75240 Sep 11 10:34 /lib/firmware/i915/glk_guc_33.0.0.bin.xz
-rw-r--r-- 1 root root 65440 Sep 11 10:34 /lib/firmware/i915/glk_huc_ver03_01_2893.bin.xz

I suggest to release an online so that this is handled properly - even if outside of 15.1 scope.
Comment 1 Frank Krüger 2019-09-22 15:38:06 UTC
FYI: Works fine for TW20190920 and kernel:stable repo, which is probably due to dracut 049+git104.1244eed7:

Mo Aug 26 2019 daniel.molkentin@suse.com
- Update to version 049+git108.6c9d1156:
  * ...
  * dracut-install: Support the compressed firmware files correctly (boo#1146769)
  * ...

while Leap 15.1 still has 044.2.
Comment 2 Takashi Iwai 2019-09-22 16:48:56 UTC
Right, that's an unsupported combination.  It requires the latest dracut and the latest kernel (and no kernel installed that is older than 5.3).

Maybe it could add the additional requirement dracut >= 049.
But I'll be on vacation for the next weeks, so someone else needs to take care of it instead.
Comment 3 Takashi Iwai 2019-09-23 08:02:40 UTC
I updated the package quickly now.  The split/compressed packages got the dependency on dracut >= 049.
Comment 4 James Le Cuirot 2019-09-28 18:13:27 UTC
(In reply to Takashi Iwai from comment #3)
> I updated the package quickly now.  The split/compressed packages got the
> dependency on dracut >= 049.

Which package did you update exactly? I have a Leap 15.1 system with the Kernel:stable repo and fell into this trap today, leaving me with an unbootable system. dracut 044.2-lp151.2.3.1 is still the only version offered to me.
Comment 5 Andreas Jaeger 2019-09-29 07:38:47 UTC
Not fixed in kernel:stable.

James, my suggestion for you:
rpm -e all kernel-firmware-X modules
zypper in kernel-firmware
zypper al kernel-firmware-all

The al = addlock will prevent to get it kernel-firmware-all installed.
Comment 6 James Le Cuirot 2019-09-29 10:32:35 UTC
(In reply to Andreas Jaeger from comment #5)
> Not fixed in kernel:stable.
> 
> James, my suggestion for you:
> rpm -e all kernel-firmware-X modules
> zypper in kernel-firmware
> zypper al kernel-firmware-all
> 
> The al = addlock will prevent to get it kernel-firmware-all installed.

Thank you for the help, although I was able to recover it myself by bodging a quick fix into dracut myself. Hopefully you'll resolve this one way or another soon and I'll hold off any further updates till then.
Comment 7 Daniel Molkentin 2019-09-29 18:55:52 UTC
Please let me know if we need to retrofit the Dracut version of Leap with the support for compressed firmware. Usually, the policy is to only fix bugs with packages supported by Leap itself, but I see the point in being able to test the latest (stable) kernel.
Comment 8 Andreas Jaeger 2019-09-30 06:15:04 UTC
(In reply to Daniel Molkentin from comment #7)
> Please let me know if we need to retrofit the Dracut version of Leap with
> the support for compressed firmware. Usually, the policy is to only fix bugs
> with packages supported by Leap itself, but I see the point in being able to
> test the latest (stable) kernel.

Daniel, I think we should make an exception here and update dracut for 15.1 so that it supports compressed firmware.
Comment 9 Daniel Molkentin 2019-09-30 09:21:50 UTC
Due to Takashis quick fix the problem will no longer occur. Do you want to revert his fix then?
Comment 10 Andreas Jaeger 2019-09-30 11:20:57 UTC
Takashi's quick fix does not work, I don't know what he did ;/

Let's first release dracut, then revert the fix.
Comment 11 Andreas Jaeger 2019-09-30 11:27:03 UTC
https://build.opensuse.org/package/view_file/home:tiwai:fw-compress3/kernel-firmware/kernel-firmware.changes?expand=1 has the change by Takashi

Kernel:HEAD has the change as well.

https://build.opensuse.org/package/show/Kernel:stable/kernel-firmware does not have the change.

So, fix dracut, update the kernel-firmware change, figure out why kernel-firmware is not build in Kernel:stable is my suggested plan.
Comment 12 Daniel Molkentin 2019-09-30 12:14:13 UTC
I just added the kernel-stable repo, and updated using vendor change. That update kept the kernel-firmware package, and I could keep my old kernel. After installing kernel-firmware-all, I now have a working test environment, but it also means it will uninstall all distro kernels. Is that what we want?
Comment 13 Daniel Molkentin 2019-09-30 13:13:27 UTC
Please check home:dmolkentin:branches:OBS_Maintained:dracut/dracut.SUSE_SLE-15_Update for the proposed update.
Comment 14 Andreas Jaeger 2019-09-30 15:22:09 UTC
Now kernel-firmware is updated to block the dracut update, Daniel ;)

I had to force in the kernel-firmware packages and testing was fine.

So, your dracut update is good (no warnings shown, system booted up).

I propose:
1) Get your dracut update released
2) revert the kernel-firmware-all < dracut 049 change.

Ok?
Comment 15 Andreas Jaeger 2019-10-01 06:29:29 UTC
Updated kernel-firmware packages are available at:

https://build.opensuse.org/package/show/home:a_jaeger:branches:Kernel:HEAD/kernel-firmware

I'll submit those once dracut update is available.
Comment 19 Takashi Iwai 2019-10-17 11:42:13 UTC
Now I'm back to work, and trying to catch up.

So, didn't my previous workaround (adding Requires: dracut >= 049 to kernel-firmware-xxx packages) work as expected?  I thought it worked out when I tested on VM, but maybe I overlooked something.

Exactly what kind of behavior did it show?

Basically, we shouldn't install compressed firmware packages even if the patched dracut is installed.  The other components (e.g. module-init-tools script) may be incompatible with it.

Of course, it'd be still safer to add the support to dracut; user may install the compressed firmware files manually, too.
Comment 20 Andreas Jaeger 2019-10-17 13:11:51 UTC
(In reply to Takashi Iwai from comment #19)
> Now I'm back to work, and trying to catch up.
> 
> So, didn't my previous workaround (adding Requires: dracut >= 049 to
> kernel-firmware-xxx packages) work as expected?  I thought it worked out
> when I tested on VM, but maybe I overlooked something.

It worked in the end. But it took one week for that change to show up in the obs Kernel:stable and I was confused during that time.

> Exactly what kind of behavior did it show?
> 
> Basically, we shouldn't install compressed firmware packages even if the
> patched dracut is installed.  The other components (e.g. module-init-tools
> script) may be incompatible with it.

It works for me ;)
 
> Of course, it'd be still safer to add the support to dracut; user may
> install the compressed firmware files manually, too.

Agreed.
Comment 21 Takashi Iwai 2019-10-18 05:10:37 UTC
OK, then let's close again.
Comment 22 Swamp Workflow Management 2019-10-18 19:18:21 UTC
SUSE-RU-2019:2717-1: An update that has 7 recommended fixes can now be installed.

Category: recommended (moderate)
Bug References: 1121238,1140872,1142775,1150343,1151552,1152006,1152650
CVE References: 
Sources used:
SUSE Linux Enterprise Module for Open Buildservice Development Tools 15-SP1 (src):    dracut-044.2-18.32.2
SUSE Linux Enterprise Module for Open Buildservice Development Tools 15 (src):    dracut-044.2-18.32.2
SUSE Linux Enterprise Module for Basesystem 15-SP1 (src):    dracut-044.2-18.32.2
SUSE Linux Enterprise Module for Basesystem 15 (src):    dracut-044.2-18.32.2

NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.
Comment 23 Swamp Workflow Management 2019-10-23 22:11:53 UTC
openSUSE-RU-2019:2370-1: An update that has 7 recommended fixes can now be installed.

Category: recommended (moderate)
Bug References: 1121238,1140872,1142775,1150343,1151552,1152006,1152650
CVE References: 
Sources used:
openSUSE Leap 15.0 (src):    dracut-044.2-lp150.14.33.1
Comment 24 Swamp Workflow Management 2019-10-24 22:14:31 UTC
openSUSE-RU-2019:2372-1: An update that has 7 recommended fixes can now be installed.

Category: recommended (moderate)
Bug References: 1121238,1140872,1142775,1150343,1151552,1152006,1152650
CVE References: 
Sources used:
openSUSE Leap 15.1 (src):    dracut-044.2-lp151.2.6.1