On 2018-08-15 11:50 AM, Richard Purdie wrote:
On Wed, 2018-08-15 at 09:32 -0400, Bruce Ashfield wrote:
The existing kernel-devsrc package starts with a full copy of the
kernel
source and then starts to strip out elements that are not required.

This results in extra time (I/O) and extra space being taken up in
the
final package. The main purpose of the kernel-devsrc package has been
to
build modules against the running kernel, not to include a full copy
of
the source code for re-building the kernel. The end result was a
600M kernel-devsrc package.

This restructuring of the package uses an approach similar to other
distros, where the kernel-devsrc package is for building against the
running kernel and uses a curated set of copied infrastructure,
versus
a mass copy of the entire kernel.

The differences in this approach versus other is largely due to the
architecture support and the split build/source directory of the
kernel.

The result is a kernel-devsrc package of about 10M, which is capable
of running "make scripts" and compiling kernel modules against the
running kernel.

Along with the changes to the copying of the infrascture, we also
have the following changes:

  - a better/more explicit listing of dependencies for on-target
    builds of "make scripts" or "make modules_prepare"

  - The kernel source is installed into /lib/modules/<version>/build
    and a symlink created from /usr/src/kernel to the new location.
    This aligns with the standard location for module support
    code

  - There is also a symlink from /lib/modules/<version>/source ->
build
    to reserve a spot for a new package that is simply the kernel
    source. That package is not part of this update.

Signed-off-by: Bruce Ashfield <bruce.ashfi...@windriver.com>
---

Hopefully this fixes up the last of the issues, but at the very least
there will be less. I'll immediatly respin if the autombuilder finds
a combo I didn't test.

v2: drop DEPENDS on perf. We no longer need to depend on
     perf since the source is copied before modification.

v3: build fixes for:
       - DESCEND  objtool build failure
       - No rule to make target 'arch/mips/boot/tools/relocs_32.c'
       - No rule to make target 'arch/arm/tools/syscall.tbl'
       - No rule to make target 'arch/arm64/kernel/vdso/vdso.lds'

There has been one failure so far:

https://autobuilder.yocto.io/builders/build-appliance/builds/1201/steps/BuildImages_1/logs/stdio

I suspect we need to tweak the do_populate_poky_src task in the build-
appliance-image recipe given the kernel devsrc change.

I'll have a look!

Bruce


Other things are still building. Will reply if anything else comes up.

Cheers,

Richard




--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to