[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