[OE-core] Ext4 filesystem name does not exist
Muhlenkamp, Lewis
lewis.muhlenkamp at stryker.com
Mon Oct 21 13:23:26 UTC 2019
Hello,
I have been doing builds using a Docker setup on a VMware ESXi 6.5 virtual machine running Ubuntu 18.04 for the past year. I have been asked to move to building on a VM in Azure. I created a VM in Azure using the Ubuntu 18.04 image from Canonical. When I try to do the same build in Azure, I get the following error messages:
=== Start ERROR messages ===
ERROR: docker-base-image-1.0-r0 do_image_wic: Function failed: do_image_wic (log file is located at /home/blah/build-0.0.13/tmp-glibc/work/intel_corei7_64-oe-linux/foo/1.0-r0/temp/log.do_image_wic.44033)
ERROR: Logfile of failure stored in: /home/blah/build-0.0.13/tmp-glibc/work/intel_corei7_64-oe-linux/foo/1.0-r0/temp/log.do_image_wic.44033
| OSError: [Errno 22] Invalid argument
| wic.filemap.Error: cannot get block size for '/home/blah/build-0.0.13/tmp-glibc/work/intel_corei7_64-oe-linux/foo/1.0-r0/deploy-foo-image-complete/foo-intel-corei7-64-0.0.13/tmp.wic.5lmon88k/boot.img': [Errno 22] Invalid argument
| ERROR: Function failed: do_image_wic (log file is located at /home/blah/build-0.0.13/tmp-glibc/work/intel_corei7_64-oe-linux/foo/1.0-r0/temp/log.do_image_wic.44033)
ERROR: Task (/home/blah/meta-stryker/common/recipes-common/images/foo.bb:do_image_wic) failed with exit code '1'
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
ERROR: Ext4 filesystem name (/home/blah/build-0.0.13/tmp-glibc/deploy/images/intel-corei7-64/foo-intel-corei7-64-0.0.13.rootfs.ext4) does not exist.
=== End ERROR messages ===
The log.do_image_wic.44033 has the following stack trace.
=== Start log.do_image_wic.44033 stack trace ===
DEBUG: Python function extend_recipe_sysroot finished
DEBUG: Executing shell function do_image_wic
INFO: Creating image(s)...
WARNING: overhead-factor was specified, but size was not, so bitbake variables will be used for the size. In this case both IMAGE_OVERHEAD_FACTOR and --overhead-factor will be applied
Traceback (most recent call last):
File "/home/blah/oe-core/scripts/lib/wic/filemap.py", line 97, in __init__
self.block_size = get_block_size(self._f_image)
File "/home/bruce/oe-core/scripts/lib/wic/filemap.py", line 40, 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 "/home/blah/oe-core/scripts/wic", line 534, in <module>
sys.exit(main(sys.argv[1:]))
File "/home/blah/oe-core/scripts/wic", line 529, in main
return hlp.invoke_subcommand(args, parser, hlp.wic_help_usage, subcommands)
File "/home/blah/oe-core/scripts/lib/wic/help.py", line 98, in invoke_subcommand
subcmd[0](args, usage)
File "/home/blah/oe-core/scripts/wic", line 234, in wic_create_subcommand
native_sysroot, options)
File "/home/blah/oe-core/scripts/lib/wic/engine.py", line 202, in wic_create
plugin.do_create()
File "/home/blah/oe-core/scripts/lib/wic/plugins/imager/direct.py", line 101, in do_create
self.assemble()
File "/home/blah/oe-core/scripts/lib/wic/plugins/imager/direct.py", line 218, in assemble
self._image.assemble()
File "/home/blah/oe-core/scripts/lib/wic/plugins/imager/direct.py", line 605, in assemble
sparse_copy(source, self.path, seek=part.start * self.sector_size)
File "/home/blah/oe-core/scripts/lib/wic/filemap.py", line 552, in sparse_copy
fmap = api(src_fname)
File "/home/blah/oe-core/scripts/lib/wic/filemap.py", line 534, in filemap
return FilemapFiemap(image, log)
File "/home/blah/oe-core/scripts/lib/wic/filemap.py", line 352, in __init__
_FilemapBase.__init__(self, image, log)
File "/home/blah/oe-core/scripts/lib/wic/filemap.py", line 100, in __init__
% (self._image_path, err))
wic.filemap.Error: cannot get block size for '/home/blah/build-0.0.13/tmp-glibc/work/intel_corei7_64-oe-linux/foo/1.0-r0/deploy-foo-image-complete/foo-intel-corei7-64-0.0.13/tmp.wic.5lmon88k/boot.img': [Errno 22] Invalid argument
WARNING: exit code 1 from a shell command.
ERROR: Function failed: do_image_wic (log file is located at /home/blah/build-0.0.13/tmp-glibc/work/intel_corei7_64-oe-linux/foo/1.0-r0/temp/log.do_image_wic.44033)
=== End log.do_image_wic.44033 stack trace ===
For some reason, it looks like it appears on the Azure VM the build is looking for boot.img in a temporary directory, .../tmp-glibc/work/intel_corei7_64-oe-linux/foo/1.0-r0/deploy-foo-complete/foo-intel-corei7-64-0.0.13/tmp.wic.5lmon88k. The tmp.wic.5lmon88k does not exist. However, in the .../foo-intel-corei7-64-0.0.13 there is a boot.img file.
So, I'm very confused as to why my build works on my VMware ESXi 6.5 VM but not on the Azure VM. I'm using docker-ce 18.09.1 on my VMware ESXi 6.5 VM. I am using docker-ce 19.03.3 on my Azure VM. The Dockerfile and all of the files I'm copying into the Docker image are the same. I've done side by side builds. So, I'm very confident I'm downloading the same OpenEmbedded GIT repos. I'm guessing I'm missing something somewhere, but I do not know where.
If anyone can help me understand this, and give me guidance on how to fix this, it would be greatly appreciated.
Thank you
Lewis Muhlenkamp
Follow this link to read our Privacy Statement<https://www.stryker.com/content/stryker/gb/en/legal/global-policy-statement.html/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20191021/cece736d/attachment.html>
More information about the Openembedded-core
mailing list