[pcmcia] ".unconfigured" kills `depmod -a'.
There is a file ".unconfigured" in the PCMCIA modules directory that
causes `depmod -a' to fail, and thus the `modconf' to fail. Who is
responsible for that file being in there?
This is where the `Cannot read ELF header' messages is coming from.
I came across this information in a HOWTO about setting up multiple
ethernet cards &c. It says that `depmod' used to work with non ELF
files under the modules directory, but now it will not tolerate them,
and will print the infamous error. It does not finish building the
"modules.dep" file either, apparently. It ought to print that only
as a warning, on stderr, I think, and continue. Someone ought to fix
this for `potato', IMO. I leave it to the `modconf' maintainer,
while I work on the archive filesystem layout thing.
`modconf' doesn't work right either. I tried to use it to insert
some ethernet drivers in a box I just built, and it failed with a
"device or resource busy" message. I went to vt2, and ran `depmod
-a'. It printed the "cannot read ELF header" message, so I went into
/lib/modules/2.2.14/ and removed pcmcia/.unconfigured, then ran
`depmod -a' again. IIRC, this time I got a bunch of unresolved
symbol errors. It may be that the pcmcia modules package I made
didn't really match the kernel-image package I made after
all... (probably).
Anyway, after that I `rm -rf pcmcia' and ran `depmod -a' agian, then
switched back to vt1 and selected "Configure modules" again. It
failed again with the same error, "device or resource busy". I
switched back to vt2, and ran `modprobe ne', and got the same error
again. (I think I had to use `dmesg' to read the error.) Now I ran
`modprobe ne io=0x300 irq=10', and it worked. I had used the same
arguments in `modconf', so all of this leads me to believe that
`modconf' is NOT passing the arguments entered in the dialog box on
to the `modprobe' command it ostensibly executes. I have NOT looked
to see for myself yet.
After rebooting, I got the infamous `kbd -> console-tools' errors
that are likely already fixed if I make a newer build... No big deal
then.
The modutils/ and modules stuff was NOT set up right; I had to edit
it by hand. Here's what I'd like `modconf' to do to make the
configuration that I did by hand.
I want it to know that this is an ethernet driver, and that the
arguments I give in the dialog need to be written out to
"/target/etc/modutils/$driver_name" as an "options $driver_name ..."
line. Then I want it to write a file called
"/target/etc/modutils/ethernet-aliases", and put "alias eth0
$driver_name" in there. If I configure a second ethernet card by
inserting another module, I want it to alias that one to "eth1", &c.
In "/etc/modules", it should put a line in for "eth0", calling it by
the alias, rather than by the $driver_name. After it finishes, it
needs to call on `update-modules' to build the "/etc/modules.conf"
file.
"Configure the Network" already asks you which interface to
configure, I found. I don't think it loops for the second
interface... (cannot recall if it did.) It ought to, just as a
convienience.
Reply to: