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

Denys Dmytriyenko denis at denix.org
Tue Oct 17 23:18:06 UTC 2017


On Tue, Oct 17, 2017 at 10:27:07PM +0000, Manjukumar Harthikote Matha wrote:
> 
> 
> > -----Original Message-----
> > From: Denys Dmytriyenko [mailto:denis at denix.org]
> > Sent: Tuesday, October 17, 2017 3:20 PM
> > To: Manjukumar Harthikote Matha <MANJUKUM at xilinx.com>
> > Cc: Thomas Perrot <thomas.perrot at tupi.fr>; openembedded-
> > core at lists.openembedded.org
> > Subject: Re: [OE-core] [meta][pyro][PATCH] Fix some issues in the fitImage
> > generation
> > 
> > On Tue, Oct 17, 2017 at 09:35:12PM +0000, Manjukumar Harthikote Matha wrote:
> > > Hi Denys,
> > >
> > > > -----Original Message-----
> > > > From: openembedded-core-bounces at lists.openembedded.org
> > > > [mailto:openembedded-core-bounces at lists.openembedded.org] On Behalf
> > > > Of Denys Dmytriyenko
> > > > Sent: Tuesday, October 17, 2017 12:09 PM
> > > > To: Thomas Perrot <thomas.perrot at tupi.fr>
> > > > Cc: openembedded-core at lists.openembedded.org
> > > > Subject: Re: [OE-core] [meta][pyro][PATCH] Fix some issues in the
> > > > fitImage generation
> > > >
> > > > On Tue, Oct 17, 2017 at 06:54:24PM +0200, Thomas Perrot wrote:
> > > > > - Bad image type replacement for aarch64
> > > > > - Fix DTB path in fitimage.its
> > > >
> > > > I've seen the above 2 fixes before, but they never made it.
> > > >
> > > >
> > > > > - Ignore fitImage type during the packaging of the initramfs
> > > >
> > > > Can you please explain this one a bit more?
> > > >
> > > > And in general, commit message should rather explain "why" and not "what"
> > > >
> > > I see this behavior:
> > > https://lists.yoctoproject.org/pipermail/yocto/2017-October/038438.htm
> > > l
> > >
> > > When you build using initramfs and fitimage, we see a failure in kernel deploy.
> > 
> > Please provide any relevant logs for the failure.
> > 
> > 
> 
> Here you go: 

Thanks! Now it's clearer.

Apparently, I don't see this issue as I don't use INITRAMFS_IMAGE_BUNDLE = "1" 
for appending initramfs into the kernel...


> Initialising tasks: 100% |#################################################################################################################################################| Time: 0:00:03
> NOTE: Executing SetScene Tasks
> NOTE: Executing RunQueue Tasks
> ERROR: linux-xlnx-4.9-xilinx-v2017.3+gitAUTOINC+f1b1e077d6-r0 do_bundle_initramfs: Function failed: do_bundle_initramfs (log file is located at /workspaces2/manjukum/meta-xilinx-master/build/tmp/work/zcu102_zynqmp-poky-linux/linux-xlnx/4.9-xilinx-v2017.3+gitAUTOINC+f1b1e077d6-r0/temp/log.do_bundle_initramfs.30337)
> ERROR: Logfile of failure stored in: /workspaces2/manjukum/meta-xilinx-master/build/tmp/work/zcu102_zynqmp-poky-linux/linux-xlnx/4.9-xilinx-v2017.3+gitAUTOINC+f1b1e077d6-r0/temp/log.do_bundle_initramfs.30337
> Log data follows:
> | DEBUG: Executing shell function do_bundle_initramfs
> | Creating a kernel image with a bundled initramfs...
> | Copying initramfs into ./usr ...
> | Finished copy of initramfs into ./usr
> | NOTE: make HOSTCC=gcc  -isystem/workspaces2/manjukum/meta-xilinx-master/build/tmp/work/zcu102_zynqmp-poky-linux/linux-xlnx/4.9-xilinx-v2017.3+gitAUTOINC+f1b1e077d6-r0/recipe-sysroot-native/usr/include -O2 -pipe -L/workspaces2/manjukum/meta-xilinx-master/build/tmp/work/zcu102_zynqmp-poky-linux/linux-xlnx/4.9-xilinx-v2017.3+gitAUTOINC+f1b1e077d6-r0/recipe-sysroot-native/usr/lib -L/workspaces2/manjukum/meta-xilinx-master/build/tmp/work/zcu102_zynqmp-poky-linux/linux-xlnx/4.9-xilinx-v2017.3+gitAUTOINC+f1b1e077d6-r0/recipe-sysroot-native/lib -Wl,-rpath-link,/workspaces2/manjukum/meta-xilinx-master/build/tmp/work/zcu102_zynqmp-poky-linux/linux-xlnx/4.9-xilinx-v2017.3+gitAUTOINC+f1b1e077d6-r0/recipe-sysroot-native/usr/lib -Wl,-rpath-link,/workspaces2/manjukum/meta-xilinx-master/build/tmp/work/zcu102_zynqmp-poky-linux/linux-xlnx/4.9-xilinx-v2017.3+gitAUTOINC+f1b1e077d6-r0/recipe-sysroot-native/lib -Wl,-rpath,/workspaces2/manjukum/meta-xilinx-master/build/tmp/work/zcu102_zynqmp-poky-linux/linux-xlnx/4.9-xilinx-v201
> 7.3+gitAUTOINC+f1b1e077d6-r0/recipe-sysroot-native/usr/lib -Wl,-rpath,/workspaces2/manjukum/meta-xilinx-master/build/tmp/work/zcu102_zynqmp-poky-linux/linux-xlnx/4.9-xilinx-v2017.3+gitAUTOINC+f1b1e077d6-r0/recipe-sysroot-native/lib -Wl,-O1 HOSTCPP=gcc  -E Image CC=aarch64-poky-linux-gcc   -fuse-ld=bfd  --sysroot=/workspaces2/manjukum/meta-xilinx-master/build/tmp/work/zcu102_zynqmp-poky-linux/linux-xlnx/4.9-xilinx-v2017.3+gitAUTOINC+f1b1e077d6-r0/recipe-sysroot -ffile-prefix-map=/workspaces2/manjukum/meta-xilinx-master/build/tmp/work-shared/zcu102-zynqmp/kernel-source=/kernel-source/  LD=aarch64-poky-linux-ld.bfd    --sysroot=/workspaces2/manjukum/meta-xilinx-master/build/tmp/work/zcu102_zynqmp-poky-linux/linux-xlnx/4.9-xilinx-v2017.3+gitAUTOINC+f1b1e077d6-r0/recipe-sysroot CONFIG_INITRAMFS_SOURCE=/workspaces2/manjukum/meta-xilinx-master/build/tmp/work/zcu102_zynqmp-poky-linux/linux-xlnx/4.9-xilinx-v2017.3+gitAUTOINC+f1b1e077d6-r0/linux-zcu102_zynqmp-standard-build/usr/core-image-minimal-zcu102-zynqmp.cpio
> |   CHK     include/config/kernel.release
> |   Using /workspaces2/manjukum/meta-xilinx-master/build/tmp/work-shared/zcu102-zynqmp/kernel-source as source for kernel
> |   GEN     ./Makefile
> |   CHK     include/generated/uapi/linux/version.h
> |   CHK     include/generated/utsrelease.h
> |   CHK     include/generated/bounds.h
> |   CHK     include/generated/timeconst.h
> |   CHK     include/generated/asm-offsets.h
> |   CALL    /workspaces2/manjukum/meta-xilinx-master/build/tmp/work-shared/zcu102-zynqmp/kernel-source/scripts/checksyscalls.sh
> |   CHK     include/generated/compile.h
> |   GEN     usr/initramfs_data.cpio.gz
> |   AS      usr/initramfs_data.o
> |   LD      usr/built-in.o
> |   CHK     kernel/config_data.h
> |   LD      vmlinux.o
> |   MODPOST vmlinux.o
> |   GEN     .version
> |   CHK     include/generated/compile.h
> |   UPD     include/generated/compile.h
> |   CC      init/version.o
> |   LD      init/built-in.o
> |   KSYM    .tmp_kallsyms1.o
> |   KSYM    .tmp_kallsyms2.o
> |   LD      vmlinux
> |   SORTEX  vmlinux
> |   SYSMAP  System.map
> |   OBJCOPY arch/arm64/boot/Image
> | NOTE: make HOSTCC=gcc  -isystem/workspaces2/manjukum/meta-xilinx-master/build/tmp/work/zcu102_zynqmp-poky-linux/linux-xlnx/4.9-xilinx-v2017.3+gitAUTOINC+f1b1e077d6-r0/recipe-sysroot-native/usr/include -O2 -pipe -L/workspaces2/manjukum/meta-xilinx-master/build/tmp/work/zcu102_zynqmp-poky-linux/linux-xlnx/4.9-xilinx-v2017.3+gitAUTOINC+f1b1e077d6-r0/recipe-sysroot-native/usr/lib -L/workspaces2/manjukum/meta-xilinx-master/build/tmp/work/zcu102_zynqmp-poky-linux/linux-xlnx/4.9-xilinx-v2017.3+gitAUTOINC+f1b1e077d6-r0/recipe-sysroot-native/lib -Wl,-rpath-link,/workspaces2/manjukum/meta-xilinx-master/build/tmp/work/zcu102_zynqmp-poky-linux/linux-xlnx/4.9-xilinx-v2017.3+gitAUTOINC+f1b1e077d6-r0/recipe-sysroot-native/usr/lib -Wl,-rpath-link,/workspaces2/manjukum/meta-xilinx-master/build/tmp/work/zcu102_zynqmp-poky-linux/linux-xlnx/4.9-xilinx-v2017.3+gitAUTOINC+f1b1e077d6-r0/recipe-sysroot-native/lib -Wl,-rpath,/workspaces2/manjukum/meta-xilinx-master/build/tmp/work/zcu102_zynqmp-poky-linux/linux-xlnx/4.9-xilinx-v201
> 7.3+gitAUTOINC+f1b1e077d6-r0/recipe-sysroot-native/usr/lib -Wl,-rpath,/workspaces2/manjukum/meta-xilinx-master/build/tmp/work/zcu102_zynqmp-poky-linux/linux-xlnx/4.9-xilinx-v2017.3+gitAUTOINC+f1b1e077d6-r0/recipe-sysroot-native/lib -Wl,-O1 HOSTCPP=gcc  -E Image CC=aarch64-poky-linux-gcc   -fuse-ld=bfd  --sysroot=/workspaces2/manjukum/meta-xilinx-master/build/tmp/work/zcu102_zynqmp-poky-linux/linux-xlnx/4.9-xilinx-v2017.3+gitAUTOINC+f1b1e077d6-r0/recipe-sysroot -ffile-prefix-map=/workspaces2/manjukum/meta-xilinx-master/build/tmp/work-shared/zcu102-zynqmp/kernel-source=/kernel-source/  LD=aarch64-poky-linux-ld.bfd    --sysroot=/workspaces2/manjukum/meta-xilinx-master/build/tmp/work/zcu102_zynqmp-poky-linux/linux-xlnx/4.9-xilinx-v2017.3+gitAUTOINC+f1b1e077d6-r0/recipe-sysroot CONFIG_INITRAMFS_SOURCE=/workspaces2/manjukum/meta-xilinx-master/build/tmp/work/zcu102_zynqmp-poky-linux/linux-xlnx/4.9-xilinx-v2017.3+gitAUTOINC+f1b1e077d6-r0/linux-zcu102_zynqmp-standard-build/usr/core-image-minimal-zcu102-zynqmp.cpio
> |   CHK     include/config/kernel.release
> |   Using /workspaces2/manjukum/meta-xilinx-master/build/tmp/work-shared/zcu102-zynqmp/kernel-source as source for kernel
> |   GEN     ./Makefile
> |   CHK     include/generated/uapi/linux/version.h
> |   CHK     include/generated/utsrelease.h
> |   CHK     include/generated/bounds.h
> |   CHK     include/generated/timeconst.h
> |   CHK     include/generated/asm-offsets.h
> |   CALL    /workspaces2/manjukum/meta-xilinx-master/build/tmp/work-shared/zcu102-zynqmp/kernel-source/scripts/checksyscalls.sh
> |   CHK     include/generated/compile.h
> |   CHK     kernel/config_data.h
> | mv: cannot stat 'arch/arm64/boot/fitImage': No such file or directory
> | WARNING: /workspaces2/manjukum/meta-xilinx-master/build/tmp/work/zcu102_zynqmp-poky-linux/linux-xlnx/4.9-xilinx-v2017.3+gitAUTOINC+f1b1e077d6-r0/temp/run.do_bundle_initramfs.30337:1 exit 1 from 'mv -f arch/arm64/boot/$type arch/arm64/boot/$type.initramfs'
> | ERROR: Function failed: do_bundle_initramfs (log file is located at /workspaces2/manjukum/meta-xilinx-master/build/tmp/work/zcu102_zynqmp-poky-linux/linux-xlnx/4.9-xilinx-v2017.3+gitAUTOINC+f1b1e077d6-r0/temp/log.do_bundle_initramfs.30337)
> ERROR: Task (/workspaces2/manjukum/meta-xilinx-master/sources/yocto/meta-xilinx/recipes-kernel/linux/linux-xlnx_2017.3.bb:do_bundle_initramfs) failed with exit code '1'
> NOTE: Tasks Summary: Attempted 2371 tasks of which 2370 didn't need to be rerun and 1 failed.
> 
> 
> Thanks,
> Manju
> 
> > > I think we need even fixes to deploy class as well.
> > >
> > >
> > > Thanks,
> > > Manju
> > >
> > > >
> > > > > Signed-off-by: Thomas Perrot <thomas.perrot at tupi.fr>
> > > > > ---
> > > > >  meta/classes/kernel-fitimage.bbclass | 6 +++++-
> > > > >  meta/classes/kernel.bbclass          | 4 +++-
> > > > >  2 files changed, 8 insertions(+), 2 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.bbclass
> > > > > b/meta/classes/kernel.bbclass index ce2cab65ae..a8b0d0a061 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
> > > > > --
> > > > > 2.13.6
> > > > >
> > > > > --
> > > > > _______________________________________________
> > > > > Openembedded-core mailing list
> > > > > Openembedded-core at lists.openembedded.org
> > > > > http://lists.openembedded.org/mailman/listinfo/openembedded-core
> > > > --
> > > > _______________________________________________
> > > > Openembedded-core mailing list
> > > > Openembedded-core at lists.openembedded.org
> > > > http://lists.openembedded.org/mailman/listinfo/openembedded-core
> > >
> 



More information about the Openembedded-core mailing list