Provided by: bmap-tools_3.6-1_all bug

NAME

       bmaptool - create block map (bmap) for a file or copy a file using bmap

SYNOPSIS

       bmaptool [--help] [--version] [--quiet] [--debug] <command> [<options>] <args>

DESCRIPTION

       Bmaptool  is a generic tool for creating the block map (bmap) for a file and copying files
       using the block map. The idea is that large files, like raw system  image  files,  can  be
       copied  or  flashed  a  lot faster with bmaptool than with traditional tools, like "dd" or
       "cp".

       Bmaptool supports 2 commands:
         1. copy - copy a file to another file using bmap or flash an image to a block device
         2. create - create a bmap for a file

       Please, find full documentation for the project online.

OPTIONS

       --version
         Print bmaptool version and exit.

       -h, --help
         Print short help text and exit.

       -q, --quiet
         Be quiet, do not print extra information.

       -d, --debug
         Print debugging messages.

COMMANDS

   copy [options] IMAGE DEST
         Copy file IMAGE to the destination regular file or block device DEST using  bmap.  IMAGE
         may  either  be  a  local  path  or an URL. DEST may either be a regular file or a block
         device (only local).

         Unless the bmap  file  is  explicitly  specified  with  the  "--bmap"  option,  bmaptool
         automatically  discovers  it  by  looking for a file with the same basename as IMAGE but
         with the ".bmap" extension. The bmap file is only looked for in  IMAGE's  directory  (or
         base  URL,  in  case  IMAGE  was  specified  as  an URL). If the bmap file is not found,
         bmaptool fails. To copy without bmap, use the "--nobmap" option.

         Both IMAGE and the bmap file may be specified as  an  URL  (http://,  ftp://,  https://,
         file://,  ssh://).  In  order  to  make bmaptool use a proxy server, please, specify the
         proxy using the standard  "$http_proxy",  "$https_proxy",  "$ftp_proxy"  or  "$no_proxy"
         environment variables.

         If  the  server  requires authentication, user name and password may be specified in the
         URL,     for     example     "https://user:password@my.server.org/image.raw.bz2",     or
         "ssh://user:password@host:path/to/image.raw".

         IMAGE  may  be  compressed,  in  which  case  bmaptool  decompresses it on-the-fly.  The
         compression type is detected by the file extension  and  the  following  extensions  are
         supported:

             1.  ".gz",  ".gzip", ".tar.gz" and ".tgz" for files and tar archives compressed with
             "gzip" program
             2. ".bz2", "tar.bz2", ".tbz2",  ".tbz",  and  ".tb2"  for  files  and  tar  archives
             compressed with "bzip2" program
             3. ".xz", ".tar.xz", ".txz" for files and tar archives compressed with "xz" program
             4.  ".lzo",  "tar.lzo",  ".tzo"  for  files  and  tar archives compressed with "lzo"
             program
             5. ".lz4", "tar.lz4", ".tlz4" for files  and  tar  archives  compressed  with  "lz4"
             program
             6.  ".zst",  "tar.zst",  ".tzst"  for  files and tar archives compressed with "zstd"
             program

         IMAGE files with other extensions are assumed to be uncompressed.  Note,  bmaptool  uses
         "pbzip2"  and  "pigz"  programs for decompressing bzip2 and gzip archives faster, unless
         they are not available, in which case if falls-back to using "bzip2" and "gzip".

         If DEST is a block device node (e.g., "/dev/sdg"), bmaptool opens it in exclusive  mode.
         This  means  that  it will fail if any other process has IMAGE block device node opened.
         This also means that no other processes will  be  able  to  open  IMAGE  until  bmaptool
         finishes  the  copying.  Please,  see  semantics  of  the  "O_EXCL" flag of the "open()"
         syscall.

         The bmap file typically contains SHA-256 checksum for itself as well as SHA-256 checksum
         for  all  the  mapped data regions, which makes it possible to guarantee data integrity.
         bmaptool verifies the checksums and exits with an error in case of a mismatch.  Checksum
         verification  can  be  disabled using the "--no-verify" option. bmaptool does not verify
         that unampped areas contain only zeroes, because these areas are anyway dropped and  are
         not used for anything.

         The  bmap file may be signed with OpenPGP (gpg). The signature may be either detached (a
         separate file) or "built into" the bmap file (so called "clearsign" signature).

         The detached signature can be specified with the "--bmap-sig" option, otherwise bmaptool
         tries  to  automatically discover it by looking for a file with the same basename as the
         bmap file but with the ".asc" or ".sig" extension.  This is very  similar  to  the  bmap
         file  auto-discovery.  So  if  a  ".asc" or ".sig" file exists, bmaptool will verify the
         signature.

         The clearsign signature is part of the bmap file and bmaptool automatically detected and
         verifies it.

         If  the signature is bad, bmaptool exits with an error. Bmap file signature verification
         can be disabled using the "--no-sig-verify" option.

         OPTIONS
           -h, --help
             Print short help text about the "copy" command and exit.

           --bmap BMAP
             Use bmap file "BMAP" for copying. If this option is not specified, bmaptool tries to
             automatically discover the bmap file.

           --bmap-sig SIG
             Use  a  detached  OpenPGP signature file "SIG" for verifying the bmap file integrity
             and publisher. If this option is not  specified,  bmaptool  tries  to  automatically
             discover the signature file.

           --nobmap
             Disable automatic bmap file discovery and force flashing entire IMAGE without bmap.

           --no-sig-verify
             Do not verify the OpenPGP bmap file signature (not recommended).

         --no-verify
           Do  not verify data checksums when copying (not recommended). The checksums are stored
           in the bmap file, and normally bmaptool verifies that the data in  IMAGE  matches  the
           checksums.

         --psplash-pipe PATH
           Write  periodic  machine-readable  progress  reports  to  a fifo in the format used by
           psplash. Each progress report consists of "PROGRESS" followed by a space,  an  integer
           percentage and a newline.

         EXAMPLES
           bmaptool copy image.raw.bz2 /dev/sdg
             Copy bz2-compressed local file "image.raw.bz2" to block device "/dev/sdg". The image
             file is uncompressed on-the-fly. The bmap  file  is  discovered  automatically.  The
             OpenPGP signature is detected/discovered automatically too.

           bmaptool copy http://my-server.com/files/image.raw.bz2 $HOME/tmp/file
             Copy  bz2-compressed  remote  "image.raw.bz2" to regular file "$HOME/tmp/file".  The
             image file is uncompressed on-the-fly. The bmap file  is  discovered  automatically.
             The OpenPGP signature is detected/discovered automatically too.

           bmaptool copy --bmap image.bmap --bmap-sig image.bmap.asc image.raw /dev/sdg
             Copy  non-compressed  local  file  "image.raw" to block device "/dev/sdg" using bmap
             file "image.bmap". Verify the bmap file signature using a detached OpenPGP signature
             from "imag.bmap.asc".

   create [options] IMAGE
       Generate  bmap  for a regular file IMAGE. Internally, this command uses the Linux "FIEMAP"
       ioctl to find out which IMAGE blocks are mapped. However, if "FIEMAP"  is  not  supported,
       the  "SEEK_HOLE"  feature  of  the  "lseek"  system  call is used instead. By default, the
       resulting bmap file is printed to stdout, unless the "--output" option is used.

       The IMAGE file is always synchronized before  the  block  map  is  generated.  And  it  is
       important  to  make  sure  that the IMAGE file is not modified when the bmap file is being
       generated, and after the bmap file has been generated. Otherwise  the  bmap  file  becomes
       invalid and checksum verification will fail.

       The image file can further be signed using OpenPGP.

         OPTIONS
           -h, --help
             Print short help text about the "create" command and exit.

           -o, --output OUTPUT
             Save  the  generated  bmap  in  the  OUTPUT  file (by default the bmap is printed to
             stdout).

           --no-checksum
             Generate a bmap file without SHA1 checksums (not recommended).

         EXAMPLES
           bmaptool create image.raw
             Generate bmap for the "image.raw" file and print it to stdout.

           bmaptool create -o image.bmap image.raw
             Generate bmap for the "image.raw" file and save it in "image.bmap".

AUTHOR

       Artem Bityutskiy <artem.bityutskiy@linux.intel.com>.

REPORTING BUGS

       Please, report bugs to Artem Bityutskiy <artem.bityutskiy@linux.intel.com> or to the bmap-
       tools mailing list <bmap-tools@lists.infradead.org>.