I am running this in an ubuntu 18.04 docker file and failing on the wic create command deep into the build. I believe I am close but would love your expertise on what may be wrong here:
Checking sstate mirror object availability: 100% |#############################################################################################################################| Time: 0:00:00
Sstate summary: Wanted 33 Found 33 Missed 0 Current 71 (100% match, 100% complete)
NOTE: Executing Tasks
NOTE: Setscene tasks completed
NOTE: Tasks Summary: Attempted 523 tasks of which 502 didn't need to be rerun and all succeeded.
INFO: Extracting rootfs, This may take time!
INFO: Creating wic image...
INFO: wic create /tmp/work/PYNQ/sdbuild/boot/image.wks --rootfs-dir /tmp/work/PYNQ/sdbuild/build/ZCU216/petalinux_project/build/wic/rootfs --bootimg-dir /tmp/work/PYNQ/sdbuild/build/focal.ZCU216 --kernel-dir /tmp/work/PYNQ/sdbuild/build/focal.ZCU216 --outdir /tmp/tmp.SxHlZ5azZA -n /tmp/work/PYNQ/sdbuild/build/ZCU216/petalinux_project/build/tmp/work/aarch64-xilinx-linux/wic-tools/1.0-r0/recipe-sysroot-native
INFO: Creating image(s)...
WARNING: bootloader config not specified, using defaults
Traceback (most recent call last):
File "/tmp/work/PYNQ/sdbuild/build/ZCU216/petalinux_project/components/yocto/layers/core/scripts/lib/wic/filemap.py", line 36, in get_block_size
binary_data = fcntl.ioctl(file_obj, 2, struct.pack('I', 0))
OSError: [Errno 22] Invalid argument
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/tmp/work/PYNQ/sdbuild/build/ZCU216/petalinux_project/components/yocto/layers/core/scripts/lib/wic/filemap.py", line 95, in __init__
self.block_size = get_block_size(self._f_image)
File "/tmp/work/PYNQ/sdbuild/build/ZCU216/petalinux_project/components/yocto/layers/core/scripts/lib/wic/filemap.py", line 38, in get_block_size
raise IOError("Unable to determine block size")
OSError: Unable to determine block size
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/tmp/work/PYNQ/sdbuild/build/ZCU216/petalinux_project/components/yocto/layers/core/scripts/wic", line 525, in <module>
sys.exit(main(sys.argv[1:]))
File "/tmp/work/PYNQ/sdbuild/build/ZCU216/petalinux_project/components/yocto/layers/core/scripts/wic", line 520, in main
return hlp.invoke_subcommand(args, parser, hlp.wic_help_usage, subcommands)
File "/tmp/work/PYNQ/sdbuild/build/ZCU216/petalinux_project/components/yocto/layers/core/scripts/lib/wic/help.py", line 83, in invoke_subcommand
subcmd[0](args, usage)
File "/tmp/work/PYNQ/sdbuild/build/ZCU216/petalinux_project/components/yocto/layers/core/scripts/wic", line 220, in wic_create_subcommand
native_sysroot, options)
File "/tmp/work/PYNQ/sdbuild/build/ZCU216/petalinux_project/components/yocto/layers/core/scripts/lib/wic/engine.py", line 189, in wic_create
plugin.do_create()
File "/tmp/work/PYNQ/sdbuild/build/ZCU216/petalinux_project/components/yocto/layers/core/scripts/lib/wic/plugins/imager/direct.py", line 87, in do_create
self.assemble()
File "/tmp/work/PYNQ/sdbuild/build/ZCU216/petalinux_project/components/yocto/layers/core/scripts/lib/wic/plugins/imager/direct.py", line 187, in assemble
self._image.assemble()
File "/tmp/work/PYNQ/sdbuild/build/ZCU216/petalinux_project/components/yocto/layers/core/scripts/lib/wic/plugins/imager/direct.py", line 594, in assemble
sparse_copy(source, self.path, seek=part.start * self.sector_size)
File "/tmp/work/PYNQ/sdbuild/build/ZCU216/petalinux_project/components/yocto/layers/core/scripts/lib/wic/filemap.py", line 550, in sparse_copy
fmap = api(src_fname)
File "/tmp/work/PYNQ/sdbuild/build/ZCU216/petalinux_project/components/yocto/layers/core/scripts/lib/wic/filemap.py", line 532, in filemap
return FilemapFiemap(image, log)
File "/tmp/work/PYNQ/sdbuild/build/ZCU216/petalinux_project/components/yocto/layers/core/scripts/lib/wic/filemap.py", line 350, in __init__
_FilemapBase.__init__(self, image, log)
File "/tmp/work/PYNQ/sdbuild/build/ZCU216/petalinux_project/components/yocto/layers/core/scripts/lib/wic/filemap.py", line 98, in __init__
% (self._image_path, err))
wic.filemap.Error: cannot get block size for '/tmp/tmp.SxHlZ5azZA/tmp.wic.k_vvapn_/rootfs_PYNQ.1.vfat': Unable to determine block size
ERROR: Failed to create wic image
Makefile:343: recipe for target '/tmp/work/PYNQ/sdbuild/output/ZCU216-2.7.0.img' failed
make: *** [/tmp/work/PYNQ/sdbuild/output/ZCU216-2.7.0.img] Error 255
labuser01-ubuntu@c1fdd5951e02:/tmp/work$
The only “improvised” assumption I made in this build is that i do not need gcc-arm-linux-gnueabihf so I commented out the check for this from a make file (I refuse to believe anyone who built any pynq image has had both of these on thier system at the same time: incase your interested). I do not think that is causing this though.
What is wrong here and how can I fix it?