Hi, This patchset adds ability to use bmaptool to flash images faster than using traditional methods. It contains bmap-tools recipe and generation of .bmap files for the images generated by bitbake and wic.
Bmaptool is a generic tool for creating the block map (bmap) for a file and and copying files using the block map. The idea is that large file containing unused blocks, like raw system image files, can be copied or flashed a lot faster with bmaptool than with traditional tools like "dd" or "cp". Here is an example of flashing image using dd and bmaptool showing around 25% performance gain in flashing time: > ls -slh 19M -rw-r--r-- 1 ed ed 26M Apr 26 11:36 core-image-minimal-qemux86-64-20160426083554.rootfs.ext4 4.0K -rw-r--r-- 1 ed ed 2.7K Apr 26 11:36 core-image-minimal-qemux86-64-20160426083554.rootfs.ext4.bmap > time dd if=core-image-minimal-qemux86-64-20160426083554.rootfs.ext4 > of=/dev/sdb 52302+0 records in 52302+0 records out 26778624 bytes (27 MB) copied, 2.51183 s, 10.7 MB/s real 0m2.515s user 0m0.014s sys 0m0.329s > time bmaptool copy core-image-minimal-qemux86-64-20160426083554.rootfs.ext4 > /dev/sdb bmaptool: info: discovered bmap file 'core-image-minimal-qemux86-64-20160426083554.rootfs.ext4.bmap' bmaptool: info: block map format version 2.0 bmaptool: info: 6538 blocks of size 4096 (25.5 MiB), mapped 4799 blocks (18.7 MiB or 73.4%) bmaptool: info: copying image 'core-image-minimal-qemux86-64-20160426083554.rootfs.ext4' to block device '/dev/sdb' using bmap file 'core-image-minimal-qemux86-64-20160426083554.rootfs.ext4.bmap' bmaptool: info: 100% copied bmaptool: info: synchronizing '/dev/sdb' bmaptool: info: copying time: 1.8s, copying speed 10.3 MiB/sec real 0m1.909s user 0m0.226s sys 0m0.052s The test was repeated 5 times with the same image and the same usb stick device. Changes in v2: Combined Alexander's and my bmap-tools recipes. Got rid of generating standalone script as it breaks build of bmap-tools-native. Changes in v3: Returned back generation of standalone bmaptool script Implemented --bmap option for wic Added test case to test bmap generation by wic --bmap The following changes since commit f7b520878babbaa7527151f22c031ae160512753: poky: Switch to post release name/version (2016-04-29 07:58:46 +0100) are available in the git repository at: git://git.yoctoproject.org/poky-contrib ed/oe-core/bmap-tools-9414 http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=ed/oe-core/bmap-tools-9414 Alexander D. Kanevskiy (1): image types: add bmap generation option Ed Bartosh (5): bmap-tools: initial commit, version 3.2 selftest: add bmap test bmap-tools: generate standalone script wic: implement --bmap option oe-selftest: wic: add test_bmap test case meta/classes/image_types.bbclass | 4 ++- meta/lib/oeqa/selftest/imagefeatures.py | 27 +++++++++++++++ meta/lib/oeqa/selftest/wic.py | 8 +++++ meta/recipes-support/bmap-tools/bmap-tools_3.2.bb | 42 +++++++++++++++++++++++ scripts/lib/wic/creator.py | 1 + scripts/lib/wic/engine.py | 11 ++++-- scripts/lib/wic/imager/direct.py | 23 ++++++++----- scripts/lib/wic/plugins/imager/direct_plugin.py | 3 +- scripts/wic | 3 +- 9 files changed, 108 insertions(+), 14 deletions(-) create mode 100644 meta/recipes-support/bmap-tools/bmap-tools_3.2.bb -- 2.1.4 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core