Re: external modules documentation

Sam Ravnborg
2004-09-27T05:25:33Z

On Thu, Sep 23, 2004 at 10:24:50PM +0200, Arkadiusz Miskiewicz wrote:
> On Saturday 18 of September 2004 13:29, Christoph Hellwig wrote:
> > Sam,
> >
> > is there any reason your patch from June still isn't merged?
> >
> [...]
> > +Prepare the kernel for building external modules
> > +------------------------------------------------
> > +When building external modules the kernel is expected to be prepared.
> > +This includes the precense of certain binaries, the kernel configuration
> > +and the symlink to include/asm.
> > +To do this a convinient target is made:
> > +
> > + make modules_prepare
> > +
> > +For a typical distribution this would look like the follwoing:
> > +
> > + make modules_prepare O=/lib/modules/linux-<kernel version>/build
> Tthis means that one, unmodified source tree is _not_ usable for multiple
> architectures. You can't use the same, prepared sources and for example
> create noarch.rpm or burn on cd and then use for external modules building on
> different architectures.

You are doing it wrong.
You need in your case one source tree, several output dirs.
So use
make ARCH=sparc CROSS_COMPILE=xxx O=~/build/sparc ...

make ARCH=ppc CROSS_COMPILE=xxx O=~/build/ppc ...

The patch below is flawed.

>
> We are using this:
> http://cvs.pld-linux.org/cgi-bin/cvsweb/SOURCES/linux-kbuild-extmod.patch?rev=1.2
> to get external modules working for multiple archs with the same sources:
> http://cvs.pld-linux.org/cgi-bin/cvsweb/SPECS/template-kernel-module.spec?rev=1.14

Sam