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 (#53624): https://lists.yoctoproject.org/g/yocto/message/53624
Mute This Topic: https://lists.yoctoproject.org/mt/83049280/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-