doc: Document partition specifications

This documents the way U-Boot understands partitions specifications.
This also updates the fastboot documentation for the changes in the
previous commit.

Signed-off-by: Sean Anderson <sean.anderson@seco.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Sean Anderson 2021-02-05 09:39:02 -05:00 committed by Marek Vasut
parent 1500c79dc3
commit 403c2e46b4
3 changed files with 85 additions and 0 deletions

View File

@ -154,6 +154,10 @@ The device index starts from ``a`` and refers to the interface (e.g. USB
controller, SD/MMC controller) or disk index. The partition index starts
from ``1`` and describes the partition number on the particular device.
Alternatively, partition types may be specified using :ref:`U-Boot's partition
syntax <partitions>`. This allows specifying partitions like ``0.1``,
``0#boot``, or ``:3``. The interface is always ``mmc``.
Writing Partition Table
-----------------------

View File

@ -6,6 +6,7 @@ Use U-Boot
fdt_overlays
netconsole
partitions
Shell commands
--------------

80
doc/usage/partitions.rst Normal file
View File

@ -0,0 +1,80 @@
.. SPDX-License-Identifier: GPL-2.0+
.. _partitions:
Partitions
==========
Synopsis
--------
::
<command> <interface> [devnum][.hwpartnum][:partnum|#partname]
Description
-----------
Many U-Boot commands allow specifying partitions (or whole disks) using a
generic syntax.
interface
The interface used to access the partition's device, like ``mmc`` or
``scsi``. For a full list of supported interfaces, consult the
``if_typename_str`` array in ``drivers/block/blk-uclass.c``
devnum
The device number. This defaults to 0.
hwpartnum
The hardware partition number. All devices have at least one hardware
partition. On most devices, hardware partition 0 specifies the whole
device. On eMMC devices, hardware partition 0 is the user partition,
hardware partitions 1 and 2 are the boot partitions, hardware partition
3 is the RPMB partition, and further partitions are general-purpose
user-created partitions. The default hardware partition number is 0.
partnum
The partition number, starting from 1. The partition number 0 specifies
that the whole device is to be used as one "partition."
partname
The partition name. This is the partition label for GPT partitions. For
MBR partitions, the following syntax is used::
<devtype><devletter><partnum>
devtype
A device type like ``mmcsd`` or ``hd``. See the
``part_set_generic_name`` function in ``disk/part.c`` for a
complete list.
devletter
The device number as an offset from ``a``. For example, device
number 2 would have a device letter of ``c``.
partnum
The partition number. This is the same as above.
If neither ``partname`` nor ``partnum`` is specified and there is a partition
table, then partition 1 is used. If there is no partition table, then the whole
device is used as one "partition." If none of ``devnum``, ``hwpartnum``,
``partnum``, or ``partname`` is specified, or only ``-`` is specified, then
``devnum`` defaults to the value of the ``bootdevice`` environmental variable.
Examples
--------
List the root directory contents on MMC device 2, hardware partition 1,
and partition number 3::
ls mmc 2.1:3 /
Load ``/kernel.itb`` to address ``0x80000000`` from SCSI device 0, hardware partition
0, and the partition labeled ``boot``::
load scsi #boot 0x80000000 /kernel.itb
Print the partition UUID of the SATA device ``$bootdevice``, hardware partition
0, and partition number 0::
part uuid sata -