Re: [PATCH 2/7] kernel: fix out of tree module builds

Richard Purdie
2014-12-19T11:51:46Z

On Fri, 2014-12-19 at 12:05 +0100, Enrico Scholz wrote:
> Bruce Ashfield <bruce.ashfield-CWA4WttNNZF54TAoqtyWWQ@public.gmane.org>
> writes:
>
> > With the kernel build optimizations, we no longer copy the source from
> > the built kernel into the staging dir, since the kernel is unpacked and built
> > directly from the staging dir.
> >
> > This means that a few build artifacts need to be restored to allow out of
> > tree modules to once again build.
> > ...
> > +
> > + # Copy files required for module builds
> > + cp System.map $kerneldir/System.map-${KERNEL_VERSION}
> > + cp Module.symvers $kerneldir/
> > + cp .config $kerneldir/
>
> This and the following lines seem to void the whole idea of the patchset
> because it means that only one kernel can be built. In our usecase we
> build usually two kernels: a full featured one for the main system and a
> minimal, initramfs based for a rescue system.
>
> With this change and building both kernels, it is ambiguous which
> System.map is used.

Regardless of how you do this, if you build two kernels, you still need
to choose one to build the main set of modules against. I'm therefore
not sure how this change makes anything particularly worst than what
existed before?

Building two kernels is currently fraught with difficulty anyway, to the
point of not being a currently well supported use case and the classes
would probably need to be refactored to allow such things to be well
supported. These changes do bring significant benefit to the most common
case users so we probably need to find a way to allow your use case to
work with the new model.

Cheers,

Richard