If the user doesn't have mtools installed the boot filesystem creation doesn't emit any warnings and continues to produce an empty filesystem. Turning on --debug results in: Debug: exec_cmd: output for export PATH=/data/yocto-autobuilder/slaves/devkit-world/build/build/tmp/sysroots/x86_64-linux/sbin:PATH=/data/yocto-autobuilder/slaves/devkit-world/build/build/tmp/sysroots/x86_64-linux/usr/sbin:PATH=/data/yocto-autobuilder/slaves/devkit-world/build/build/tmp/sysroots/x86_64-linux/usr/bin:$PATH;mcopy -i /var/tmp/wic/build/boot.img -s /var/tmp/wic/build/hdd/* ::/ (rc = 127): /bin/sh: 1: mcopy: not found Debug: WARNING: export returned '127' instead of 0 Obviously, that debug should actually be a fatal error.
Yes, at minimum I need to audit the code for failures when a tool isn't installed or can't be found. It would be convenient to use the native tools, but not sure how exactly to do that as wic is meant to be standalone tool outside of the build system and therefore doesn't enter into dependency processing.
Fix(es) submitted to OE-core.
BTW, I forgot that we actually do use the native commands, it's just that it didn't actually work sometimes because of a couple bogus PATH elements.
Fixed in master: http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=bb0c26960d3b05070346cdfdfd05d6fd4ad0a7b1