Skip to contentSkip to conversation

kernel-yocto.bbclass: remove do_kernel_link_vmlinux from SRCTREECOVEREDTASKS

PATCH In review Andre McCurdy 2 participants 4 messages Dec 14, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 kernel-yocto.bbclass: remove do_kernel_link_vmlinux from SRCTREECOVEREDTASKS

The do_kernel_link_vmlinux() task modifies the build directory (not the source tree) and should not be skipped when externalsrc is being used.

---
 meta/classes/kernel-yocto.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/classes/kernel-yocto.bbclass +1 -1
index 00d9667..3762d1d 100644
@@ -1,5 +1,5 @@
 # remove tasks that modify the source tree in case externalsrc is inherited
-SRCTREECOVEREDTASKS += "do_kernel_link_vmlinux do_kernel_configme do_validate_branches do_kernel_configcheck do_kernel_checkout do_shared_workdir do_fetch do_unpack do_patch"
+SRCTREECOVEREDTASKS += "do_kernel_configme do_validate_branches do_kernel_configcheck do_kernel_checkout do_shared_workdir do_fetch do_unpack do_patch"
 
 # returns local (absolute) path names for all valid patches in the
 # src_uri
Signature · 1 line
1.9.1
#1 lore raw

PATCH 2/2 kernel-yocto.bbclass: move do_kernel_link_vmlinux() into kernel.bbclass

Move do_kernel_link_vmlinux() from kernel-yocto.bbclass into kernel.bbclass so that it's available to any kernel recipe.

Note that the task is not enabled by default in kernel-yocto.bbclass, so don't enable by default in kernel.bbclass either. To enable, see the example in linux-yocto.inc, ie:

addtask kernel_link_vmlinux after do_compile before do_install

---
 meta/classes/kernel-yocto.bbclass | 12 ------------
 meta/classes/kernel.bbclass       | 12 ++++++++++++
 2 files changed, 12 insertions(+), 12 deletions(-)
meta/classes/kernel-yocto.bbclass +0 -12
index 3762d1d..558515e 100644
@@ -348,18 +348,6 @@ do_validate_branches() {
 	fi
 }
 
-# Many scripts want to look in arch/$arch/boot for the bootable
-# image. This poses a problem for vmlinux based booting. This 
-# task arranges to have vmlinux appear in the normalized directory
-# location.
-do_kernel_link_vmlinux() {
-	if [ ! -d "${B}/arch/${ARCH}/boot" ]; then
-		mkdir ${B}/arch/${ARCH}/boot
-	fi
-	cd ${B}/arch/${ARCH}/boot
-	ln -sf ../../../vmlinux
-}
-
 OE_TERMINAL_EXPORTS += "KBUILD_OUTPUT"
 KBUILD_OUTPUT = "${B}"
 
meta/classes/kernel.bbclass +12 -0
index 4ce1611..2e60139 100644
@@ -408,6 +408,18 @@ python split_kernel_packages () {
     do_split_packages(d, root='/lib/firmware', file_regex='^(.*)\.(bin|fw|cis|dsp)$', output_pattern='kernel-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='')
 }
 
+# Many scripts want to look in arch/$arch/boot for the bootable
+# image. This poses a problem for vmlinux based booting. This 
+# task arranges to have vmlinux appear in the normalized directory
+# location.
+do_kernel_link_vmlinux() {
+	if [ ! -d "${B}/arch/${ARCH}/boot" ]; then
+		mkdir ${B}/arch/${ARCH}/boot
+	fi
+	cd ${B}/arch/${ARCH}/boot
+	ln -sf ../../../vmlinux
+}
+
 do_strip() {
 	if [ -n "${KERNEL_IMAGE_STRIP_EXTRA_SECTIONS}" ]; then
 		if [ "${KERNEL_IMAGETYPE}" != "vmlinux" ]; then
Signature · 1 line
1.9.1
#2 lore raw

Re: [PATCH 2/2] kernel-yocto.bbclass: move do_kernel_link_vmlinux() into kernel.bbclass

Hello Andre,

Quoted 44 lines · On Mon, 14 Dec 2015 12:04:50 -0800 Andre McCurdy <[email protected]> wrote:

Move do_kernel_link_vmlinux() from kernel-yocto.bbclass into kernel.bbclass so that it's available to any kernel recipe.

Note that the task is not enabled by default in kernel-yocto.bbclass, so don't enable by default in kernel.bbclass either. To enable, see the example in linux-yocto.inc, ie:

addtask kernel_link_vmlinux after do_compile before do_install

---
 meta/classes/kernel-yocto.bbclass | 12 ------------
 meta/classes/kernel.bbclass       | 12 ++++++++++++
 2 files changed, 12 insertions(+), 12 deletions(-)
meta/classes/kernel-yocto.bbclass +0 -12
index 3762d1d..558515e 100644
@@ -348,18 +348,6 @@ do_validate_branches() {
 	fi
 }
 
-# Many scripts want to look in arch/$arch/boot for the bootable
-# image. This poses a problem for vmlinux based booting. This 
-# task arranges to have vmlinux appear in the normalized directory
-# location.
-do_kernel_link_vmlinux() {
-	if [ ! -d "${B}/arch/${ARCH}/boot" ]; then
-		mkdir ${B}/arch/${ARCH}/boot
-	fi
-	cd ${B}/arch/${ARCH}/boot
-	ln -sf ../../../vmlinux
-}
-
 OE_TERMINAL_EXPORTS += "KBUILD_OUTPUT"
 KBUILD_OUTPUT = "${B}"
 
meta/classes/kernel.bbclass +0 -0
index 4ce1611..2e60139 100644
@@ -408,6 +408,18 @@ python split_kernel_packages () {
     do_split_packages(d, root='/lib/firmware', file_regex='^(.*)\.(bin|fw|cis|dsp)$', output_pattern='kernel-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='')

meta/classes/kernel.bbclass python split_kernel_packages () { · line 418

Quoted 10 lines
meta/classes/kernel.bbclass +8 -0
 }
 
+# Many scripts want to look in arch/$arch/boot for the bootable
+# image. This poses a problem for vmlinux based booting. This 
+# task arranges to have vmlinux appear in the normalized directory
+# location.
+do_kernel_link_vmlinux() {
+	if [ ! -d "${B}/arch/${ARCH}/boot" ]; then
+		mkdir ${B}/arch/${ARCH}/boot
+	fi

Wouldn't "mkdir -p ${B}/arch/${ARCH}/boot" be better here?

Quoted 9 lines
meta/classes/kernel.bbclass +4 -0
+	cd ${B}/arch/${ARCH}/boot
+	ln -sf ../../../vmlinux
+}
+
 do_strip() {
 	if [ -n "${KERNEL_IMAGE_STRIP_EXTRA_SECTIONS}" ]; then
 		if [ "${KERNEL_IMAGETYPE}" != "vmlinux" ]; then
Signature · 1 line
1.9.1
Signature · 1 line
http://www.ossystems.com.br
#3 lore raw

Re: [PATCH 2/2] kernel-yocto.bbclass: move do_kernel_link_vmlinux() into kernel.bbclass

Hi Mario,

Quoted 50 lines · Mario Domenech Goulart

Hello Andre,

Quoted 46 lines · On Mon, 14 Dec 2015 12:04:50 -0800 Andre McCurdy <[email protected]> wrote:

Move do_kernel_link_vmlinux() from kernel-yocto.bbclass into kernel.bbclass so that it's available to any kernel recipe.

Note that the task is not enabled by default in kernel-yocto.bbclass, so don't enable by default in kernel.bbclass either. To enable, see the example in linux-yocto.inc, ie:

addtask kernel_link_vmlinux after do_compile before do_install

---
 meta/classes/kernel-yocto.bbclass | 12 ------------
 meta/classes/kernel.bbclass       | 12 ++++++++++++
 2 files changed, 12 insertions(+), 12 deletions(-)
meta/classes/kernel-yocto.bbclass +0 -12
index 3762d1d..558515e 100644
@@ -348,18 +348,6 @@ do_validate_branches() {
      fi
 }
 
-# Many scripts want to look in arch/$arch/boot for the bootable
-# image. This poses a problem for vmlinux based booting. This
-# task arranges to have vmlinux appear in the normalized directory
-# location.
-do_kernel_link_vmlinux() {
-     if [ ! -d "${B}/arch/${ARCH}/boot" ]; then
-             mkdir ${B}/arch/${ARCH}/boot
-     fi
-     cd ${B}/arch/${ARCH}/boot
-     ln -sf ../../../vmlinux
-}
-
 OE_TERMINAL_EXPORTS += "KBUILD_OUTPUT"
 KBUILD_OUTPUT = "${B}"
 
meta/classes/kernel.bbclass +0 -0
index 4ce1611..2e60139 100644
@@ -408,6 +408,18 @@ python split_kernel_packages () {
     do_split_packages(d, root='/lib/firmware', file_regex='^(.*)\.(bin|fw|cis|dsp)$', output_pattern='kernel-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='')
 }
 
Quoted 10 lines

meta/classes/kernel.bbclass python split_kernel_packages () { · line 418

Quoted 8 lines
meta/classes/kernel.bbclass +8 -0
+# Many scripts want to look in arch/$arch/boot for the bootable
+# image. This poses a problem for vmlinux based booting. This
+# task arranges to have vmlinux appear in the normalized directory
+# location.
+do_kernel_link_vmlinux() {
+     if [ ! -d "${B}/arch/${ARCH}/boot" ]; then
+             mkdir ${B}/arch/${ARCH}/boot
+     fi

Wouldn't "mkdir -p ${B}/arch/${ARCH}/boot" be better here?

This patch is just about moving an existing task, so any clean-up should be addressed in a separate patch.

Using mkdir -p looks fine to me in this case, but the existing code has been around for 5 years, so it doesn't seem urgent to change it:

http://git.openembedded.org/openembedded-core/commit/?id=149f2262135ca87608783a8801c9c2d978d8c8ef

Quoted 12 lines
Quoted 9 lines
meta/classes/kernel.bbclass +4 -1
+     cd ${B}/arch/${ARCH}/boot
+     ln -sf ../../../vmlinux
+}
+
 do_strip() {
      if [ -n "${KERNEL_IMAGE_STRIP_EXTRA_SECTIONS}" ]; then
              if [ "${KERNEL_IMAGETYPE}" != "vmlinux" ]; then
--

1.9.1

--
http://www.ossystems.com.br