Hi Will, I managed to get a docker Yocto build under Linux working, but using a simplified volume mounting scheme. I ran into an issue building with CentOS 7.5 so I used CentOS 7.4 in a container (since the build used to always work before the CentOS update). I haven’t gotten back to trying it under MacOS.
Regards, Darcy Darcy Watkins :: Senior Staff Engineer, Firmware SIERRA WIRELESS Direct +1 604 233 7989 :: Fax +1 604 231 1109 :: Main +1 604 231 1100 13811 Wireless Way :: Richmond, BC Canada V6V 3A4 [P2] dwatk...@sierrawireless.com<mailto:dwatk...@sierrawireless.com> :: www.sierrawireless.com<http://www.sierrawireless.com/> From: Frazer, Will <will.fra...@eurotech.com> Sent: July-17-18 9:32 AM To: Darcy Watkins <dwatk...@sierrawireless.com>; yocto@yoctoproject.org Subject: RE: Error in do_image_wic in Docker container Hi Darcy, Don’t suppose you solved this? I have a yocto 2.3 build that works OK in a virtual machine but seems to throw a v.similar error to what you have reported below. Similarly I have various mounts outside of the container to inject pre-build components & pick up build artifacts. Thanks, Will Will Frazer | EUROTECH | direct +44 (0) 1223 403431 | mobile: +44 (0) 7736 198115 From: yocto-boun...@yoctoproject.org<mailto:yocto-boun...@yoctoproject.org> [mailto:yocto-boun...@yoctoproject.org] On Behalf Of Darcy Watkins Sent: 25 March 2018 17:41 To: yocto@yoctoproject.org<mailto:yocto@yoctoproject.org> Subject: [yocto] Error in do_image_wic in Docker container Hi, This is near end of a build based on rocko branch plus a custom BSP layer, etc. I have had it build OK previously under Linux (CentOS 7). This run is inside a Docker container running on my MacBook. From what I gather from google search results, is the underlying OS filesystem doesn’t support an operation. I use a volume mount scheme as follows… docker run -it \ --volume=${PWD}:/home/build:cached \ --volume=${HOME}/.ssh:/home/build/.ssh \ --volume=${PWD}/downloads:/home/build/downloads:delegated \ --rm --volume=${WS_NAME}_build_vol:/home/build/build \ --volume=${PWD}/build/conf:/home/build/build/conf:cached \ --volume=${PWD}/build/deploy:/home/build/build/tmp/deploy:delegated \ --volume=${TARPIT}:/home/public/tarballs:cached \ $DIMG bash The checkout is mounted from MacOS at /home/build to keep source meta-data accessible by MacOS text editors. The build directory is inside a docker volume so that it doesn’t have case insensitivity issues. The deploy dir and the conf dir are mounted inside this volume so that when docker exits I still have MacOS access to the conf and the deployed content. The TARPIT is a premirror implementation and DIMG is the docker container used. Does WIC do weird filesystem stuff (obviously ‘yes’), but does it do this in the deploy dir rather than in one of the work dirs? I think I missed something (almost like a “fool’s mate” in Chess, LOL). Any insight on this appreciated. Does deploy dir have to be entirely inside the volume, or is this a limitation of Docker implementation itself? Thanks! --- ERROR: core-image-minimal-1.0-r0 do_image_wic: Function failed: do_image_wic (log file is located at /home/build/build/tmp/work/mg90-poky-linux-gnueabi/core-image-minimal/1.0-r0/temp/log.do_image_wic.15406) ERROR: Logfile of failure stored in: /home/build/build/tmp/work/mg90-poky-linux-gnueabi/core-image-minimal/1.0-r0/temp/log.do_image_wic.15406 Log data follows: | DEBUG: Executing python function set_image_size | DEBUG: Python function set_image_size finished | DEBUG: Executing python function extend_recipe_sysroot | NOTE: Direct dependencies are ['/home/build/upstream/yocto/poky/meta/recipes-devtools/python/python-native_2.7.13.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/yocto/poky/meta/recipes-devtools/fdisk/gptfdisk_1.0.3.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/yocto/poky/meta/recipes-devtools/opkg/opkg_0.3.5.bb:do_populate_sysroot', '/home/build/upstream/yocto/poky/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/yocto/poky/meta/recipes-devtools/tcltk/tcl_8.6.7.bb:do_populate_sysroot', '/home/build/upstream/yocto/poky/meta/recipes-devtools/mklibs/mklibs-native_0.1.43.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/yocto/poky/meta/recipes-devtools/dosfstools/dosfstools_4.1.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/yocto/poky/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb:do_populate_sysroot', '/home/build/upstream/yocto/poky/meta/recipes-kernel/kmod/kmod-native_git.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/yocto/poky/meta/recipes-core/update-rc.d/update-rc.d_0.7.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/yocto/poky/meta/recipes-extended/bc/bc_1.06.bb:do_populate_sysroot', '/home/build/upstream/yocto/poky/meta/recipes-devtools/binutils/binutils-cross_2.29.1.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/yocto/poky/meta/recipes-devtools/createrepo-c/createrepo-c_git.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/yocto/poky/meta/recipes-devtools/rpm/rpm_git.bb:do_populate_sysroot', '/home/build/upstream/yocto/poky/meta/recipes-core/glibc/glibc_2.26.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/yocto/poky/meta/recipes-connectivity/openssl/openssl_1.0.2n.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/yocto/meta-freescale/recipes-bsp/change-file-endianess/change-file-endianess.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/yocto/poky/meta/recipes-devtools/subversion/subversion_1.9.6.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/yocto/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.43.5.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/yocto/poky/meta/recipes-bsp/u-boot/u-boot-mkimage_2017.09.bb:do_populate_sysroot', '/home/build/upstream/linaro/meta-linaro/meta-linaro-toolchain/recipes-devtools/gcc/libgcc_linaro-7.1.bb:do_populate_sysroot', '/home/build/upstream/yocto/poky/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/yocto/poky/meta/recipes-kernel/dtc/dtc_1.4.4.bb:do_populate_sysroot', '/home/build/upstream/linaro/meta-linaro/meta-linaro-toolchain/recipes-devtools/gcc/gcc-runtime_linaro-7.1.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/yocto/poky/meta/recipes-devtools/mtools/mtools_4.0.18.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/openembedded/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.12.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/yocto/poky/meta/recipes-devtools/dnf/dnf_2.6.3.bb:do_populate_sysroot', '/home/build/upstream/yocto/poky/meta/recipes-core/glibc/ldconfig-native_2.12.1.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/yocto/poky/meta/recipes-extended/pigz/pigz_2.3.4.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/yocto/poky/meta/recipes-support/lzop/lzop_1.03.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/yocto/poky/meta/recipes-extended/parted/parted_3.2.bb:do_populate_sysroot', '/home/build/upstream/yocto/poky/meta/recipes-devtools/quilt/quilt-native_0.65.bb:do_populate_sysroot', '/home/build/upstream/yocto/meta-freescale/recipes-bsp/u-boot/u-boot-qoriq_2017.09.bb:do_populate_sysroot', '/home/build/upstream/yocto/meta-freescale/recipes-bsp/qe-ucode/qe-ucode_git.bb:do_populate_sysroot', '/home/build/upstream/linaro/meta-linaro/meta-linaro-toolchain/recipes-devtools/gcc/gcc-cross_linaro-7.1.bb:do_populate_sysroot', '/home/build/meta-MG-os-bsp/recipes-bsp/fec/fec_3.0.1.bb:do_populate_sysroot', '/home/build/upstream/yocto/meta-freescale/recipes-kernel/linux/linux-qoriq_4.9.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/yocto/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.3.5.bb:do_populate_sysroot', '/home/build/meta-MG-os-bsp/recipes-bsp/omg-hardware/omg-hardware_svn.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/yocto/poky/meta/recipes-support/bmap-tools/bmap-tools_3.4.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/yocto/poky/meta/recipes-devtools/pseudo/pseudo_1.8.2.bb:do_populate_sysroot', 'virtual:native:/home/build/upstream/yocto/poky/meta/recipes-devtools/prelink/prelink_git.bb:do_populate_sysroot'] | NOTE: Installed into sysroot: ['python-native', 'gptfdisk-native', 'tcl-native', 'dosfstools-native', 'bc-native', 'binutils-cross-arm', 'change-file-endianess-native', 'subversion-native', 'mtools-native', 'python-pyyaml-native', 'lzop-native', 'parted-native', 'gcc-cross-arm', 'linux-qoriq', 'apr-util-native', 'serf-native', 'python-setuptools-native', 'python-cython-native', 'libyaml-native', 'mpfr-native', 'libmpc-native', 'gmp-native', 'apr-native', 'gdbm-native', 'python-scons-native'] | NOTE: Skipping as already exists in sysroot: ['opkg-native', 'qemuwrapper-cross', 'mklibs-native', 'makedevs-native', 'kmod-native', 'update-rc.d-native', 'createrepo-c-native', 'rpm-native', 'glibc', 'openssl-native', 'e2fsprogs-native', 'u-boot-mkimage-native', 'libgcc', 'depmodwrapper-cross', 'dtc-native', 'gcc-runtime', 'dnf-native', 'ldconfig-native', 'pigz-native', 'quilt-native', 'u-boot-qoriq', 'qe-ucode', 'fec', 'opkg-utils-native', 'omg-hardware', 'bmap-tools-native', 'pseudo-native', 'prelink-native', 'sqlite3-native', 'libtool-native', 'bzip2-native', 'autoconf-native', 'expat-native', 'xz-native', 'gnu-config-native', 'readline-native', 'pkgconfig-native', 'zlib-native', 'automake-native', 'qemu-native', 'util-linux-native', 'popt-native', 'ncurses-native', 'libarchive-native', 'libsolv-native', 'gettext-minimal-native', 'gtk-doc-native', 'texinfo-dummy-native', 'flex-native', 'bison-native', 'glib-2.0-native', 'cmake-native', 'python3-native', 'libxml2-native', 'file-native', 'curl-native', 'dbus-native', 'nss-native', 'elfutils-native', 'db-native', 'linux-libc-headers', 'cryptodev-linux-native', 'makedepend-native', 'attr-native', 'shadow-native', 'librepo-native', 'python3-iniparse-native', 'libdnf-native', 'libcomps-native', 'lzo-native', 'omg-mcu', 'python3-setuptools-native', 'binutils-native', 'm4-native', 'alsa-lib-native', 'libsdl-native', 'pixman-native', 'libffi-native', 'libpcre-native', 'gettext-native', 'nspr-native', 'xproto-native', 'util-macros-native', 'unzip-native', 'libcheck-native', 'gpgme-native', 'python3-six-native', 'gobject-introspection-native', 'libxrender-native', 'libxrandr-native', 'libxext-native', 'libx11-native', 'libpng-native', 'swig-native', 'libassuan-native', 'libgpg-error-native', 'renderproto-native', 'randrproto-native', 'xextproto-native', 'libxcb-native', 'inputproto-native', 'xtrans-native', 'kbproto-native', 'libxau-native', 'libxdmcp-native', 'libpthread-stubs-native', 'xcb-proto-native'] | DEBUG: sed -e 's:^[^/]*/:/home/build/build/tmp/work/mg90-poky-linux-gnueabi/core-image-minimal/1.0-r0/recipe-sysroot-native/:g' /home/build/build/tmp/sysroots-components/x86_64/python-native/fixmepath /home/build/build/tmp/sysroots-components/x86_64/tcl-native/fixmepath /home/build/build/tmp/sysroots-components/x86_64/gcc-cross-arm/fixmepath /home/build/build/tmp/sysroots-components/x86_64/apr-util-native/fixmepath /home/build/build/tmp/sysroots-components/x86_64/python-setuptools-native/fixmepath /home/build/build/tmp/sysroots-components/x86_64/gmp-native/fixmepath /home/build/build/tmp/sysroots-components/x86_64/apr-native/fixmepath | xargs sed -i -e 's:FIXMESTAGINGDIRTARGET:/home/build/build/tmp/work/mg90-poky-linux-gnueabi/core-image-minimal/1.0-r0/recipe-sysroot:g; s:FIXMESTAGINGDIRHOST:/home/build/build/tmp/work/mg90-poky-linux-gnueabi/core-image-minimal/1.0-r0/recipe-sysroot-native:g' -e 's:FIXME_COMPONENTS_DIR:/home/build/build/tmp/sysroots-components:g' -e 's:FIXME_HOSTTOOLS_DIR:/home/build/build/tmp/hosttools:g' -e 's:FIXME_PKGDATA_DIR:/home/build/build/tmp/pkgdata/mg90:g' -e 's:FIXME_PSEUDO_LOCALSTATEDIR:/home/build/build/tmp/work/mg90-poky-linux-gnueabi/core-image-minimal/1.0-r0/pseudo/:g' -e 's:FIXME_LOGFIFO:/home/build/build/tmp/work/mg90-poky-linux-gnueabi/core-image-minimal/1.0-r0/temp/fifo.15406:g' | DEBUG: Python function extend_recipe_sysroot finished | DEBUG: Executing shell function do_image_wic | INFO: Creating image(s)... | | Traceback (most recent call last): | File "/home/build/upstream/yocto/poky/scripts/lib/wic/filemap.py", line 385, in _invoke_fiemap | fcntl.ioctl(self._f_image, _FIEMAP_IOCTL, self._buf, 1) | OSError: [Errno 95] Operation not supported | | During handling of the above exception, another exception occurred: | | Traceback (most recent call last): | File "/home/build/upstream/yocto/poky/scripts/lib/wic/filemap.py", line 525, in filemap | return FilemapFiemap(image, log) | File "/home/build/upstream/yocto/poky/scripts/lib/wic/filemap.py", line 359, in __init__ | self.block_is_mapped(0) | File "/home/build/upstream/yocto/poky/scripts/lib/wic/filemap.py", line 406, in block_is_mapped | struct_fiemap = self._invoke_fiemap(block, 1) | File "/home/build/upstream/yocto/poky/scripts/lib/wic/filemap.py", line 393, in _invoke_fiemap | raise ErrorNotSupp(errstr) | wic.filemap.ErrorNotSupp: FilemapFiemap: the FIEMAP ioctl is not supported by the file-system | | During handling of the above exception, another exception occurred: | | Traceback (most recent call last): | File "/home/build/upstream/yocto/poky/scripts/wic", line 525, in <module> | sys.exit(main(sys.argv[1:])) | File "/home/build/upstream/yocto/poky/scripts/wic", line 520, in main | return hlp.invoke_subcommand(args, parser, hlp.wic_help_usage, subcommands) | File "/home/build/upstream/yocto/poky/scripts/lib/wic/help.py", line 98, in invoke_subcommand | subcmd[0](args, usage) | File "/home/build/upstream/yocto/poky/scripts/wic", line 227, in wic_create_subcommand | native_sysroot, options) | File "/home/build/upstream/yocto/poky/scripts/lib/wic/engine.py", line 202, in wic_create | plugin.do_create() | File "/home/build/upstream/yocto/poky/scripts/lib/wic/plugins/imager/direct.py", line 99, in do_create | self.create() | File "/home/build/upstream/yocto/poky/scripts/lib/wic/plugins/imager/direct.py", line 194, in create | self._image.prepare(self) | File "/home/build/upstream/yocto/poky/scripts/lib/wic/plugins/imager/direct.py", line 352, in prepare | imager.kernel_dir, imager.native_sysroot) | File "/home/build/upstream/yocto/poky/scripts/lib/wic/partition.py", line 185, in prepare | kernel_dir, rootfs_dir, native_sysroot) | File "/home/build/upstream/yocto/poky/scripts/lib/wic/plugins/source/rawcopy.py", line 78, in do_prepare_partition | sparse_copy(src, dst) | File "/home/build/upstream/yocto/poky/scripts/lib/wic/filemap.py", line 543, in sparse_copy | fmap = api(src_fname) | File "/home/build/upstream/yocto/poky/scripts/lib/wic/filemap.py", line 527, in filemap | return FilemapSeek(image, log) | File "/home/build/upstream/yocto/poky/scripts/lib/wic/filemap.py", line 206, in __init__ | self._probe_seek_hole() | File "/home/build/upstream/yocto/poky/scripts/lib/wic/filemap.py", line 241, in _probe_seek_hole | raise ErrorNotSupp("the file-system does not support " | wic.filemap.ErrorNotSupp: the file-system does not support "SEEK_HOLE" and "SEEK_DATA" but only provides a stub implementation | WARNING: /home/build/build/tmp/work/mg90-poky-linux-gnueabi/core-image-minimal/1.0-r0/temp/run.do_image_wic.15406:1 exit 1 from 'BUILDDIR="/home/build/build" wic create "$wks" --vars "/home/build/build/tmp/sysroots/mg90/imgdata/" -e "core-image-minimal" -o "$out/"' | ERROR: Function failed: do_image_wic (log file is located at /home/build/build/tmp/work/mg90-poky-linux-gnueabi/core-image-minimal/1.0-r0/temp/log.do_image_wic.15406) ERROR: Task (/home/build/upstream/yocto/poky/meta/recipes-core/images/core-image-minimal.bb:do_image_wic) failed with exit code '1' NOTE: Tasks Summary: Attempted 3411 tasks of which 2614 didn't need to be rerun and 1 failed. Summary: 1 task failed: /home/build/upstream/yocto/poky/meta/recipes-core/images/core-image-minimal.bb:do_image_wic Summary: There were 13 WARNING messages shown. Summary: There was 1 ERROR message shown, returning a non-zero exit code. Regards, Darcy Darcy Watkins :: Senior Staff Engineer, Firmware SIERRA WIRELESS Direct +1 604 233 7989 :: Fax +1 604 231 1109 :: Main +1 604 231 1100 13811 Wireless Way :: Richmond, BC Canada V6V 3A4 [M4] dwatk...@sierrawireless.com<mailto:dwatk...@sierrawireless.com> :: www.sierrawireless.com<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.sierrawireless.com%2F&data=02%7C01%7Cdwatkins%40sierrawireless.com%7C9c74be6213f14e8d315308d5ec02e29c%7C08059a4c248643dd89e33a747e0dcbe8%7C1%7C0%7C636674419524916074&sdata=UFp9oHJq%2FWno%2FSvypBUhCFkrVPhHbY82BUls%2FnU0L3M%3D&reserved=0>
-- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto