Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH v3 0/6] bmaptool support
@ 2016-05-02 12:22 Ed Bartosh
  2016-05-02 12:22 ` [PATCH v3 1/6] bmap-tools: initial commit, version 3.2 Ed Bartosh
                   ` (7 more replies)
  0 siblings, 8 replies; 23+ messages in thread
From: Ed Bartosh @ 2016-05-02 12:22 UTC (permalink / raw)
  To: openembedded-core

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



^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2016-05-19 21:54 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-02 12:22 [PATCH v3 0/6] bmaptool support Ed Bartosh
2016-05-02 12:22 ` [PATCH v3 1/6] bmap-tools: initial commit, version 3.2 Ed Bartosh
2016-05-02 12:22 ` [PATCH v3 2/6] image types: add bmap generation option Ed Bartosh
2016-05-02 12:22 ` [PATCH v3 3/6] selftest: add bmap test Ed Bartosh
2016-05-02 12:22 ` [PATCH v3 4/6] bmap-tools: generate standalone script Ed Bartosh
2016-05-03 19:31   ` Christopher Larson
2016-05-03 19:33     ` Christopher Larson
2016-05-04  7:01       ` Ed Bartosh
2016-05-04 18:55         ` Christopher Larson
2016-05-19 14:19           ` Alexander Kanevskiy
2016-05-19 14:54             ` Christopher Larson
2016-05-19 21:50               ` Alexander Kanevskiy
2016-05-19 21:53                 ` Christopher Larson
2016-05-13 17:13   ` Richard Purdie
2016-05-18 12:34     ` [wic][PATCH 1/4] wic: add bmaptool to the list of utilities Ed Bartosh
2016-05-18 12:34       ` [wic][PATCH 2/4] wic: implement --bmap option Ed Bartosh
2016-05-18 12:34       ` [wic][PATCH 3/4] wic: add help for --bmap commandline option Ed Bartosh
2016-05-18 12:34       ` [wic][PATCH 4/4] oe-selftest: wic: add test_bmap test case Ed Bartosh
2016-05-02 12:22 ` [PATCH v3 5/6] wic: implement --bmap option Ed Bartosh
2016-05-02 12:22 ` [PATCH v3 6/6] oe-selftest: wic: add test_bmap test case Ed Bartosh
2016-05-03 20:22 ` [PATCH v3 0/6] bmaptool support Christopher Larson
2016-05-04  6:59   ` Ed Bartosh
2016-05-13 17:11 ` Richard Purdie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox