[OE-core] [PATCH v3 0/6] bmaptool support
Ed Bartosh
ed.bartosh at linux.intel.com
Mon May 2 12:22:31 UTC 2016
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
More information about the Openembedded-core
mailing list