Re: Solution to problem with loading modules in 2.1.4/2.1.5

babydr (babydr@nwrain.net)
Sun, 20 Oct 1996 23:00:48 -0700 (PDT)


Hello All, Is the below mentioned libc-* the one to
use under 2.1.x kernel tree & is there a good
page or Faq for installing these 'wonderful' changes
to the core of a kernel/filesystem. The last time I
played around with installing a -new- libc (pre-linux2.0)
to be able to compile the new & greatly improved linux-2.0.x
the 'scheme' I used, seemed to break 1/3 of all the 'tools'
(ie: net, file, a couple more ), I'm just a little gun shy
after that last episode.

The only real cure (for me) was to purchase the slackware96.
This time I beleive that Slackware96(1/2) will be a little
ways off to wait for...

PS. I've learned more from these mailing lists & the 5-7 times
I've had to reload because I've broken something than .... ;-)

Any helpful suggestions, Please JimL

On Sat, 19 Oct 1996, Rob Glover wrote:

> Date: Sat, 19 Oct 1996 21:38:20 -0700 (PDT)
> From: Rob Glover <potato@dsnet.com>
> To: Al Longyear <longyear@netcom.com>
> Cc: linux-kernel@vger.rutgers.edu
> Subject: Re: Solution to problem with loading modules in 2.1.4/2.1.5
>
> upgrade to libc-5.4.9. simple as that :>
>
> On Sat, 19 Oct 1996, Al Longyear wrote:
>
> > 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.
> >
> >
>
>
>