https://bugzilla.novell.com/show_bug.cgi?id=457037
User rob.opensuse.linux@googlemail.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=457037#c22
--- Comment #22 from Robert Davies 2008-12-10 08:03:34 MST ---
Tejun : I'd be very happy to let you have the controller. I should may be try
it in another box, to see if it magically starts working like Alan Cox's does.
I have a vague memory there may have been a firmware upgrade, that required
"another OS" that I didn't have to apply it (but I may have a copy of original
docs and/or packaging). As everything worked at time with the 2.4 ATA (IDE)
drivers, it may explain why some ppl have problems, and others not if it could
bite us now, after code reworked in pata_*.
Alexander :
In OS10.3 I did have to rebuild the initrd, and yes I did have pdc202xx_old in
the INITRD_MODULES line. So IIRC actually in 10.3 I had to do more than just
use "brokenmodules=pdc202xx_old" to get a working system. Now it has built the
module with pdc202xx_old (included however pata_pdc202xx_old to, but I guess
it's memory is freed with the initrd when unloaded when / is mounted and
/lib/modules becomes available). This faithfully does same as my self compiled
kernel without pata_pdc202xx_old module. Unfortunately somehow (used tune2fs
-L) I broke the logical volume that / is in and it won't mount, in 11.1 now,
thought it still does in 10.3. But I think I can fix it by copying root into a
new logical volume :) So no worries, it'll be one less Fedora-ism on the box.
*grin*
The need for driver selection is because in OpenSUSE, some newish
"experimental" code, needs to be tested by enthusiasts, before it gets given to
enterprise customers. In this case, patapdc202xx_old appears to work reliably
for some, and very unreliably for others, depending on some as yet unknown
factors in the hardware configurations. So whilst it'd help me considerably,
if pata_pdc202xx_old was disabled, it wouldn't get that code the usage in the
wild.
So for install to work on some boxes, there needs to be a way for the guru to
over-ride the default choices.
Question 1 : Does the initrd respect "brokenmodules=X" and skip X module, and
look for another driver?
If so, then would a solution be to add "duplicate" modules into the initrd?
Idea 1 : Creating a custom boot iso image CD, which loads and then ejects
requesting the Live (or installation) CD/DVD. How hard would a build custom
boot CD tool be?
Idea 2 : Support an alternative boot, using an initrd without pata_*, using
older IDE drivers, rather than the experimental ones. The drawback to this, is
that everytime an issue comes up with new "experimental" code, and tried and
tested "legacy" code, you'ld need to make another option. The complexity of
permutations would rapidly become unworkable, as someone may need different
permutations of options.
In general, the assumption that "the booted system should be reproduced", is
not a very safe one, because a competent sysadmin may need a number of
different kernels + initrd's to effectively make profiles. It's also not
totally unknown for /boot to be shared across more than 1 distro, or releases
of that distro (it may not have been 'supported' but it used to work).
However I think by altering INITRD_MODULES and building single kernel & initrd
with command line option to mkinitrd, I think the effect of "hardware profiles"
is actually achievable on an installed system.
Frankly if it is too hard to work with modules and initrd's, what'll happen is
that folk will start messing with custom compiled kernels, rather than use
generic and create support problems and worsen security through lack of
automatic updates.
Steffen:
I did a egrep -i in /etc/modprobe.d and nothing shows up for pdc202
The problem is that the boot code seems to be loading the module, via the
initrd,despite the brokenmodules=X parameter, and there they're just relying on
ordering when building the initrd.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.