

argh!! burned by buggy pcmcia init script again!

  i can't believe i've burned by the same buggy pcmcia init script
yet again.  you think i'd learn.  or something.

  quite some time ago, after digging around trying to figure out
why my pcmcia was not starting properly after i'd built a new
2.4 kernel, i tracked the problem down to a weird condition
check in /etc/init.d/pcmcia (which i'd include here, except 
pine has just decided to not let me import files.  yeah, it's
been that kind of day.)

  in a nutshell, if you want to check that file, the script
does two different things depending on the structure of the
/lib/modules directory.

  in one case, if at the top level of a build's /lib/modules
directory, there's a .../pcmcia directory, the init script does
one thing.  if not, then it checks for another directory, 
.../kernel/drivers/pcmcia.  depending on what it finds, it
executes some "modprobe" commands in slightly different ways.
check for yourself.  (the difference involves whether or not
the module name to modprobe should have the .o suffix or not.)

  for the original modules directory, there is *no* top-level
pcmcia/ directory, so the correct set of modprobes is called,
and my modules are loaded, and networking works, yee ha.

  but after building a new kernel and modules directory, sure
enough, the "make modules_install" *does* install a top-level
pcmcia/ directory, which causes the wrong (and non-working)
set of modprobe's to be run.  damn.   damn damn damn.  and
that would certainly explain why i had no pcmcia_core or ds
modules loaded.  (side note:  this new kernel was, in fact,
built with gcc 3.3, so that didn't seem to be a problem).

  amazingly, the new /lib/modules directory still had the 
lower-level kernel/drivers/pcmcia directory, so all i did was
to remove the top-level pcmcia/ directory to get the old
behaviour back upon reboot.

  there's still a small problem with loading the pcmcia
modules, but i'll leave that until the next posting.  but what's
the rationale behind this weirdness in /etc/init.d/pcmcia?  it
seems *guaranteed* to cause a pcmcia failure if you build and
install a new kernel, because of the structure of the new
/lib/modules directory.


