xref: /openbmc/openbmc/poky/documentation/dev-manual/bmaptool.rst (revision 96e4b4e121e0e2da1535d7d537d6a982a6ff5bc0)
1.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
2
3Flashing Images Using `bmaptool`
4********************************
5
6A fast and easy way to flash an image to a bootable device is to use
7`bmaptool`, which is integrated into the OpenEmbedded build system.
8`bmaptool` is a generic tool that creates a file's block map (bmap) and
9then uses that map to copy the file. As compared to traditional tools
10such as `dd` or `cp`, `bmaptool` can copy (or flash) large files like raw
11system image files much faster.
12
13.. note::
14
15   -  If you are using Ubuntu or Debian distributions, you can install
16      the ``bmap-tools`` package using the following command and then
17      use the tool without specifying ``PATH`` even from the root
18      account::
19
20         $ sudo apt install bmap-tools
21
22   -  If you are unable to install the ``bmap-tools`` package, you will
23      need to build `bmaptool` before using it. Use the following command::
24
25         $ bitbake bmaptool-native -caddto_recipe_sysroot
26
27Following, is an example that shows how to flash a Wic image. Realize
28that while this example uses a Wic image, you can use `bmaptool` to flash
29any type of image. Use these steps to flash an image using `bmaptool`:
30
31#. *Update your local.conf File:* You need to have the following set
32   in your ``local.conf`` file before building your image::
33
34      IMAGE_FSTYPES += "wic wic.bmap"
35
36#. *Get Your Image:* Either have your image ready (pre-built with the
37   :term:`IMAGE_FSTYPES`
38   setting previously mentioned) or take the step to build the image::
39
40      $ bitbake image
41
42#. *Flash the Device:* Flash the device with the image by using `bmaptool`
43   depending on your particular setup. The following commands assume the
44   image resides in the :term:`Build Directory`'s ``deploy/images/`` area:
45
46   -  If you installed the package for `bmaptool`, you can directly run::
47
48         $ sudo bmaptool copy build-directory/tmp/deploy/images/machine/image.wic /dev/sdX
49
50   -  Otherwise, if you built `bmaptool` with BitBake, run::
51
52         $ sudo chmod a+w /dev/sdX       # get write access to the media, needed only once after booting
53         $ oe-run-native bmaptool-native bmaptool copy build-directory/tmp/deploy/images/machine/image.wic /dev/sdX
54
55For help on the ``bmaptool`` command, use the following command::
56
57   $ bmaptool --help
58
59