[OE-core] [PATCH 3/4] kernel: Add kernel-headers package for target module build

Darren Hart dvhart at linux.intel.com
Fri Jun 29 05:50:30 UTC 2012



On 06/28/2012 09:52 PM, Khem Raj wrote:
> On Thu, Jun 28, 2012 at 9:18 PM, Darren Hart <dvhart at linux.intel.com> wrote:
>> [YOCTO #1614]
>>
>> Add a kernel-headers package to kernel.bbclass. This packages
>> effectively packages what was already built and kept in sysroots for
>> building modules with bitbake. Making this available on the target
>> requires removing some additional host binaries.
>>
>> Move the location to /usr/src/kernel-headers.
>>
>> Before use on the target, the user will need to:
>>
>>    # cd /usr/src/kernel-headers
>>    # make scripts
>>
> 
> IMO using kernel-headers may not be representing the package contents
> correctly since I believe it contains more than headers. Its probably
> kernel-dev or external-lkm-dev or somesuch.

I modeled the name after ubuntu which uses the name "linux-headers".
Fedora calls it "kernel-devel". I chose the prefix "kernel" as that is
what all the rest of the packages start with and I chose "headers" as I
am most familiar with the Debian world (he says from his FC17 laptop...).

However, I don't have a strong opinion here, I'll happily call it
kernel-devel if that is strongly preferred by some.

--
Darren

> 
>> Signed-off-by: Darren Hart <dvhart at linux.intel.com>
>> CC: Bruce Ashfield <bruce.ashfield at windriver.com>
>> CC: Tom Zanussi <tom.zanussi at intel.com>
>> CC: Khem Raj <raj.khem at gmail.com>
>> ---
>>  meta/classes/kernel.bbclass |   11 +++++++----
>>  meta/conf/bitbake.conf      |    2 +-
>>  2 files changed, 8 insertions(+), 5 deletions(-)
>>
>> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
>> index 31e633b..b82af74 100644
>> --- a/meta/classes/kernel.bbclass
>> +++ b/meta/classes/kernel.bbclass
>> @@ -130,7 +130,7 @@ kernel_do_install() {
>>        # Support for external module building - create a minimal copy of the
>>        # kernel source tree.
>>        #
>> -       kerneldir=${D}/kernel
>> +       kerneldir=${D}/usr/src/kernel-headers
>>        install -d $kerneldir
>>
>>        #
>> @@ -183,10 +183,11 @@ kernel_do_install() {
>>                cp arch/powerpc/lib/crtsavres.o $kerneldir/arch/powerpc/lib/crtsavres.o
>>        fi
>>
>> -       # Remove the following binaries which cause strip errors
>> +       # Remove the following binaries which cause strip or arch QA errors
>>        # during do_package for cross-compiled platforms
>>        bin_files="arch/powerpc/boot/addnote arch/powerpc/boot/hack-coff \
>> -                  arch/powerpc/boot/mktree"
>> +                  arch/powerpc/boot/mktree scripts/kconfig/zconf.tab.o \
>> +                  scripts/kconfig/conf.o"
>>        for entry in $bin_files; do
>>                rm -f $kerneldir/$entry
>>        done
>> @@ -247,13 +248,15 @@ EXPORT_FUNCTIONS do_compile do_install do_configure
>>
>>  # kernel-base becomes kernel-${KERNEL_VERSION}
>>  # kernel-image becomes kernel-image-${KERNEL_VERISON}
>> -PACKAGES = "kernel kernel-base kernel-vmlinux kernel-image kernel-dev kernel-misc"
>> +PACKAGES = "kernel kernel-base kernel-vmlinux kernel-image kernel-dev \
>> +            kernel-misc kernel-headers"
>>  FILES = ""
>>  FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}*"
>>  FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers* /boot/config*"
>>  FILES_kernel-vmlinux = "/boot/vmlinux*"
>>  # misc is a package to contain files we need in staging
>>  FILES_kernel-misc = "/kernel/include/config /kernel/scripts /kernel/drivers/crypto /kernel/drivers/media"
>> +FILES_kernel-headers = "/usr/src/kernel-headers"
>>  RDEPENDS_kernel = "kernel-base"
>>  # Allow machines to override this dependency if kernel image files are
>>  # not wanted in images as standard
>> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
>> index 9b26580..9f3abee 100644
>> --- a/meta/conf/bitbake.conf
>> +++ b/meta/conf/bitbake.conf
>> @@ -380,7 +380,7 @@ SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}"
>>  ##################################################################
>>
>>  OLDEST_KERNEL = "2.6.16"
>> -STAGING_KERNEL_DIR = "${STAGING_DIR_HOST}/kernel"
>> +STAGING_KERNEL_DIR = "${STAGING_DIR_HOST}/usr/src/kernel-headers"
>>
>>  ##################################################################
>>  # Specific image creation and rootfs population info.
>> --
>> 1.7.10.2
>>

-- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel






More information about the Openembedded-core mailing list