Messages in this thread | | | From | (Al Longyear) | Subject | Solution to problem with loading modules in 2.1.4/2.1.5 | Date | Sat, 19 Oct 1996 15:27:51 -0700 (PDT) |
| |
For the past couple of days I have been trying to make the 2.1.4 kernel work on my laptop system.
The laptop needs to use modules because the ethernet and modems are both PCMCIA cards and the PCMCIA support needs modules.
All attempts to load modules would fail with a message saying that the module load had some really strange error number such as 1032201031. (Clearly, this is not an error.)
This was with the 2.0.0 version of the modules utilities. I checked and this is the most current one as of last night.
It would fail to load _any_ module, including the ones built by the kernel's software such as the minix file system or the iso9660 file system. The problem was not with David Hinds' PCMCIA code, but was generic in nature.
It turns out to be a problem with syscall interface which changed at 2.1.4.
I debugged the insmod program and looked at the source for the module loader in the kernel. Yes, the return from the syscall(...) subroutine in the libc library was returning the error condition.
The version of the libc on that system is 5.4.7.
The reason that I brought libc into this message is that the insmod procedure uses syscall, not _syscall2 to interface to the operating system. The problem is that the syscall function was built with the old macros and only worked reliably on the the earlier 2.1 series kernels.
A solution, "just to make it work", was to change the insmod to use the macros _syscall2 and _syscall5 directly to build the interface procedures rather than to go through the syscall procedure.
Lo and behold, modules were loaded and everything worked.
That is not a recommended solution to anyone. The approach should be to correct the syscall interface in the libc file so that it follows the lines of the _syscall macros now in the kernel.
I am only saying that this is what I found and this is the problem and here is how I solved it for me for the time being. If you have similar problems with loading modules then perhaps you have the same problem.
In the mean time, I guess that I will just have to limp along with my patched version of insmod that seems to work now and can get back to my work on ppp.
-- Al Longyear longyear@netcom.com Finger for PGP key Design is about changing your mind until you get it correct.
| |