[OE-core] [meta][pyro][PATCHv2] Fix some issues in the fitImage generation

akuster808 akuster808 at gmail.com
Tue Oct 24 07:38:51 UTC 2017



On 10/20/2017 02:47 AM, Thomas Perrot wrote:
> - Bad image type replacement for aarch64
> - Fix DTB path in fitimage.its
> - Ignore fitImage type in do_bundle_initramfs task because the packaging is made by do_assemble_fitimage_initramfs
> - the images for arm64 are not compressed the linux_comp variable must therefore be none
>
> Signed-off-by: Thomas Perrot <thomas.perrot at tupi.fr>
> ---
>  meta/classes/kernel-fitimage.bbclass |  6 +++++-
>  meta/classes/kernel-uboot.bbclass    | 11 ++++++++---
>  meta/classes/kernel.bbclass          |  4 +++-
I don't see this in master. Please resubmit for Master.

- armin
>  3 files changed, 16 insertions(+), 5 deletions(-)
>
> diff --git a/meta/classes/kernel-fitimage.bbclass b/meta/classes/kernel-fitimage.bbclass
> index 2630b47316..abbc309b09 100644
> --- a/meta/classes/kernel-fitimage.bbclass
> +++ b/meta/classes/kernel-fitimage.bbclass
> @@ -7,8 +7,11 @@ python __anonymous () {
>          depends = "%s u-boot-mkimage-native dtc-native" % depends
>          d.setVar("DEPENDS", depends)
>  
> -        if d.getVar("UBOOT_ARCH") == "x86":
> +        uarch = d.getVar("UBOOT_ARCH")
> +        if uarch == "x86":
>              replacementtype = "bzImage"
> +        elif uarch == "arm64":
> +            replacementtype = "Image"
>          else:
>              replacementtype = "zImage"
>  
> @@ -351,6 +354,7 @@ fitimage_assemble() {
>  				DTB_PATH="arch/${ARCH}/boot/${DTB}"
>  			fi
>  
> +			DTB=$(echo "${DTB}" | tr '/' '_')
>  			DTBS="${DTBS} ${DTB}"
>  			fitimage_emit_section_dtb ${1} ${DTB} ${DTB_PATH}
>  		done
> diff --git a/meta/classes/kernel-uboot.bbclass b/meta/classes/kernel-uboot.bbclass
> index 868e97d7a7..940f91d90e 100644
> --- a/meta/classes/kernel-uboot.bbclass
> +++ b/meta/classes/kernel-uboot.bbclass
> @@ -1,12 +1,17 @@
>  uboot_prep_kimage() {
> -	if [ -e arch/${ARCH}/boot/compressed/vmlinux ]; then
> +	if [ -e arch/${ARCH}/boot/compressed/vmlinux ] ; then
>  		vmlinux_path="arch/${ARCH}/boot/compressed/vmlinux"
>  		linux_suffix=""
>  		linux_comp="none"
>  	else
>  		vmlinux_path="vmlinux"
> -		linux_suffix=".gz"
> -		linux_comp="gzip"
> +		if [ "${ARCH}" = "arm64" ] ; then
> +			linux_suffix=""
> +			linux_comp="none"
> +		else
> +			linux_suffix=".gz"
> +			linux_comp="gzip"
> +		fi
>  	fi
>  
>  	${OBJCOPY} -O binary -R .note -R .comment -S "${vmlinux_path}" linux.bin
> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> index ce2cab65ae..14677ac0fc 100644
> --- a/meta/classes/kernel.bbclass
> +++ b/meta/classes/kernel.bbclass
> @@ -219,7 +219,9 @@ do_bundle_initramfs () {
>  		# Backing up kernel image relies on its type(regular file or symbolic link)
>  		tmp_path=""
>  		for type in ${KERNEL_IMAGETYPES} ; do
> -			if [ -h ${KERNEL_OUTPUT_DIR}/$type ] ; then
> +			if [ "$type" = "fitImage" ] ; then
> +				continue
> +			elif [ -h ${KERNEL_OUTPUT_DIR}/$type ] ; then
>  				linkpath=`readlink -n ${KERNEL_OUTPUT_DIR}/$type`
>  				realpath=`readlink -fn ${KERNEL_OUTPUT_DIR}/$type`
>  				mv -f $realpath $realpath.bak




More information about the Openembedded-core mailing list