Skip to contentSkip to conversation

Enable building modules on target

PATCH Superseded Darren Hart 4 participants 15 messages Jun 29, 2012

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

v2 cover Enable building modules on target

This series simplifies the include mechanisms for the linux-yocto recipes and adds support for a kernel-headers package which enables the building of modules on the target.

Sending to both oe-core and poky as this series touches files in both and I didn't want to confuse the intent or the dependency by splitting them up.

V2:
o Add files to kernel-dev rather than create a new kernel-headers package
o Move the location to /usr/src/kernel from /usr/src/kernel-headers
o Eliminate the kernel-misc package as kernel-dev covers it now
o Fix a bug with linux-yocto-custom exposed during testing

The following changes since commit 4d48398798c898c5db08294ba64d9bfc7daca19c:

local.conf.sample.extended: Add filtering function to archiver.bbclass (2012-06-28 16:32:58 +0100)

are available in the git repository at:

git://git.yoctoproject.org/poky-contrib dvhart/modules
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=dvhart/modules

Darren Hart (5):
linux-libc-headers-yocto: Do not include linux-yocto
linux-yocto: Use INC_PR and move kernel require to linux-yocto.inc
kernel: Add kernel headers to kernel-dev package
tasl-core-sdk: Add kernel-dev to task-core-sdk RDEPENDS
linux-yocto-custom: Remove linux-tools

 .../recipes-kernel/linux/linux-yocto-custom.bb          |    2 --
 .../linux-libc-headers/linux-libc-headers-yocto_git.bb  |    3 ++-
 meta/classes/kernel.bbclass                             |   15 +++++++--------
 meta/conf/bitbake.conf                                  |    2 +-
 meta/recipes-core/tasks/task-core-sdk.bb                |    5 +++--
 meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb         |    3 +--
 meta/recipes-kernel/linux/linux-yocto-rt_3.2.bb         |    3 +--
 meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb         |    3 +--
 meta/recipes-kernel/linux/linux-yocto-tiny_3.2.bb       |    3 +--
 meta/recipes-kernel/linux/linux-yocto.inc               |    3 +++
 meta/recipes-kernel/linux/linux-yocto_3.0.bb            |    3 +--
 meta/recipes-kernel/linux/linux-yocto_3.2.bb            |    3 +--
 meta/recipes-kernel/linux/linux-yocto_3.4.bb            |    3 +--
 13 files changed, 23 insertions(+), 28 deletions(-)
Signature · 1 line
1.7.10.2
#1 lore raw

PATCH v2 1/5 linux-libc-headers-yocto: Do not include linux-yocto

The only bit we seem to need from the linux-yocto include is the SRCREV_FORMAT. If we define this explicitly, we can avoid including the linux-yocto include.

This is desirable so that linux-yocto can require kernel and simplify the PR update process of all the linux-yocto* recipes. Pulling in kernel to the linux-libc-headers-yocto recipes causes build failures by pulling in "update-modules-nativesdk".

CC Bruce Ashfield <[email protected]>
CC Tom Zanussi <[email protected]>
---
 .../linux-libc-headers/linux-libc-headers-yocto_git.bb              |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
meta-yocto/recipes-kernel/linux-libc-headers/linux-libc-headers-yocto_git.bb +2 -1
index b4222f1..8ab4fb1 100644
@@ -1,5 +1,4 @@
 require recipes-kernel/linux-libc-headers/linux-libc-headers.inc
-include recipes-kernel/linux/linux-yocto.inc
 
 B = "${S}"
 
@@ -13,6 +12,8 @@ SRCREV = "a1cdb60720c452c3965eaec3ec2cd10f06261cc5"
 PV = "3.4+git-${SRCPV}"
 PR = "r6"
 
+SRCREV_FORMAT ?= "meta_machine"
+
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.4.git;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"
 
 # force this to empty to prevent installation failures, we aren't
Signature · 1 line
1.7.10.2
#2 lore raw

PATCH v2 2/5 linux-yocto: Use INC_PR and move kernel require to linux-yocto.inc

When making changes to kernel.bbclass, it would be nice not to have to manually change the PR of every linux-yocto*.bb file that requires it.

Move the "require kernel" line to linux-yocto.inc and update the linux-yocto recipes to use INC_PR.

CC Bruce Ashfield <[email protected]>
CC Tom Zanussi <[email protected]>
---
 meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb   |    3 +--
 meta/recipes-kernel/linux/linux-yocto-rt_3.2.bb   |    3 +--
 meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb   |    3 +--
 meta/recipes-kernel/linux/linux-yocto-tiny_3.2.bb |    3 +--
 meta/recipes-kernel/linux/linux-yocto.inc         |    3 +++
 meta/recipes-kernel/linux/linux-yocto_3.0.bb      |    3 +--
 meta/recipes-kernel/linux/linux-yocto_3.2.bb      |    3 +--
 meta/recipes-kernel/linux/linux-yocto_3.4.bb      |    3 +--
 8 files changed, 10 insertions(+), 14 deletions(-)
meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb +1 -2
index 1de0411..1dd95c6 100644
@@ -1,4 +1,3 @@
-inherit kernel
 require recipes-kernel/linux/linux-yocto.inc
 
 KBRANCH = "yocto/standard/preempt-rt/base"
@@ -12,7 +11,7 @@ SRCREV_machine ?= "e67428d9966eecec4c081993dc64ceb5c0e64643"
 SRCREV_machine_qemuppc ?= "dcca458cb92cc287f70e4062f02460f36a881b16"
 SRCREV_meta ?= "d282029891bba5440630a885b940dea5e34e3e2c"
 
-PR = "r2"
+PR = "${INC_PR}.0"
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.0.git;protocol=git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta"
meta/recipes-kernel/linux/linux-yocto-rt_3.2.bb +1 -2
index ada66b8..cf88fae 100644
@@ -1,4 +1,3 @@
-inherit kernel
 require recipes-kernel/linux/linux-yocto.inc
 
 KBRANCH = "standard/preempt-rt/base"
@@ -13,7 +12,7 @@ SRCREV_machine ?= "c413f23eafb3e91ff98653e578e771532fd71be9"
 SRCREV_machine_qemuppc ?= "d7020ba154df03cba5351011ff664f5e3e1ce678"
 SRCREV_meta ?= "ee78519365bdb25287703bbc31c06b193263c654"
 
-PR = "r1"
+PR = "${INC_PR}.0"
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.2.git;protocol=git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta"
meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb +1 -2
index 9b77186..fde9020 100644
@@ -1,4 +1,3 @@
-inherit kernel
 require recipes-kernel/linux/linux-yocto.inc
 
 KBRANCH = "standard/preempt-rt/base"
@@ -13,7 +12,7 @@ SRCREV_machine ?= "4a688295a1c6d44f3eea409d51a0344c8830d829"
 SRCREV_machine_qemuppc ?= "83843542dd524007547eddba507690cd4bab393b"
 SRCREV_meta ?= "d65afd9e42230a3ef4cc1f9ad62d0aa84a533cd0"
 
-PR = "r0"
+PR = "${INC_PR}.0"
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.4.git;protocol=git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta"
meta/recipes-kernel/linux/linux-yocto-tiny_3.2.bb +1 -2
index 546971b..78337fb 100644
@@ -1,4 +1,3 @@
-inherit kernel
 require recipes-kernel/linux/linux-yocto.inc
 
 # We need lzma (as CONFIG_KERNEL_LZMA=y)
@@ -13,7 +12,7 @@ LINUX_VERSION ?= "3.2.18"
 SRCREV_machine ?= "27b68a93eb791e830da8d3a2c0fc99780897ad89"
 SRCREV_meta ?= "ee78519365bdb25287703bbc31c06b193263c654"
 
-PR = "r0"
+PR = "${INC_PR}.0"
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.2;protocol=git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta"
meta/recipes-kernel/linux/linux-yocto.inc +3 -0
index 0912bee..9b46e74 100644
@@ -4,6 +4,8 @@ LICENSE = "GPLv2"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
 
+INC_PR = "r3"
+
 # 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,
 # and it can be specific to the machine or shared
@@ -23,6 +25,7 @@ do_patch[depends] = "kern-tools-native:do_populate_sysroot"
 addtask kernel_configme before do_configure after do_patch
 
 # Pick up shared functions
+inherit kernel
 inherit kernel-yocto
 require linux-dtb.inc
 
meta/recipes-kernel/linux/linux-yocto_3.0.bb +1 -2
index 362e65a..d178cd0 100644
@@ -1,4 +1,3 @@
-inherit kernel
 require recipes-kernel/linux/linux-yocto.inc
 
 KBRANCH = "yocto/standard/base"
@@ -20,7 +19,7 @@ SRCREV_machine_qemux86-64 ?= "cba836a545fbeb96f6f2392c3ecbac9d7735fa65"
 SRCREV_machine ?= "bd6ad607c754dea30d91502a237870b4c45e0f1b"
 SRCREV_meta ?= "d282029891bba5440630a885b940dea5e34e3e2c"
 
-PR = "r4"
+PR = "${INC_PR}.0"
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.0;protocol=git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta"
meta/recipes-kernel/linux/linux-yocto_3.2.bb +1 -2
index 3e4a9dd..1e9a1d1 100644
@@ -1,4 +1,3 @@
-inherit kernel
 require recipes-kernel/linux/linux-yocto.inc
 
 KBRANCH = "standard/default/base"
@@ -18,7 +17,7 @@ SRCREV_machine_qemux86-64 ?= "dd488f551fa0f8e3bf1aadd78083b8547bba8bdf"
 SRCREV_machine ?= "76133a1cadf0de417c29ed15d6fbb12c41c0802b"
 SRCREV_meta ?= "ee78519365bdb25287703bbc31c06b193263c654"
 
-PR = "r1"
+PR = "${INC_PR}.0"
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
 KMETA = "meta"
meta/recipes-kernel/linux/linux-yocto_3.4.bb +1 -2
index 7d14967..0247d24 100644
@@ -1,4 +1,3 @@
-inherit kernel
 require recipes-kernel/linux/linux-yocto.inc
 
 KBRANCH = "standard/base"
@@ -22,7 +21,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.4.git;protocol=git;nocheckou
 
 LINUX_VERSION ?= "3.4.3"
 
-PR = "r0"
+PR = "${INC_PR}.0"
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
 KMETA = "meta"
Signature · 1 line
1.7.10.2
#3 lore raw

PATCH v2 3/5 kernel: Add kernel headers to kernel-dev package

In reply to Darren Hart

[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.

CC Bruce Ashfield <[email protected]>
CC Tom Zanussi <[email protected]>
CC Khem Raj <[email protected]>
---
 meta/classes/kernel.bbclass |   15 +++++++--------
 meta/conf/bitbake.conf      |    2 +-
 2 files changed, 8 insertions(+), 9 deletions(-)
meta/classes/kernel.bbclass +7 -8
index 31e633b..27e0033 100644
@@ -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
 	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,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* /usr/src/kernel"
 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 +468,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))
meta/conf/bitbake.conf +1 -1
index 9b26580..9f3abee 100644
@@ -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.
Signature · 1 line
1.7.10.2
#6 lore raw

PATCH v2 4/5 tasl-core-sdk: Add kernel-dev to task-core-sdk RDEPENDS

In reply to Darren Hart

Add kernel-dev to task-core-sdk so it will be included with core-image-sato-sdk and similar image recipes. This enables building Linux kernel modules on the target.

---
 meta/recipes-core/tasks/task-core-sdk.bb |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
meta/recipes-core/tasks/task-core-sdk.bb +3 -2
index ec6cdcc..d65a53a 100644
@@ -7,7 +7,7 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
                     file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 DEPENDS = "task-core-console"
-PR = "r7"
+PR = "r8"
 
 ALLOW_EMPTY = "1"
 #PACKAGEFUNCS =+ 'generate_sdk_pkgs'
@@ -46,7 +46,8 @@ RDEPENDS_task-core-sdk = "\
     distcc \
     ldd \
     file \
-    tcl"
+    tcl \
+    kernel-dev"
 
 #python generate_sdk_pkgs () {
 #    poky_pkgs = read_pkgdata('task-core', d)['PACKAGES']
Signature · 1 line
1.7.10.2
#12 lore raw

PATCH v2 5/5 linux-yocto-custom: Remove linux-tools

In reply to Darren Hart

Remove the linux-tools include as perf is now packaged independently. Without this, including meta-skeleton in bblayers.conf results in a build failure as linux-tools.inc cannot be found.

CC Bruce Ashfield <[email protected]>
CC Tom Zanussi <[email protected]>
---
 meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb |    2 --
 1 file changed, 2 deletions(-)
meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb +0 -2
index 1438ad8..55f0c38 100644
@@ -42,5 +42,3 @@ PR = "r0"
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
 COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64)"
-
-require recipes-kernel/linux/linux-tools.inc
Signature · 1 line
1.7.10.2
#7 lore raw

Re: [PATCH 4/5] tasl-core-sdk: Add kernel-dev to task-core-sdk RDEPENDS

In reply to Darren Hart

s/tasl-core-sdk/task-core-sdk/ in subject fixed in branch.

Signature · 3 lines
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
Acked-by on v2 5/5
#13 lore raw

Re: [PATCH 5/5] linux-yocto-custom: Remove linux-tools

In reply to Darren Hart
Quoted 3 lines · Darren Hart

Remove the linux-tools include as perf is now packaged independently. Without this, including meta-skeleton in bblayers.conf results in a build failure as linux-tools.inc cannot be found.

Good catch. Since I created the recipe, and deleted linux-tools .. you'd think I would have noticed this myself :)

Quoted 18 lines
CC Bruce Ashfield<[email protected]>
CC Tom Zanussi<[email protected]>
---
  meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb |    2 --
  1 file changed, 2 deletions(-)
meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb +0 -2
index 1438ad8..55f0c38 100644
@@ -42,5 +42,3 @@ PR = "r0"
  PV = "${LINUX_VERSION}+git${SRCPV}"
 
  COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64)"
-
-require recipes-kernel/linux/linux-tools.inc
#4 lore raw

Re: [PATCH 3/5] kernel: Add kernel headers to kernel-dev package

In reply to Darren Hart
Quoted 30 lines · Darren Hart

[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.

CC Bruce Ashfield <[email protected]>
CC Tom Zanussi <[email protected]>
CC Khem Raj <[email protected]>
---
 meta/classes/kernel.bbclass |   15 +++++++--------
 meta/conf/bitbake.conf      |    2 +-
 2 files changed, 8 insertions(+), 9 deletions(-)
meta/classes/kernel.bbclass +0 -0
index 31e633b..27e0033 100644

meta/classes/kernel.bbclass kernel_do_install() { · line 130

Quoted 1 line
meta/classes/kernel.bbclass +0 -0
@@ -130,7 +130,7 @@ kernel_do_install() {
       # Support for external module building - create a minimal copy of

the

meta/classes/kernel.bbclass kernel_do_install() { · line 183

Quoted 9 lines
meta/classes/kernel.bbclass +1 -1
       # kernel source tree.
       #
-       kerneldir=${D}/kernel
+       kerneldir=${D}/usr/src/kernel
       install -d $kerneldir
 
       #
@@ -183,10 +183,11 @@ kernel_do_install() {
               cp arch/powerpc/lib/crtsavres.o

$kerneldir/arch/powerpc/lib/crtsavres.o

meta/classes/kernel.bbclass kernel_do_install() {

Quoted 4 lines
meta/classes/kernel.bbclass +1 -1
       fi
 
-       # Remove the following binaries which cause strip errors
+       # Remove the following binaries which cause strip or arch QA

errors

meta/classes/kernel.bbclass EXPORT_FUNCTIONS do_compile do_install do_configure · line 250

Quoted 13 lines
meta/classes/kernel.bbclass +2 -2
       # 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,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"

meta/classes/kernel.bbclass EXPORT_FUNCTIONS do_compile do_install do_configure

Quoted 4 lines
meta/classes/kernel.bbclass +1 -1
+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*"

meta/classes/kernel.bbclass EXPORT_FUNCTIONS do_compile do_install do_configure · line 254

Quoted 1 line
meta/classes/kernel.bbclass +1 -0
+FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers*

/boot/config* /usr/src/kernel"

meta/classes/kernel.bbclass EXPORT_FUNCTIONS do_compile do_install do_configure

Quoted 3 lines
meta/classes/kernel.bbclass +0 -2
 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"

meta/classes/kernel.bbclass python populate_packages_prepend () { · line 472

Quoted 8 lines
meta/classes/kernel.bbclass +0 -1
 RDEPENDS_kernel = "kernel-base"
 # Allow machines to override this dependency if kernel image files are
 # not wanted in images as standard
@@ -469,7 +468,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' ]

meta/classes/kernel.bbclass python populate_packages_prepend () { · line 471

Quoted 1 line
meta/classes/kernel.bbclass +1 -0
+       blacklist = [ 'kernel-dev', 'kernel-image', 'kernel-base',

'kernel-vmlinux' ]

meta/classes/kernel.bbclass python populate_packages_prepend () {

Quoted 3 lines
meta/classes/kernel.bbclass +0 -0
       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))

meta/conf/bitbake.conf SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}" · line 383

Quoted 10 lines
meta/conf/bitbake.conf +1 -1
index 9b26580..9f3abee 100644
@@ -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"

This should be kernel instead of kernel-headers

Quoted 7 lines
meta/conf/bitbake.conf +0 -1
 ##################################################################
 # Specific image creation and rootfs population info.
--

1.7.10.2

Acked-by on the v2 series
#14 lore raw
In reply to Darren Hart
Quoted 18 lines · Darren Hart

This series simplifies the include mechanisms for the linux-yocto recipes and adds support for a kernel-headers package which enables the building of modules on the target.

Sending to both oe-core and poky as this series touches files in both and I didn't want to confuse the intent or the dependency by splitting them up.

V2:
o Add files to kernel-dev rather than create a new kernel-headers package
o Move the location to /usr/src/kernel from /usr/src/kernel-headers
o Eliminate the kernel-misc package as kernel-dev covers it now
o Fix a bug with linux-yocto-custom exposed during testing

The following changes since commit 4d48398798c898c5db08294ba64d9bfc7daca19c:

   local.conf.sample.extended: Add filtering function to archiver.bbclass (2012-06-28 16:32:58 +0100)
Quoted 8 lines

are available in the git repository at:

git://git.yoctoproject.org/poky-contrib dvhart/modules
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=dvhart/modules

Darren Hart (5):
linux-libc-headers-yocto: Do not include linux-yocto
linux-yocto: Use INC_PR and move kernel require to linux-yocto.inc

These already merged. :)

Quoted 2 lines

kernel: Add kernel headers to kernel-dev package
tasl-core-sdk: Add kernel-dev to task-core-sdk RDEPENDS

task ?

Quoted 1 line

linux-yocto-custom: Remove linux-tools

And these look fine to me.

Quoted 16 lines
  .../recipes-kernel/linux/linux-yocto-custom.bb          |    2 --
  .../linux-libc-headers/linux-libc-headers-yocto_git.bb  |    3 ++-
  meta/classes/kernel.bbclass                             |   15 +++++++--------
  meta/conf/bitbake.conf                                  |    2 +-
  meta/recipes-core/tasks/task-core-sdk.bb                |    5 +++--
  meta/recipes-kernel/linux/linux-yocto-rt_3.0.bb         |    3 +--
  meta/recipes-kernel/linux/linux-yocto-rt_3.2.bb         |    3 +--
  meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb         |    3 +--
  meta/recipes-kernel/linux/linux-yocto-tiny_3.2.bb       |    3 +--
  meta/recipes-kernel/linux/linux-yocto.inc               |    3 +++
  meta/recipes-kernel/linux/linux-yocto_3.0.bb            |    3 +--
  meta/recipes-kernel/linux/linux-yocto_3.2.bb            |    3 +--
  meta/recipes-kernel/linux/linux-yocto_3.4.bb            |    3 +--
  13 files changed, 23 insertions(+), 28 deletions(-)
#5 lore raw

Re: [PATCH 3/5] kernel: Add kernel headers to kernel-dev package

In reply to Khem Raj
Quoted 7 lines · Khem Raj
Quoted 7 lines
meta/conf/bitbake.conf +0 -0
index 9b26580..9f3abee 100644
@@ -380,7 +380,7 @@ SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}"
 ##################################################################
 
Quoted 7 lines

meta/conf/bitbake.conf SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}" · line 383

Quoted 3 lines
meta/conf/bitbake.conf +1 -1
 OLDEST_KERNEL = "2.6.16"
-STAGING_KERNEL_DIR = "${STAGING_DIR_HOST}/kernel"
+STAGING_KERNEL_DIR = "${STAGING_DIR_HOST}/usr/src/kernel-headers"

This should be kernel instead of kernel-headers

Quoted 1 line

Well crap. Nice catch. Will send a V3 to account for this and the rebase needed as the first 2 were already pulled in.

Signature · 3 lines
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
#8 lore raw

Re: [poky] [PATCH 4/5] tasl-core-sdk: Add kernel-dev to task-core-sdk RDEPENDS

In reply to Darren Hart

Review

Quoted 11 lines · Darren Hart

Add kernel-dev to task-core-sdk so it will be included with core-image-sato-sdk and similar image recipes. This enables building Linux kernel modules on the target.

---
 meta/recipes-core/tasks/task-core-sdk.bb |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
(quoted diff) +0 -0

task-core-sdk.bb

meta/recipes-core/tasks/task-core-sdk.bb LICENSE = "MIT" · line 7

Quoted 5 lines

index ec6cdcc..d65a53a 100644

meta/recipes-core/tasks/task-core-sdk.bb +0 -0
@@ -7,7 +7,7 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM =

"file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \

Quoted 1 line

file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"

meta/recipes-core/tasks/task-core-sdk.bb RDEPENDS_task-core-sdk = "\ · line 50

Quoted 13 lines

DEPENDS = "task-core-console"

meta/recipes-core/tasks/task-core-sdk.bb +3 -2
-PR = "r7"
+PR = "r8"
 
 ALLOW_EMPTY = "1"
 #PACKAGEFUNCS =+ 'generate_sdk_pkgs'
@@ -46,7 +46,8 @@ RDEPENDS_task-core-sdk = "\
    distcc \
    ldd \
    file \
-    tcl"
+    tcl \
+    kernel-dev"

Doesn't this.make sdk to be machine specific now

Quoted 11 lines
meta/recipes-core/tasks/task-core-sdk.bb +0 -1
 #python generate_sdk_pkgs () {
 #    poky_pkgs = read_pkgdata('task-core', d)['PACKAGES']
--

1.7.10.2

_______________________________________________
poky mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/poky

#9 lore raw

Re: [poky] [PATCH 4/5] tasl-core-sdk: Add kernel-dev to task-core-sdk RDEPENDS

Quoted 11 lines · Khem Raj

meta/recipes-core/tasks/task-core-sdk.bb RDEPENDS_task-core-sdk = "\ · line 50

Quoted 9 lines

ALLOW_EMPTY = "1"
#PACKAGEFUNCS =+ 'generate_sdk_pkgs'

meta/recipes-core/tasks/task-core-sdk.bb +2 -1
@@ -46,7 +46,8 @@ RDEPENDS_task-core-sdk = "\
    distcc \
    ldd \
    file \
-    tcl"
+    tcl \
+    kernel-dev"

Doesn't this.make sdk to be machine specific now

It does indeed as the kernel-dev contains the system map, config, and possibly even modified headers dependingon the KBRANCH.

Is task-core-sdk intended to be only architecture specific?

If so, I can just add kernel-dev to the -sdk image recipes directly rather than modifying task-core-sdk.

Jessica, any opinion here?

Signature · 3 lines
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
#10 lore raw

Re: [poky] [PATCH 4/5] tasl-core-sdk: Add kernel-dev to task-core-sdk RDEPENDS

Hi Darren,

I think add kernel-dev to sdk image is a better approach for what you're trying to achieve.

Thanks,
Jessica

-----Original Message-----
From: Darren Hart [mailto:[email protected]]
Sent: Friday, June 29, 2012 4:02 PM
To: Khem Raj
Cc: Poky; [email protected]; Bodke, Kishore K; Zhang, Jessica
Subject: Re: [poky] [PATCH 4/5] tasl-core-sdk: Add kernel-dev to task-core-sdk RDEPENDS

Quoted 11 lines · Khem Raj

meta/recipes-core/tasks/task-core-sdk.bb RDEPENDS_task-core-sdk = "\ · line 50

Quoted 9 lines

ALLOW_EMPTY = "1"
#PACKAGEFUNCS =+ 'generate_sdk_pkgs'

meta/recipes-core/tasks/task-core-sdk.bb +2 -1
@@ -46,7 +46,8 @@ RDEPENDS_task-core-sdk = "\
    distcc \
    ldd \
    file \
-    tcl"
+    tcl \
+    kernel-dev"

Doesn't this.make sdk to be machine specific now

It does indeed as the kernel-dev contains the system map, config, and possibly even modified headers dependingon the KBRANCH.

Is task-core-sdk intended to be only architecture specific?

If so, I can just add kernel-dev to the -sdk image recipes directly rather than modifying task-core-sdk.

Jessica, any opinion here?

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

#11 lore raw

Re: [poky] [PATCH 4/5] tasl-core-sdk: Add kernel-dev to task-core-sdk RDEPENDS

Quoted 3 lines · Jessica

Hi Darren,

I think add kernel-dev to sdk image is a better approach for what you're trying to achieve.

OK, I'll go that route in the upcoming V3.

Thanks,

Darren

Quoted 39 lines

Thanks,
Jessica

-----Original Message-----
From: Darren Hart [mailto:[email protected]]
Sent: Friday, June 29, 2012 4:02 PM
To: Khem Raj
Cc: Poky; [email protected]; Bodke, Kishore K; Zhang, Jessica
Subject: Re: [poky] [PATCH 4/5] tasl-core-sdk: Add kernel-dev to task-core-sdk RDEPENDS

Quoted 11 lines · Khem Raj

meta/recipes-core/tasks/task-core-sdk.bb RDEPENDS_task-core-sdk = "\ · line 50

Quoted 9 lines

ALLOW_EMPTY = "1"
#PACKAGEFUNCS =+ 'generate_sdk_pkgs'

meta/recipes-core/tasks/task-core-sdk.bb +2 -1
@@ -46,7 +46,8 @@ RDEPENDS_task-core-sdk = "\
    distcc \
    ldd \
    file \
-    tcl"
+    tcl \
+    kernel-dev"

Doesn't this.make sdk to be machine specific now

It does indeed as the kernel-dev contains the system map, config, and possibly even modified headers dependingon the KBRANCH.

Is task-core-sdk intended to be only architecture specific?

If so, I can just add kernel-dev to the -sdk image recipes directly rather than modifying task-core-sdk.

Jessica, any opinion here?

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

Signature · 3 lines
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel