Bug 221815

Summary: yast should blacklist broken modules
Product: [openSUSE] openSUSE 10.2 Reporter: Steffen Winterfeldt <snwint>
Component: YaST2Assignee: Lukas Ocilka <locilka>
Status: VERIFIED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Critical    
Priority: P5 - None CC: aj, fmfischer, jsrain, wstephenson
Version: Beta 2 plus   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Steffen Winterfeldt 2006-11-16 17:40:10 UTC
[see bug 221600]

Modules that are blacklisted with 'brokenmodules=foo' during installation
should be blacklisted in the installed system as well (in /etc/modprobe.d/blacklist).
Comment 1 Stefan Hundhammer 2006-11-17 12:07:14 UTC
That's a big too vague IMHO. What module are you talking about? Whom am I to assign that to?
Comment 2 Steffen Winterfeldt 2006-11-17 12:22:34 UTC
See e.g. bug 221600. You can give 'brokenmodules=foo,bar' at the command
line and linuxrc will not load those modules and pass the option via
install.inf to yast. yast knows about it and will not load any of
those modules, too (during installation).

What is missing is yast blacklisting those modules in the installed system
to prevent hotplug from loading them.
Comment 3 Stefan Hundhammer 2006-11-17 15:19:52 UTC
Lukas, any clue how to integrate that into the installation workflow?
Comment 4 Lukas Ocilka 2006-11-20 07:52:21 UTC
Hmm...

1.) This is a feature request.
2.) What is expected from YaST? To write the content of the 'brokenmodules=foo,bar' into /etc/modprobe.d/blacklist file during the installation? For both 'installation' and 'update'?
Comment 5 Lukas Ocilka 2006-11-20 09:41:57 UTC
Andreas: could you, please, confirm or decline?
Comment 6 Andreas Jaeger 2006-11-20 09:51:15 UTC
I'm under the impression that something like this worked with 10.1 but not anymore with 10.2.

I would accept such a change today.  Can you do it? Or is it too intrusive?
Comment 7 Steffen Winterfeldt 2006-11-20 10:32:15 UTC
No, didn't work in the past. This would be completely new.

The thing to do would be to convert brokenmodules=foo,bar into

blacklist foo
blacklist bar

and append that to /etc/modprobe.d/blacklist (at least I think so),
probably both update and installation.
Comment 10 Lukas Ocilka 2006-11-20 14:18:58 UTC
This is the change made by "BrokenModules: foo,bar" in /etc/install.inf

------ cut ------
--- blacklist.backup    2006-11-08 18:30:55.000000000 +0100
+++ blacklist   2006-11-20 14:32:43.000000000 +0100
@@ -254,3 +254,8 @@
 # is loaded first it will grab the device. Then intel-agp doesn't work.
 # Therefore we disable automatic loading of 82875p_edac. (Bug 213840)
 blacklist i82875p_edac
+
+
+# Note: Entries added during installation/update (Bug 221815)
+blacklist foo
+blacklist bar
------ cut ------

changes file:
- Adding modules listed in Linuxrc entry brokenmodules into the
  /etc/modprobe.d/blacklist file (#221815).

Implemented in yast2-installation 2.13.170 and 2.14.11

More about implementation:
  - Implemented in /usr/share/YaST2/include/installation/misc.ycp
  - Called from copy_files_finish.ycp client via AdjustModprobeBlacklist() 
    function (Before SCR is switched into the installed system).
  - It uses SCR::Read/Write(.target.string, ...) to be as simple as
    possible. No other SCR Agent has been added.

The bugfix has been tested with injected /etc/install.inf, Steffen, please, make sure the new Linuxrc will contain this entry if 'brokenmodules' are present.
Comment 12 Steffen Winterfeldt 2006-11-20 15:17:44 UTC
ok, latest linuxrc writes a BrokenModules entry
Comment 13 Lukas Ocilka 2006-11-22 11:29:40 UTC
*** Bug 223136 has been marked as a duplicate of this bug. ***
Comment 14 Frank-Michael Fischer 2006-11-22 12:15:20 UTC
Bug 223136 shows that YaST2 does not use /etc/modprobe.d/blacklist. So as much it is desirable to have an automatic transfer from brokenmodules to /etc/modprobe.d/blacklist, what good is it when e.g. YaST2 LAN does not use /etc/modprobe.d/blacklist later on?
Comment 15 Lukas Ocilka 2006-11-22 12:19:41 UTC
Maybe I'm wrong but `modprobe` should use that blacklist.
YaST LAN could call `modprobe` and modprobe itself would refuse to load the module. Reopen that bug, please, (223136) if you feel that this one (221815) doesn't fix the problem.
Comment 16 Frank-Michael Fischer 2006-11-22 12:21:51 UTC
reopened bug 223136!
Comment 17 Will Stephenson 2006-11-28 14:53:19 UTC
Install now works all the way for me with brokenmodules=sata_promise - thanks for implementing this.