[OE-core] [PATCH 1/2] kernel-headers: linux kernel headers

Bruce Ashfield bruce.ashfield at gmail.com
Wed Aug 5 02:20:11 UTC 2015


On Mon, Aug 3, 2015 at 5:35 PM, Juro Bystricky <juro.bystricky at intel.com> wrote:
> Header files and scripts for building modules for Linux kernel.
>
> A set of files is needed to allow building new Linux kernel modules
> against an already installed Linux kernel. The files include various
> header files, script files, Makefiles, source code files for several
> utility programs and Linux kerenl .config file.

We already have our kernel devsrc packages. This is simply creating more
copies of the same functionality.

If you have issues with devsrc .. why aren't you fixing it ? It certainly
shouldn't be left as is, while introducing something new.

Bruce

>
> The files may be needed by programs such as:
>     dkms, nvidia-304xx-dkms, virtualbox, acpi_call, audit,
>     bbswitch, ipsec-tools, nvidia-304xx, nvidia-340xx, openssh,
>     r8168, rt3562sta, sysprof, tp_smapi, vhba-module, kmod, ...
>
> Signed-off-by: Juro Bystricky <juro.bystricky at intel.com>
> ---
>  meta/recipes-kernel/linux/kernel-headers.bb | 66 +++++++++++++++++++++++++++++
>  1 file changed, 66 insertions(+)
>  create mode 100644 meta/recipes-kernel/linux/kernel-headers.bb
>
> diff --git a/meta/recipes-kernel/linux/kernel-headers.bb b/meta/recipes-kernel/linux/kernel-headers.bb
> new file mode 100644
> index 0000000..4be5153
> --- /dev/null
> +++ b/meta/recipes-kernel/linux/kernel-headers.bb
> @@ -0,0 +1,66 @@
> +SUMMARY = "Linux kernel headers"
> +DESCRIPTION = "Files needed to allow building Linux kernel modules against the installed Linux kernel."
> +
> +SECTION = "kernel"
> +
> +LICENSE = "GPLv2"
> +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
> +
> +inherit module-base linux-kernel-base
> +
> +INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
> +INHIBIT_PACKAGE_STRIP = "1"
> +
> +# Install the files once the kernel is done with them.
> +do_install[depends] += "virtual/kernel:do_compile"
> +do_install[depends] += "virtual/kernel:do_populate_sysroot"
> +
> +# Only install is needed
> +do_fetch[noexec] = "1"
> +do_unpack[noexec] = "1"
> +do_patch[noexec] = "1"
> +do_configure[noexec] = "1"
> +do_compile[noexec] = "1"
> +do_populate_sysroot[noexec] = "1"
> +
> +S = "${STAGING_KERNEL_DIR}"
> +
> +do_install() {
> +        kerneldir=${D}/lib/modules/${KERNEL_VERSION}/build
> +        install -d $kerneldir
> +
> +        cp -a  ${STAGING_KERNEL_BUILDDIR}/.config $kerneldir
> +        cp -aR ${STAGING_KERNEL_BUILDDIR}/include $kerneldir
> +        cp -aR ${STAGING_KERNEL_BUILDDIR}/arch $kerneldir
> +
> +        cd ${S}
> +
> +        rsync -avm \
> +        --include="*/" \
> +        --include="Makefile*" \
> +        --include="Kconfig*" \
> +        --include="Kbuild*" \
> +        --include="Module.symvers" \
> +        --include=".config" \
> +        --include="*.h" \
> +        --exclude="*" \
> +        . $kerneldir
> +
> +        rsync -avm \
> +        --exclude="*.o"  \
> +        --exclude=".debug" \
> +        ./scripts $kerneldir
> +
> +        # As of Linux kernel version 3.0.1, the clean target removes
> +        # arch/powerpc/lib/crtsavres.o which is present in
> +        # KBUILD_LDFLAGS_MODULE, making it required to build external modules.
> +        if [ ${ARCH} = "powerpc" ]; then
> +                mkdir -p $kerneldir/arch/powerpc/lib/
> +                cp ${B}/arch/powerpc/lib/crtsavres.o $kerneldir/arch/powerpc/lib/crtsavres.o
> +        fi
> +}
> +
> +PACKAGES = "${PN}"
> +FILES_${PN} = "/lib/modules/${KERNEL_VERSION}/build/"
> +RDEPENDS_${PN} = "python bash gawk perl"
> +
> --
> 1.9.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"



More information about the Openembedded-core mailing list