Message ID | 20181024095456.27486-1-peng.fan@nxp.com |
---|---|
State | Superseded |
Delegated to: | Stefano Babic |
Headers | show |
Series | [U-Boot] imx: mkimage: avoid stop CI when required files not exists | expand |
Dear Peng Fan, In message <20181024095456.27486-1-peng.fan@nxp.com> you wrote: > Introduce a new script to check whether file exists and > use that check in Makefile to avoid break CI system. Hm... this looks overly complicate to me. I think you should at least provide more documentation for this script, i. e. what it does, and what the reutrn codes mean. > +DEPFILE_EXITS := 1 > ifeq ($(CONFIG_ARCH_IMX8), y) > -IMAGE_TYPE = imx8image > +IMAGE_TYPE := imx8image > +DEPFILE_EXITS := $(shell $(srctree)/tools/imx8_cntr_image.sh $(IMX_CONFIG); echo $$?) DEPFILE_EXITS ? Or ..._EXISTS ?? > +file=$1 > + > +linecount=`cat ${file} | wc -l` > + > +for ((i=1; i<=${linecount}; i++)); > +do > + name=`awk -F '\t' -F ' ' 'NR=='${i}' && /^APPEND/ {print $2}' ${file}` You mean you first count the lines of the file, then run a for loop over all line numbers (which are otherwise unsused), and then run a awk process for each and every line, making awk read all the file while you just want to process a single line? Why the hell don;t you just runf awk _once_ over all lines of the files and add the logic (including message printing and return code setting) to the awk script? This script is a awful waste of processes and CPU resources. [Not to mention the Useless Use of Cat above.] > + if [ -n "${name}" ]; then > + if [ ! -f "${name}" ]; then > + echo "WARNING ${name} not found, resulting binary is not-functional" >&2 > + exit 0 If a file is not found which is supposed to be there, then this should be an error, and not just a warning. And for such scripts the return code for errors is 1, as 0 is reserved for OK. > +done > + > +exit 1 The return code in case of no errors is 0. Best regards, Wolfgang Denk
Hi Peng, On Wed, 24 Oct 2018 09:49:04 +0000 Peng Fan peng.fan@nxp.com wrote: ... > --- /dev/null > +++ b/tools/imx8_cntr_image.sh > @@ -0,0 +1,32 @@ > +#!/bin/sh > +# SPDX-License-Identifier: GPL-2.0+ > +# > +# script to generate FIT image source for K3 Family boards with > +# ATF, OPTEE, SPL and multiple device trees (given on the command line). > +# Inspired from board/sunxi/mksunxi_fit_atf.sh Please drop this comment, it doesn't describe what the script is actually doing. ... > +file=$1 > + > +linecount=`cat ${file} | wc -l` > + > +for ((i=1; i<=${linecount}; i++)); > +do [ snip ] blobs=`awk '/^APPEND/ {print $2} /^IMAGE/ || /^DATA/ {print $3}' $file` for f in $blobs; do if [ ! -f $f ]; then echo "WARNING '$f' not found, resulting binary is not-functional" fi; done will do the checks more efficiently. Thanks, Anatolij
> -----Original Message----- > From: Wolfgang Denk [mailto:wd@denx.de] > Sent: 2018年10月24日 22:09 > To: Peng Fan <peng.fan@nxp.com> > Cc: sbabic@denx.de; u-boot@lists.denx.de > Subject: Re: [U-Boot] [PATCH] imx: mkimage: avoid stop CI when required files > not exists > > Dear Peng Fan, > > In message <20181024095456.27486-1-peng.fan@nxp.com> you wrote: > > Introduce a new script to check whether file exists and use that check > > in Makefile to avoid break CI system. > > Hm... this looks overly complicate to me. > > I think you should at least provide more documentation for this script, i. e. what > it does, and what the reutrn codes mean. Fix in V2. > > > +DEPFILE_EXITS := 1 > > ifeq ($(CONFIG_ARCH_IMX8), y) > > -IMAGE_TYPE = imx8image > > +IMAGE_TYPE := imx8image > > +DEPFILE_EXITS := $(shell $(srctree)/tools/imx8_cntr_image.sh > > +$(IMX_CONFIG); echo $$?) > > DEPFILE_EXITS ? Or ..._EXISTS ?? DEPFILE_EXISTS > > > +file=$1 > > + > > +linecount=`cat ${file} | wc -l` > > + > > +for ((i=1; i<=${linecount}; i++)); > > +do > > + name=`awk -F '\t' -F ' ' 'NR=='${i}' && /^APPEND/ {print $2}' > > +${file}` > > You mean you first count the lines of the file, then run a for loop over all line > numbers (which are otherwise unsused), and then run a awk process for each > and every line, making awk read all the file while you just want to process a > single line? > > Why the hell don;t you just runf awk _once_ over all lines of the files and add the > logic (including message printing and return code > setting) to the awk script? The filenames are not always at the same column. So I check each line. > > This script is a awful waste of processes and CPU resources. > [Not to mention the Useless Use of Cat above.] Understand, but the imximage.cfg file only has about 20~30 lines. It is very small. > > > + if [ -n "${name}" ]; then > > + if [ ! -f "${name}" ]; then > > + echo "WARNING ${name} not found, resulting binary is > not-functional" >&2 > > + exit 0 > > If a file is not found which is supposed to be there, then this should be an error, > and not just a warning. And for such scripts the return code for errors is 1, as 0 > is reserved for OK. I use exit 1 when files not found, use 0 when files found. Thanks, Peng. > > > +done > > + > > +exit 1 > > The return code in case of no errors is 0. > > Best regards, > > Wolfgang Denk > > -- > DENX Software Engineering GmbH, Managing Director: Wolfgang Denk > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany > Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de It is > better to marry than to burn. > - Bible ``I Corinthians'' ch. 7, v. 9
> -----Original Message----- > From: Anatolij Gustschin [mailto:agust@denx.de] > Sent: 2018年10月25日 7:44 > To: Peng Fan <peng.fan@nxp.com> > Cc: sbabic@denx.de; u-boot@lists.denx.de > Subject: Re: [U-Boot] [PATCH] imx: mkimage: avoid stop CI when required files > not exists > > Hi Peng, > > On Wed, 24 Oct 2018 09:49:04 +0000 > Peng Fan peng.fan@nxp.com wrote: > ... > > --- /dev/null > > +++ b/tools/imx8_cntr_image.sh > > @@ -0,0 +1,32 @@ > > +#!/bin/sh > > +# SPDX-License-Identifier: GPL-2.0+ > > +# > > +# script to generate FIT image source for K3 Family boards with # > > +ATF, OPTEE, SPL and multiple device trees (given on the command line). > > +# Inspired from board/sunxi/mksunxi_fit_atf.sh > > Please drop this comment, it doesn't describe what the script is actually doing. Thanks. Fix in V2. > > ... > > +file=$1 > > + > > +linecount=`cat ${file} | wc -l` > > + > > +for ((i=1; i<=${linecount}; i++)); > > +do > [ snip ] > > blobs=`awk '/^APPEND/ {print $2} /^IMAGE/ || /^DATA/ {print $3}' $file` for f in > $blobs; do > if [ ! -f $f ]; then > echo "WARNING '$f' not found, resulting binary is not-functional" > fi; > done > > will do the checks more efficiently. Yes. Simpiler. Thanks, Peng. > > Thanks, > > Anatolij
Hi Peng, On 25/10/18 03:14, Peng Fan wrote: > > >> -----Original Message----- >> From: Anatolij Gustschin [mailto:agust@denx.de] >> Sent: 2018年10月25日 7:44 >> To: Peng Fan <peng.fan@nxp.com> >> Cc: sbabic@denx.de; u-boot@lists.denx.de >> Subject: Re: [U-Boot] [PATCH] imx: mkimage: avoid stop CI when required files >> not exists >> >> Hi Peng, >> >> On Wed, 24 Oct 2018 09:49:04 +0000 >> Peng Fan peng.fan@nxp.com wrote: >> ... >>> --- /dev/null >>> +++ b/tools/imx8_cntr_image.sh >>> @@ -0,0 +1,32 @@ >>> +#!/bin/sh >>> +# SPDX-License-Identifier: GPL-2.0+ >>> +# >>> +# script to generate FIT image source for K3 Family boards with # >>> +ATF, OPTEE, SPL and multiple device trees (given on the command line). >>> +# Inspired from board/sunxi/mksunxi_fit_atf.sh >> >> Please drop this comment, it doesn't describe what the script is actually doing. > > Thanks. Fix in V2. I wanted to send my PR as soon as possible to Tom. I didn't want to block i.MX8 merge just for this, and I merged V1 and sent PR. Can you send then a follow-up patch instead of V2 ? V1 is on u-boot-imx, and Tom will merge the tree soon. Best regards, Stefano > >> >> ... >>> +file=$1 >>> + >>> +linecount=`cat ${file} | wc -l` >>> + >>> +for ((i=1; i<=${linecount}; i++)); >>> +do >> [ snip ] >> >> blobs=`awk '/^APPEND/ {print $2} /^IMAGE/ || /^DATA/ {print $3}' $file` for f in >> $blobs; do >> if [ ! -f $f ]; then >> echo "WARNING '$f' not found, resulting binary is not-functional" >> fi; >> done >> >> will do the checks more efficiently. > > Yes. Simpiler. > > Thanks, > Peng. > >> >> Thanks, >> >> Anatolij
> -----Original Message----- > From: Stefano Babic [mailto:sbabic@denx.de] > Sent: 2018年10月25日 16:26 > To: Peng Fan <peng.fan@nxp.com>; Anatolij Gustschin <agust@denx.de> > Cc: sbabic@denx.de; u-boot@lists.denx.de > Subject: Re: [U-Boot] [PATCH] imx: mkimage: avoid stop CI when required files > not exists > > Hi Peng, > > On 25/10/18 03:14, Peng Fan wrote: > > > > > >> -----Original Message----- > >> From: Anatolij Gustschin [mailto:agust@denx.de] > >> Sent: 2018年10月25日 7:44 > >> To: Peng Fan <peng.fan@nxp.com> > >> Cc: sbabic@denx.de; u-boot@lists.denx.de > >> Subject: Re: [U-Boot] [PATCH] imx: mkimage: avoid stop CI when > >> required files not exists > >> > >> Hi Peng, > >> > >> On Wed, 24 Oct 2018 09:49:04 +0000 > >> Peng Fan peng.fan@nxp.com wrote: > >> ... > >>> --- /dev/null > >>> +++ b/tools/imx8_cntr_image.sh > >>> @@ -0,0 +1,32 @@ > >>> +#!/bin/sh > >>> +# SPDX-License-Identifier: GPL-2.0+ # # script to generate FIT > >>> +image source for K3 Family boards with # ATF, OPTEE, SPL and > >>> +multiple device trees (given on the command line). > >>> +# Inspired from board/sunxi/mksunxi_fit_atf.sh > >> > >> Please drop this comment, it doesn't describe what the script is actually > doing. > > > > Thanks. Fix in V2. > > I wanted to send my PR as soon as possible to Tom. I didn't want to block i.MX8 > merge just for this, and I merged V1 and sent PR. No, please not use v1. V2 patch will be out soon. It is under CI test. I'll send out now. Thanks, Peng. > > Can you send then a follow-up patch instead of V2 ? V1 is on u-boot-imx, and > Tom will merge the tree soon. > > Best regards, > Stefano > > > > >> > >> ... > >>> +file=$1 > >>> + > >>> +linecount=`cat ${file} | wc -l` > >>> + > >>> +for ((i=1; i<=${linecount}; i++)); > >>> +do > >> [ snip ] > >> > >> blobs=`awk '/^APPEND/ {print $2} /^IMAGE/ || /^DATA/ {print $3}' > >> $file` for f in $blobs; do > >> if [ ! -f $f ]; then > >> echo "WARNING '$f' not found, resulting binary is not-functional" > >> fi; > >> done > >> > >> will do the checks more efficiently. > > > > Yes. Simpiler. > > > > Thanks, > > Peng. > > > >> > >> Thanks, > >> > >> Anatolij > > > -- > ================================================================ > ===== > DENX Software Engineering GmbH, Managing Director: Wolfgang Denk > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany > Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic@denx.de > ================================================================ > =====
On 25/10/18 10:27, Peng Fan wrote: > > >> -----Original Message----- >> From: Stefano Babic [mailto:sbabic@denx.de] >> Sent: 2018年10月25日 16:26 >> To: Peng Fan <peng.fan@nxp.com>; Anatolij Gustschin <agust@denx.de> >> Cc: sbabic@denx.de; u-boot@lists.denx.de >> Subject: Re: [U-Boot] [PATCH] imx: mkimage: avoid stop CI when required files >> not exists >> >> Hi Peng, >> >> On 25/10/18 03:14, Peng Fan wrote: >>> >>> >>>> -----Original Message----- >>>> From: Anatolij Gustschin [mailto:agust@denx.de] >>>> Sent: 2018年10月25日 7:44 >>>> To: Peng Fan <peng.fan@nxp.com> >>>> Cc: sbabic@denx.de; u-boot@lists.denx.de >>>> Subject: Re: [U-Boot] [PATCH] imx: mkimage: avoid stop CI when >>>> required files not exists >>>> >>>> Hi Peng, >>>> >>>> On Wed, 24 Oct 2018 09:49:04 +0000 >>>> Peng Fan peng.fan@nxp.com wrote: >>>> ... >>>>> --- /dev/null >>>>> +++ b/tools/imx8_cntr_image.sh >>>>> @@ -0,0 +1,32 @@ >>>>> +#!/bin/sh >>>>> +# SPDX-License-Identifier: GPL-2.0+ # # script to generate FIT >>>>> +image source for K3 Family boards with # ATF, OPTEE, SPL and >>>>> +multiple device trees (given on the command line). >>>>> +# Inspired from board/sunxi/mksunxi_fit_atf.sh >>>> >>>> Please drop this comment, it doesn't describe what the script is actually >> doing. >>> >>> Thanks. Fix in V2. >> >> I wanted to send my PR as soon as possible to Tom. I didn't want to block i.MX8 >> merge just for this, and I merged V1 and sent PR. > > No, please not use v1. > > V2 patch will be out soon. It is under CI test. I'll send out now. Ok, I drop from server and I wait for it. Thanks, Stefano > > Thanks, > Peng. > >> >> Can you send then a follow-up patch instead of V2 ? V1 is on u-boot-imx, and >> Tom will merge the tree soon. >> >> Best regards, >> Stefano >> >>> >>>> >>>> ... >>>>> +file=$1 >>>>> + >>>>> +linecount=`cat ${file} | wc -l` >>>>> + >>>>> +for ((i=1; i<=${linecount}; i++)); >>>>> +do >>>> [ snip ] >>>> >>>> blobs=`awk '/^APPEND/ {print $2} /^IMAGE/ || /^DATA/ {print $3}' >>>> $file` for f in $blobs; do >>>> if [ ! -f $f ]; then >>>> echo "WARNING '$f' not found, resulting binary is not-functional" >>>> fi; >>>> done >>>> >>>> will do the checks more efficiently. >>> >>> Yes. Simpiler. >>> >>> Thanks, >>> Peng. >>> >>>> >>>> Thanks, >>>> >>>> Anatolij >> >> >> -- >> ================================================================ >> ===== >> DENX Software Engineering GmbH, Managing Director: Wolfgang Denk >> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany >> Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic@denx.de >> ================================================================ >> =====
Hi Stefano, > -----Original Message----- > From: Stefano Babic [mailto:sbabic@denx.de] > Sent: 2018年10月25日 16:35 > To: Peng Fan <peng.fan@nxp.com>; Stefano Babic <sbabic@denx.de>; Anatolij > Gustschin <agust@denx.de> > Cc: u-boot@lists.denx.de > Subject: Re: [U-Boot] [PATCH] imx: mkimage: avoid stop CI when required files > not exists > > On 25/10/18 10:27, Peng Fan wrote: > > > > > >> -----Original Message----- > >> From: Stefano Babic [mailto:sbabic@denx.de] > >> Sent: 2018年10月25日 16:26 > >> To: Peng Fan <peng.fan@nxp.com>; Anatolij Gustschin <agust@denx.de> > >> Cc: sbabic@denx.de; u-boot@lists.denx.de > >> Subject: Re: [U-Boot] [PATCH] imx: mkimage: avoid stop CI when > >> required files not exists > >> > >> Hi Peng, > >> > >> On 25/10/18 03:14, Peng Fan wrote: > >>> > >>> > >>>> -----Original Message----- > >>>> From: Anatolij Gustschin [mailto:agust@denx.de] > >>>> Sent: 2018年10月25日 7:44 > >>>> To: Peng Fan <peng.fan@nxp.com> > >>>> Cc: sbabic@denx.de; u-boot@lists.denx.de > >>>> Subject: Re: [U-Boot] [PATCH] imx: mkimage: avoid stop CI when > >>>> required files not exists > >>>> > >>>> Hi Peng, > >>>> > >>>> On Wed, 24 Oct 2018 09:49:04 +0000 > >>>> Peng Fan peng.fan@nxp.com wrote: > >>>> ... > >>>>> --- /dev/null > >>>>> +++ b/tools/imx8_cntr_image.sh > >>>>> @@ -0,0 +1,32 @@ > >>>>> +#!/bin/sh > >>>>> +# SPDX-License-Identifier: GPL-2.0+ # # script to generate FIT > >>>>> +image source for K3 Family boards with # ATF, OPTEE, SPL and > >>>>> +multiple device trees (given on the command line). > >>>>> +# Inspired from board/sunxi/mksunxi_fit_atf.sh > >>>> > >>>> Please drop this comment, it doesn't describe what the script is > >>>> actually > >> doing. > >>> > >>> Thanks. Fix in V2. > >> > >> I wanted to send my PR as soon as possible to Tom. I didn't want to > >> block i.MX8 merge just for this, and I merged V1 and sent PR. > > > > No, please not use v1. > > > > V2 patch will be out soon. It is under CI test. I'll send out now. > > Ok, I drop from server and I wait for it. V2 has been out. CI: https://travis-ci.org/MrVan/u-boot/builds/446043677 There is a build warning because of dts, I also send a follow up patch to fix dts build warning, but not kick a new CI build, because it is only i.mx8qxp related. In my local, with ahah image removed. ./tools/buildman/buildman imx8qxp_mek mx6sabresd Building current source for 2 boards (2 threads, 2 jobs per thread) 2 0 0 /2 mx6sabresd I think it should be fine to be merged into your tree for the v2 and dts fix now. Thanks, Peng. > > Thanks, > Stefano > > > > > Thanks, > > Peng. > > > >> > >> Can you send then a follow-up patch instead of V2 ? V1 is on > >> u-boot-imx, and Tom will merge the tree soon. > >> > >> Best regards, > >> Stefano > >> > >>> > >>>> > >>>> ... > >>>>> +file=$1 > >>>>> + > >>>>> +linecount=`cat ${file} | wc -l` > >>>>> + > >>>>> +for ((i=1; i<=${linecount}; i++)); do > >>>> [ snip ] > >>>> > >>>> blobs=`awk '/^APPEND/ {print $2} /^IMAGE/ || /^DATA/ {print $3}' > >>>> $file` for f in $blobs; do > >>>> if [ ! -f $f ]; then > >>>> echo "WARNING '$f' not found, resulting binary is not-functional" > >>>> fi; > >>>> done > >>>> > >>>> will do the checks more efficiently. > >>> > >>> Yes. Simpiler. > >>> > >>> Thanks, > >>> Peng. > >>> > >>>> > >>>> Thanks, > >>>> > >>>> Anatolij > >> > >> > >> -- > >> > ================================================================ > >> ===== > >> DENX Software Engineering GmbH, Managing Director: Wolfgang > Denk > >> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany > >> Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic@denx.de > >> > ================================================================ > >> ===== > > > -- > ================================================================ > ===== > DENX Software Engineering GmbH, Managing Director: Wolfgang Denk > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany > Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic@denx.de > ================================================================ > =====
Hi Peng, On 25/10/18 10:45, Peng Fan wrote: > Hi Stefano, > >> -----Original Message----- >> From: Stefano Babic [mailto:sbabic@denx.de] >> Sent: 2018年10月25日 16:35 >> To: Peng Fan <peng.fan@nxp.com>; Stefano Babic <sbabic@denx.de>; Anatolij >> Gustschin <agust@denx.de> >> Cc: u-boot@lists.denx.de >> Subject: Re: [U-Boot] [PATCH] imx: mkimage: avoid stop CI when required files >> not exists >> >> On 25/10/18 10:27, Peng Fan wrote: >>> >>> >>>> -----Original Message----- >>>> From: Stefano Babic [mailto:sbabic@denx.de] >>>> Sent: 2018年10月25日 16:26 >>>> To: Peng Fan <peng.fan@nxp.com>; Anatolij Gustschin <agust@denx.de> >>>> Cc: sbabic@denx.de; u-boot@lists.denx.de >>>> Subject: Re: [U-Boot] [PATCH] imx: mkimage: avoid stop CI when >>>> required files not exists >>>> >>>> Hi Peng, >>>> >>>> On 25/10/18 03:14, Peng Fan wrote: >>>>> >>>>> >>>>>> -----Original Message----- >>>>>> From: Anatolij Gustschin [mailto:agust@denx.de] >>>>>> Sent: 2018年10月25日 7:44 >>>>>> To: Peng Fan <peng.fan@nxp.com> >>>>>> Cc: sbabic@denx.de; u-boot@lists.denx.de >>>>>> Subject: Re: [U-Boot] [PATCH] imx: mkimage: avoid stop CI when >>>>>> required files not exists >>>>>> >>>>>> Hi Peng, >>>>>> >>>>>> On Wed, 24 Oct 2018 09:49:04 +0000 >>>>>> Peng Fan peng.fan@nxp.com wrote: >>>>>> ... >>>>>>> --- /dev/null >>>>>>> +++ b/tools/imx8_cntr_image.sh >>>>>>> @@ -0,0 +1,32 @@ >>>>>>> +#!/bin/sh >>>>>>> +# SPDX-License-Identifier: GPL-2.0+ # # script to generate FIT >>>>>>> +image source for K3 Family boards with # ATF, OPTEE, SPL and >>>>>>> +multiple device trees (given on the command line). >>>>>>> +# Inspired from board/sunxi/mksunxi_fit_atf.sh >>>>>> >>>>>> Please drop this comment, it doesn't describe what the script is >>>>>> actually >>>> doing. >>>>> >>>>> Thanks. Fix in V2. >>>> >>>> I wanted to send my PR as soon as possible to Tom. I didn't want to >>>> block i.MX8 merge just for this, and I merged V1 and sent PR. >>> >>> No, please not use v1. >>> >>> V2 patch will be out soon. It is under CI test. I'll send out now. >> >> Ok, I drop from server and I wait for it. > > V2 has been out. CI: https://travis-ci.org/MrVan/u-boot/builds/446043677 > There is a build warning because of dts, I also send a follow up patch to fix > dts build warning, but not kick a new CI build, because it is only i.mx8qxp related. > In my local, with ahah image removed. > ./tools/buildman/buildman imx8qxp_mek mx6sabresd > Building current source for 2 boards (2 threads, 2 jobs per thread) > 2 0 0 /2 mx6sabresd > > I think it should be fine to be merged into your tree for the v2 and dts fix now. Fully agree, I merged both, it is fine. I prepare a new PR. Regards, Stefano
diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile index 2d79c71371..f0157ca93b 100644 --- a/arch/arm/mach-imx/Makefile +++ b/arch/arm/mach-imx/Makefile @@ -86,9 +86,11 @@ IMX_CONFIG = $(CONFIG_IMX_CONFIG:"%"=%) $(Q)mkdir -p $(dir $@) $(call if_changed_dep,cpp_cfg) -IMAGE_TYPE = imximage +IMAGE_TYPE := imximage +DEPFILE_EXITS := 1 ifeq ($(CONFIG_ARCH_IMX8), y) -IMAGE_TYPE = imx8image +IMAGE_TYPE := imx8image +DEPFILE_EXITS := $(shell $(srctree)/tools/imx8_cntr_image.sh $(IMX_CONFIG); echo $$?) endif MKIMAGEFLAGS_u-boot.imx = -n $(filter-out $(PLUGIN).bin $< $(PHONY),$^) \ @@ -104,8 +106,10 @@ MKIMAGEFLAGS_u-boot-dtb.imx = -n $(filter-out $(PLUGIN).bin $< $(PHONY),$^) \ u-boot-dtb.imx: MKIMAGEOUTPUT = u-boot-dtb.imx.log u-boot-dtb.imx: u-boot-dtb.bin u-boot-dtb.cfgout $(PLUGIN).bin FORCE +ifeq ($(DEPFILE_EXITS),1) $(call if_changed,mkimage) endif +endif MKIMAGEFLAGS_SPL = -n $(filter-out $(PLUGIN).bin $< $(PHONY),$^) \ -T $(IMAGE_TYPE) -e $(CONFIG_SPL_TEXT_BASE) diff --git a/tools/imx8_cntr_image.sh b/tools/imx8_cntr_image.sh new file mode 100755 index 0000000000..f6725d0444 --- /dev/null +++ b/tools/imx8_cntr_image.sh @@ -0,0 +1,32 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0+ +# +# script to generate FIT image source for K3 Family boards with +# ATF, OPTEE, SPL and multiple device trees (given on the command line). +# Inspired from board/sunxi/mksunxi_fit_atf.sh +# +# usage: $0 <imximage.cfg> + +file=$1 + +linecount=`cat ${file} | wc -l` + +for ((i=1; i<=${linecount}; i++)); +do + name=`awk -F '\t' -F ' ' 'NR=='${i}' && /^APPEND/ {print $2}' ${file}` + if [ -n "${name}" ]; then + if [ ! -f "${name}" ]; then + echo "WARNING ${name} not found, resulting binary is not-functional" >&2 + exit 0 + fi; + fi; + name=`awk -F '\t' -F ' ' 'NR=='${i}' && (/^IMAGE/ || /^DATA/) {print $3}' ${file}` + if [ -n "${name}" ]; then + if [ ! -f "${name}" ]; then + echo "WARNING ${name} not found, resulting binary is not-functional" >&2 + exit 0 + fi; + fi; +done + +exit 1
Introduce a new script to check whether file exists and use that check in Makefile to avoid break CI system. Signed-off-by: Peng Fan <peng.fan@nxp.com> --- arch/arm/mach-imx/Makefile | 8 ++++++-- tools/imx8_cntr_image.sh | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 2 deletions(-) create mode 100755 tools/imx8_cntr_image.sh