Le mar. 25 mai 2021 à 08:19, Ferry Toth <[email protected]> a écrit : > > Adding Richard and Guillaume.
Hi, it seems seems edison-image.bb sets ROOTFS as empty: http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-edison/tree/meta-intel-edison-distro/recipes-core/images/edison-image.bb#n17 so do_bootimg won't depend on ${PN}:do_image:${LIVE_ROOTFS_TYPE}. That dependency would, I think, create the folder you mentioned. Maybe the patch wrongly assumes that if ROOTFS is empty, we shouldn't add a dependency on "do_image.${LIVE_ROOTFS_TYPE}" at all since It looks like edison-image.bb still depends on ${PN}:do_image.${LIVE_ROOTFS_TYPE} even though ROOTFS is empty. I haven't looked too much into why edison-image works this way. > > Op 24-05-2021 om 14:39 schreef Ferry Toth: > > Wow, that got messed up, let me retry. > > > > Op 24-05-2021 om 14:19 schreef Ferry Toth: > >> Accidentally I refreshed poky and rebuilt. The image-live > >> (do_bootimg) fails when building hddimg with the following: > >> > > ERROR: edison-image-1.0-r0 do_bootimg: Error executing a python > > function in exec_python_func() autogenerated: > > > > The stack trace of python calls that resulted in this > > exception/failure was: > > File: 'exec_python_func() autogenerated', lineno: 2, function: <module> > > 0001: > > *** 0002:do_bootimg(d) > > 0003: > > File: > > '/home/ferry/tmp/edison-intel/my/edison-morty/out/linux64/poky/meta/classes/image-live.bbclass', > > lineno: 258, function: do_bootimg > > 0254: if d.getVar("PCBIOS") == "1": > > 0255: bb.build.exec_func('build_syslinux_cfg', d) > > 0256: if d.getVar("EFI") == "1": > > 0257: bb.build.exec_func('build_efi_cfg', d) > > *** 0258: bb.build.exec_func('build_hddimg', d) > > 0259: bb.build.exec_func('build_iso', d) > > 0260: bb.build.exec_func('create_symlinks', d) > > 0261:} > > 0262:do_bootimg[subimages] = "hddimg iso" > > File: > > '/home/ferry/tmp/edison-intel/my/edison-morty/out/linux64/poky/bitbake/lib/bb/build.py', > > lineno: 256, function: exec_func > > 0252: with bb.utils.fileslocked(lockfiles): > > 0253: if ispython: > > 0254: exec_func_python(func, d, runfile, cwd=adir) > > 0255: else: > > *** 0256: exec_func_shell(func, d, runfile, cwd=adir) > > 0257: > > 0258: try: > > 0259: curcwd = os.getcwd() > > 0260: except: > > File: > > '/home/ferry/tmp/edison-intel/my/edison-morty/out/linux64/poky/bitbake/lib/bb/build.py', > > lineno: 503, function: exec_func_shell > > 0499: with open(fifopath, 'r+b', buffering=0) as fifo: > > 0500: try: > > 0501: bb.debug(2, "Executing shell function %s" % func) > > 0502: with open(os.devnull, 'r+') as stdin, logfile: > > *** 0503: bb.process.run(cmd, shell=False, > > stdin=stdin, log=logfile, extrafiles=[(fifo,readfifo)]) > > 0504: except bb.process.ExecutionError as exe: > > 0505: # Find the backtrace that the shell trap generated > > 0506: backtrace_marker_regex = re.compile(r"WARNING: > > Backtrace \(BB generated script\)") > > 0507: stdout_lines = (exe.stdout or "").split("\n") > > File: > > '/home/ferry/tmp/edison-intel/my/edison-morty/out/linux64/poky/bitbake/lib/bb/process.py', > > lineno: 184, function: run > > 0180: if not stderr is None: > > 0181: stderr = stderr.decode("utf-8") > > 0182: > > 0183: if pipe.returncode != 0: > > *** 0184: raise ExecutionError(cmd, pipe.returncode, stdout, > > stderr) > > 0185: return stdout, stderr > > Exception: bb.process.ExecutionError: Execution of > > '/home/ferry/tmp/edison-intel/my/edison-morty/out/linux64/build/tmp/work/edison-poky-linux/edison-image/1.0-r0/temp/run.build_hddimg.256530' > > failed with exit code 1: > > mkdosfs: unable to create > > /home/ferry/tmp/edison-intel/my/edison-morty/out/linux64/build/tmp/work/edison-poky-linux/edison-image/1.0-r0/deploy-edison-image-image-complete/edison-image-edison-20210524113748.hddimg > > mkfs.fat 4.1 (2017-01-24) > > WARNING: exit code 1 from a shell command. > > > >> The reason is that the directory deploy-edison-image-image-complete > >> doesn't exist at the time mkdosfs want to write. However after > >> completing the remainder of image live the directory does exists. > >> Consequently, running bitbake a second time image-live succeeds. > >> > >> I've tried various thing including expressly creating the directory > >> before mkdosfs, but nothing worked. It seems I don't understand how > >> it is supposed to work in the first place. > >> > >> However, I managed to trace back the issue to this commit 91e4a1c1 > >> "image-live.bbclass: optional depends when ROOTFS empty". > >> > >> Reverting this resolves the issue. > >> > >> Any idea what could be wrong? > >>
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#53644): https://lists.yoctoproject.org/g/yocto/message/53644 Mute This Topic: https://lists.yoctoproject.org/mt/83049280/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
