kernel-yocto.bbclass: remove do_kernel_link_vmlinux from SRCTREECOVEREDTASKS
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
@@ -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
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
@@ -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
@@ -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
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_vmlinuxafterdo_compilebeforedo_installSigned-off-by Andre McCurdy <[email protected]>--- 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@@ -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@@ -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" ]; thenSignature · 1 line
1.9.1
Signature · 1 line
http://www.ossystems.com.br
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_vmlinuxafterdo_compilebeforedo_installSigned-off-by Andre McCurdy <[email protected]>--- 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@@ -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@@ -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 + fiWouldn'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