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

Mario Domenech Goulart mario at ossystems.com.br
Mon Dec 14 20:08:47 UTC 2015


Hello Andre,

On Mon, 14 Dec 2015 12:04:50 -0800 Andre McCurdy <armccurdy at gmail.com> 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
>
> Signed-off-by: Andre McCurdy <armccurdy at gmail.com>
> ---
>  meta/classes/kernel-yocto.bbclass | 12 ------------
>  meta/classes/kernel.bbclass       | 12 ++++++++++++
>  2 files changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
> index 3762d1d..558515e 100644
> --- a/meta/classes/kernel-yocto.bbclass
> +++ b/meta/classes/kernel-yocto.bbclass
> @@ -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}"
>  
> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> index 4ce1611..2e60139 100644
> --- a/meta/classes/kernel.bbclass
> +++ b/meta/classes/kernel.bbclass
> @@ -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

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

> +	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



More information about the Openembedded-core mailing list