.. SPDX-License-Identifier: GPL-2.0+

mbr command
===========

Synopsis
--------

::

    mbr verify [interface] [device no] [partition list]
    mbr write [interface] [device no] [partition list]

Description
-----------

The mbr command lets users create or verify the MBR (Master Boot Record)
partition layout based on the provided text description. The partition
layout is alternatively read from the 'mbr_parts' environment variable.
This can be used in scripts to help system image flashing tools to ensure
proper partition layout.

The syntax of the text description of the partition list is similar to
the one used by the 'gpt' command.

Supported partition parameters are:

* name (currently ignored)
* start (partition start offset in bytes)
* size (in bytes or '-' to expand it to the whole free area)
* bootable (boolean flag)
* id (MBR partition type)

If one wants to create more than 4 partitions, an 'Extended' primary
partition (with 0x05 ID) has to be explicitly provided as a one of the
first 4 entries.

Here is an example how to create a 6 partitions (3 on the 'extended
volume'), some of the predefined sizes:

::

    => setenv mbr_parts 'name=boot,start=4M,size=128M,bootable,id=0x0e;
        name=rootfs,size=3072M,id=0x83;
        name=system-data,size=512M,id=0x83;
        name=[ext],size=-,id=0x05;
        name=user,size=-,id=0x83;
        name=modules,size=100M,id=0x83;
        name=ramdisk,size=8M,id=0x83'
    => mbr write mmc 0

To check if the layout on the MMC #0 storage device matches the provided
text description one has to issue following command (assuming that
mbr_parts environment variable is set):

::

    => mbr verify mmc 0

The verify sub-command is especially useful in the system update scripts:

::

    => if mbr verify mmc 0; then
         echo MBR layout needs to be updated
         ...
       fi

The 'mbr write' command returns 0 on success write or 1 on failure.

The 'mbr verify' returns 0 if the layout matches the one on the storage
device or 1 if not.

Configuration
-------------

To use the mbr command you must specify CONFIG_CMD_MBR=y.

Return value
------------

The variable *$?* takes the following values

+---+------------------------------+
| 0 | mbr write was succesful      |
+---+------------------------------+
| 1 | mbr write failed             |
+---+------------------------------+
| 0 | mbr verify was succesful     |
+---+------------------------------+
| 1 | mbr verify was not succesful |
+---+------------------------------+
|-1 | invalid arguments            |
+---+------------------------------+
