From: Darren Hart <dvhart@linux.intel.com>
To: Bruce Ashfield <bruce.ashfield@windriver.com>
Cc: openembedded-core@lists.openembedded.org, Poky <poky@yoctoproject.org>
Subject: Re: [PATCH 1/3] kernel: Add kernel headers to kernel-dev package
Date: Mon, 02 Jul 2012 06:32:52 -0700 [thread overview]
Message-ID: <4FF1A304.90204@linux.intel.com> (raw)
In-Reply-To: <4FEFC933.9090103@windriver.com>
On 06/30/2012 08:51 PM, Bruce Ashfield wrote:
> On 12-06-30 12:25 AM, Darren Hart wrote:
>> [YOCTO #1614]
>>
>> Add the kernel headers to the kernel-dev package. This 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
>>
>> Before use on the target, the user will need to:
>>
>> # cd /usr/src/kernel
>> # make scripts
>>
>> This renders the kernel-misc recipe empty, so remove it.
>>
>> As we use /usr/src/kernel in several places (and I missed one in the
>> previous version), add a KERNEL_SRC_DIR variable and use that throughout
>> the class to avoid update errors in the future.
>>
>> Now that we package the kernel headers, drop the
>> kernel_package_preprocess function which removed them from PKGD.
>>
>> All *-sdk image recipes include dev-pkgs, so the kernel-dev package will
>> be installed by default on all such images.
You picked a great spot to reply to. This last line is wrong, which is
why I had to add kernel-sdk to the sdk images in 3/3. That... or I'm
hitting bug 2595...
>
> Looks good to me .. hopefully we'll go no further than v3b!
>
> Cheers,
>
> Bruce
>
>>
>> Signed-off-by: Darren Hart<dvhart@linux.intel.com>
>> CC: Bruce Ashfield<bruce.ashfield@windriver.com>
>> CC: Tom Zanussi<tom.zanussi@intel.com>
>> CC: Khem Raj<raj.khem@gmail.com>
>> ---
>> meta/classes/kernel.bbclass | 27 ++++++++++++---------------
>> meta/conf/bitbake.conf | 2 +-
>> meta/recipes-kernel/linux/linux-yocto.inc | 2 +-
>> 3 files changed, 14 insertions(+), 17 deletions(-)
>>
>> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
>> index 31e633b..44461bc 100644
>> --- a/meta/classes/kernel.bbclass
>> +++ b/meta/classes/kernel.bbclass
>> @@ -77,6 +77,10 @@ EXTRA_OEMAKE = ""
>>
>> KERNEL_ALT_IMAGETYPE ??= ""
>>
>> +# Define where the kernel headers are installed on the target as well as where
>> +# they are staged.
>> +KERNEL_SRC_PATH = "/usr/src/kernel"
>> +
>> KERNEL_IMAGETYPE_FOR_MAKE = "${@(lambda s: s[:-3] if s[-3:] == ".gz" else s)(d.getVar('KERNEL_IMAGETYPE', True))}"
>>
>> kernel_do_compile() {
>> @@ -130,7 +134,7 @@ kernel_do_install() {
>> # Support for external module building - create a minimal copy of the
>> # kernel source tree.
>> #
>> - kerneldir=${D}/kernel
>> + kerneldir=${D}${KERNEL_SRC_PATH}
>> install -d $kerneldir
>>
>> #
>> @@ -183,23 +187,18 @@ 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
>> }
>>
>> -PACKAGE_PREPROCESS_FUNCS += "kernel_package_preprocess"
>> -
>> -kernel_package_preprocess () {
>> - rm -rf ${PKGD}/kernel
>> -}
>> -
>> sysroot_stage_all_append() {
>> - sysroot_stage_dir ${D}/kernel ${SYSROOT_DESTDIR}/kernel
>> + sysroot_stage_dir ${D}${KERNEL_SRC_PATH} ${SYSROOT_DESTDIR}${KERNEL_SRC_PATH}
>> }
>>
>> kernel_do_configure() {
>> @@ -247,13 +246,11 @@ 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"
>> FILES = ""
>> FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}*"
>> -FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers* /boot/config*"
>> +FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers* /boot/config* ${KERNEL_SRC_PATH}"
>> 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"
>> RDEPENDS_kernel = "kernel-base"
>> # Allow machines to override this dependency if kernel image files are
>> # not wanted in images as standard
>> @@ -469,7 +466,7 @@ python populate_packages_prepend () {
>> metapkg = "kernel-modules"
>> d.setVar('ALLOW_EMPTY_' + metapkg, "1")
>> d.setVar('FILES_' + metapkg, "")
>> - blacklist = [ 'kernel-dev', 'kernel-image', 'kernel-base', 'kernel-vmlinux', 'kernel-misc' ]
>> + blacklist = [ 'kernel-dev', 'kernel-image', 'kernel-base', 'kernel-vmlinux' ]
>> for l in module_deps.values():
>> for i in l:
>> pkg = module_pattern % legitimize_package_name(re.match(module_regex, os.path.basename(i)).group(1))
>> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
>> index 9377ee6..7e3de09 100644
>> --- a/meta/conf/bitbake.conf
>> +++ b/meta/conf/bitbake.conf
>> @@ -381,7 +381,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"
>>
>> ##################################################################
>> # Specific image creation and rootfs population info.
>> diff --git a/meta/recipes-kernel/linux/linux-yocto.inc b/meta/recipes-kernel/linux/linux-yocto.inc
>> index 9b46e74..973970d 100644
>> --- a/meta/recipes-kernel/linux/linux-yocto.inc
>> +++ b/meta/recipes-kernel/linux/linux-yocto.inc
>> @@ -4,7 +4,7 @@ LICENSE = "GPLv2"
>>
>> LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
>>
>> -INC_PR = "r3"
>> +INC_PR = "r4"
>>
>> # A KMACHINE is the mapping of a yocto $MACHINE to what is built
>> # by the kernel. This is typically the branch that should be built,
>
--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
WARNING: multiple messages have this Message-ID (diff)
From: Darren Hart <dvhart@linux.intel.com>
To: Bruce Ashfield <bruce.ashfield@windriver.com>
Cc: Kishore Bodke <kishore.k.bodke@intel.com>,
openembedded-core@lists.openembedded.org,
Poky <poky@yoctoproject.org>
Subject: Re: [PATCH 1/3] kernel: Add kernel headers to kernel-dev package
Date: Mon, 02 Jul 2012 06:32:52 -0700 [thread overview]
Message-ID: <4FF1A304.90204@linux.intel.com> (raw)
In-Reply-To: <4FEFC933.9090103@windriver.com>
On 06/30/2012 08:51 PM, Bruce Ashfield wrote:
> On 12-06-30 12:25 AM, Darren Hart wrote:
>> [YOCTO #1614]
>>
>> Add the kernel headers to the kernel-dev package. This 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
>>
>> Before use on the target, the user will need to:
>>
>> # cd /usr/src/kernel
>> # make scripts
>>
>> This renders the kernel-misc recipe empty, so remove it.
>>
>> As we use /usr/src/kernel in several places (and I missed one in the
>> previous version), add a KERNEL_SRC_DIR variable and use that throughout
>> the class to avoid update errors in the future.
>>
>> Now that we package the kernel headers, drop the
>> kernel_package_preprocess function which removed them from PKGD.
>>
>> All *-sdk image recipes include dev-pkgs, so the kernel-dev package will
>> be installed by default on all such images.
You picked a great spot to reply to. This last line is wrong, which is
why I had to add kernel-sdk to the sdk images in 3/3. That... or I'm
hitting bug 2595...
>
> Looks good to me .. hopefully we'll go no further than v3b!
>
> Cheers,
>
> Bruce
>
>>
>> Signed-off-by: Darren Hart<dvhart@linux.intel.com>
>> CC: Bruce Ashfield<bruce.ashfield@windriver.com>
>> CC: Tom Zanussi<tom.zanussi@intel.com>
>> CC: Khem Raj<raj.khem@gmail.com>
>> ---
>> meta/classes/kernel.bbclass | 27 ++++++++++++---------------
>> meta/conf/bitbake.conf | 2 +-
>> meta/recipes-kernel/linux/linux-yocto.inc | 2 +-
>> 3 files changed, 14 insertions(+), 17 deletions(-)
>>
>> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
>> index 31e633b..44461bc 100644
>> --- a/meta/classes/kernel.bbclass
>> +++ b/meta/classes/kernel.bbclass
>> @@ -77,6 +77,10 @@ EXTRA_OEMAKE = ""
>>
>> KERNEL_ALT_IMAGETYPE ??= ""
>>
>> +# Define where the kernel headers are installed on the target as well as where
>> +# they are staged.
>> +KERNEL_SRC_PATH = "/usr/src/kernel"
>> +
>> KERNEL_IMAGETYPE_FOR_MAKE = "${@(lambda s: s[:-3] if s[-3:] == ".gz" else s)(d.getVar('KERNEL_IMAGETYPE', True))}"
>>
>> kernel_do_compile() {
>> @@ -130,7 +134,7 @@ kernel_do_install() {
>> # Support for external module building - create a minimal copy of the
>> # kernel source tree.
>> #
>> - kerneldir=${D}/kernel
>> + kerneldir=${D}${KERNEL_SRC_PATH}
>> install -d $kerneldir
>>
>> #
>> @@ -183,23 +187,18 @@ 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
>> }
>>
>> -PACKAGE_PREPROCESS_FUNCS += "kernel_package_preprocess"
>> -
>> -kernel_package_preprocess () {
>> - rm -rf ${PKGD}/kernel
>> -}
>> -
>> sysroot_stage_all_append() {
>> - sysroot_stage_dir ${D}/kernel ${SYSROOT_DESTDIR}/kernel
>> + sysroot_stage_dir ${D}${KERNEL_SRC_PATH} ${SYSROOT_DESTDIR}${KERNEL_SRC_PATH}
>> }
>>
>> kernel_do_configure() {
>> @@ -247,13 +246,11 @@ 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"
>> FILES = ""
>> FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}*"
>> -FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers* /boot/config*"
>> +FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers* /boot/config* ${KERNEL_SRC_PATH}"
>> 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"
>> RDEPENDS_kernel = "kernel-base"
>> # Allow machines to override this dependency if kernel image files are
>> # not wanted in images as standard
>> @@ -469,7 +466,7 @@ python populate_packages_prepend () {
>> metapkg = "kernel-modules"
>> d.setVar('ALLOW_EMPTY_' + metapkg, "1")
>> d.setVar('FILES_' + metapkg, "")
>> - blacklist = [ 'kernel-dev', 'kernel-image', 'kernel-base', 'kernel-vmlinux', 'kernel-misc' ]
>> + blacklist = [ 'kernel-dev', 'kernel-image', 'kernel-base', 'kernel-vmlinux' ]
>> for l in module_deps.values():
>> for i in l:
>> pkg = module_pattern % legitimize_package_name(re.match(module_regex, os.path.basename(i)).group(1))
>> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
>> index 9377ee6..7e3de09 100644
>> --- a/meta/conf/bitbake.conf
>> +++ b/meta/conf/bitbake.conf
>> @@ -381,7 +381,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"
>>
>> ##################################################################
>> # Specific image creation and rootfs population info.
>> diff --git a/meta/recipes-kernel/linux/linux-yocto.inc b/meta/recipes-kernel/linux/linux-yocto.inc
>> index 9b46e74..973970d 100644
>> --- a/meta/recipes-kernel/linux/linux-yocto.inc
>> +++ b/meta/recipes-kernel/linux/linux-yocto.inc
>> @@ -4,7 +4,7 @@ LICENSE = "GPLv2"
>>
>> LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
>>
>> -INC_PR = "r3"
>> +INC_PR = "r4"
>>
>> # A KMACHINE is the mapping of a yocto $MACHINE to what is built
>> # by the kernel. This is typically the branch that should be built,
>
--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
next prev parent reply other threads:[~2012-07-02 13:45 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-30 4:25 [PATCH 0/3 V3b] Enable building modules on target Darren Hart
2012-06-30 4:25 ` [PATCH 1/3] kernel: Add kernel headers to kernel-dev package Darren Hart
2012-07-01 3:51 ` Bruce Ashfield
2012-07-01 3:51 ` Bruce Ashfield
2012-07-02 13:32 ` Darren Hart [this message]
2012-07-02 13:32 ` Darren Hart
2012-06-30 4:25 ` [PATCH 2/3] linux-yocto-custom: Remove linux-tools Darren Hart
2012-06-30 4:25 ` [PATCH 3/3] core-image*sdk: Add kernel-dev to sdk images Darren Hart
2012-07-02 13:33 ` Darren Hart
2012-07-02 13:33 ` Darren Hart
-- strict thread matches above, loose matches on Subject: below --
2012-06-30 4:20 [PATCH 0/3 V3] Enable building modules on target Darren Hart
2012-06-30 4:20 ` [PATCH 1/3] kernel: Add kernel headers to kernel-dev package Darren Hart
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4FF1A304.90204@linux.intel.com \
--to=dvhart@linux.intel.com \
--cc=bruce.ashfield@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=poky@yoctoproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.