Bug 1214419

Summary: /usr/lib/dracut/dracut-install: invalid option -- 'u'
Product: [openSUSE] openSUSE Distribution Reporter: Felix Miata <mrmazda>
Component: KernelAssignee: dracut maintainers <dracut-maintainers>
Status: RESOLVED INVALID QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: antonio.feijoo
Version: Leap 15.5   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: konsole session log from installing 5.14.21-150400.24.81.1-default

Description Felix Miata 2023-08-20 17:43:41 UTC
Created attachment 868899 [details]
konsole session log from installing 5.14.21-150400.24.81.1-default

syntax error and usage message installing new kernel in 15.4 and 15.5:
/usr/lib/dracut/dracut-install: invalid option -- 'u'
Comment 1 Antonio Feijoo 2023-08-21 08:16:45 UTC
> dracut: *** Including module: suse-initrd ***
> ...
> dracut: FAILED: ... -m -usb_storage

This parameter should be `-m usb_storage`, otherwise it's interpreted as `-u`.

The suse-initrd module installs kernel modules depending on some system specific configuration (usually the `INITRD_MODULES` variable in /etc/sysconfig/kernel or the `# SUSE INITRD` comment in modprobe conf files). Could you check if `-usb_storage` is set there, or run `dracut -f --debug` and attach the output to grab the place where this wrong parameter is taken?
Comment 2 Felix Miata 2023-08-21 10:05:42 UTC
# ls -gG /etc/sysconfig/kernel
-rw-r--r-- 1 2008 Feb 13  2015 /etc/sysconfig/kernel
# grep usb /etc/sysconfig/kernel
INITRD_MODULES="-usb_storage "
# ls -gG /root | grep 2016
-rw-------  1      22 Feb 13  2016 .dmrc
-rw-r--r--  1     350 Feb 13  2016 .gtkrc-2.0
-rw-rw-r--  1     332 Feb 13  2016 .gtkrc-2.0-kde
drwx------  5    1024 Feb 13  2016 .kde
-rw-------  1     396 Feb 13  2016 .kderc
drwxr-xr-x  3    1024 Feb 13  2016 .mcop
drwxrwxr-x  2    1024 Feb 13  2016 .qt
drwxrwxr-x  2    1024 Feb 13  2016 .skel
drwxr-xr-x  2    1024 Feb 13  2016 Desktop
drwx------  2    1024 Feb 12  2016 Downloads
drwxr-xr-x  6    1024 Feb 12  2016 inst-sys
-rw-r--r--  1  133438 Feb 13  2016 user-packages-00srv-s421.xml
-rw-r--r--  1  133438 Feb 13  2016 user-packages.xml
-rw-rw-r--  1 2213575 Feb 15  2016 y2l-gx151-13132to421.tgz
#

I have no explanation why /etc/sysconfig/kernel contains that line. The original is 2 years older and contains INITRD_MODULES="". It's a multiboot but otherwise ordinary desktop PC that in 2015 was running on an 80GB Seagate HDD.

In addition to the 15.4 and 15.5 installations on which this occurred on Sunday, ISTR seeing the same thing in recent previous weeks elsewhere. I booted 11 15.5s in the past hour without finding same "invalid" string in /var/log/zypp/history or string "usb_storage" in /etc/sysconfig/kernel in any of them, so it looks like probably a one timer, with OP's 15.5 a dup from a 15.4 cloning.
Comment 3 Antonio Feijoo 2023-08-21 10:28:09 UTC
(In reply to Felix Miata from comment #2)
> # grep usb /etc/sysconfig/kernel
> INITRD_MODULES="-usb_storage "

This way of force loading kernel modules comes from the old mkinitrd compatibility. I don't know who/what put that wrong parameter there in the past, but if you really need to force the addition of a kernel module in the initrd, I suggest you use the dracut way, via `add_drivers` in a dracut conf file.

Other than that, there is nothing to fix on the dracut package.