Hi Peng, On 24/10/18 07:09, Peng Fan wrote: > When the required files to build a bootable imx8 image are not > found, return EXIT_SUCCESS to avoid build CI system. > And if the files are missing, give a error message during the build. >
Thanks for this - anyway, I am thinking about if this is the correct solution. IMHO the current implementation in mkimage *is* already correct. Files are missing, mkimage cannot be completed with success, we do not get an image suitable for booting - an error is raised. What else ? There is nothing wrong on this :-). However, we have to make CI happy - but mkimage could be called even outside a U-Boot build, and should be scriptable, that is it must report an error in case of failure. This is already provided. Instead of changing mkimage, I thought to not call mkimage at all. We could add a test in arch/arm/mach-imx/Makefile to check if files for imx8 are available, and if not, we print warnings and Makefile returns with success. CI / Travis should be happy again without introducing a buggy behavior into mkimage. What do you think ? Best regards, Stefano > Signed-off-by: Peng Fan <peng....@nxp.com> > --- > tools/imx8image.c | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/tools/imx8image.c b/tools/imx8image.c > index e6b0a146b6..35409646f5 100644 > --- a/tools/imx8image.c > +++ b/tools/imx8image.c > @@ -279,9 +279,9 @@ static void check_file(struct stat *sbuf, char *filename) > int tmp_fd = open(filename, O_RDONLY | O_BINARY); > > if (tmp_fd < 0) { > - fprintf(stderr, "%s: Can't open: %s\n", > + fprintf(stderr, "*** %s: Can't open: %s ***\n", > filename, strerror(errno)); > - exit(EXIT_FAILURE); > + exit(EXIT_SUCCESS); > } > > if (fstat(tmp_fd, sbuf) < 0) { > @@ -311,9 +311,9 @@ static void copy_file_aligned(int ifd, const char > *datafile, int offset, > > dfd = open(datafile, O_RDONLY | O_BINARY); > if (dfd < 0) { > - fprintf(stderr, "Can't open %s: %s\n", > + fprintf(stderr, "*** Can't open %s: %s ***\n", > datafile, strerror(errno)); > - exit(EXIT_FAILURE); > + exit(EXIT_SUCCESS); > } > > if (fstat(dfd, &sbuf) < 0) { > @@ -365,9 +365,9 @@ static void copy_file (int ifd, const char *datafile, int > pad, int offset) > > dfd = open(datafile, O_RDONLY | O_BINARY); > if (dfd < 0) { > - fprintf(stderr, "Can't open %s: %s\n", > + fprintf(stderr, "*** Can't open %s: %s ***\n", > datafile, strerror(errno)); > - exit(EXIT_FAILURE); > + exit(EXIT_SUCCESS); > } > > if (fstat(dfd, &sbuf) < 0) { > @@ -648,8 +648,8 @@ static int get_container_image_start_pos(image_t > *image_stack, uint32_t align) > if (img_sp->option == APPEND) { > fd = fopen(img_sp->filename, "r"); > if (!fd) { > - fprintf(stderr, "Fail open first container file > %s\n", img_sp->filename); > - exit(EXIT_FAILURE); > + fprintf(stderr, "*** Fail open first container > file %s ***\n", img_sp->filename); > + exit(EXIT_SUCCESS); > } > > ret = fread(&header, sizeof(header), 1, fd); > -- ===================================================================== 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: sba...@denx.de ===================================================================== _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot