int imx8image_copy_image(int outfd, struct image_tool_params *mparams) { image_t *img_sp = param_stack; /* * SECO FW is a container image, this is to calculate the * 2nd container offset. */ fprintf(stdout, "parsing %s\n", mparams->imagename); parse_cfg_file(img_sp, mparams->imagename); if (sector_size == 0) { fprintf(stderr, "Wrong sector size\n"); exit(EXIT_FAILURE); } fprintf(stdout, "CONTAINER Sector size:\t%08x\n", sector_size); fprintf(stdout, "CONTAINER FUSE VERSION:\t0x%02x\n", fuse_version); fprintf(stdout, "CONTAINER SW VERSION:\t0x%04x\n", sw_version); build_container(soc, sector_size, emmc_fastboot, img_sp, false, fuse_version, sw_version, outfd); return 0; }
int run(void* arg) { char **argv = (char**) arg; const std::string command = (const std::string) argv[1]; const std::vector<std::string> args = {command}; Container container = build_container(); try { container.run_command(command, args); } catch (const std::exception& exc) { std::cerr << "Exception caught " << exc.what() << "\n"; return 1; } return 0; }