1.. SPDX-License-Identifier: GPL-2.0+
2.. _partitions:
3
4Partitions
5==========
6
7Synopsis
8--------
9
10::
11
12    <command> <interface> [devnum][.hwpartnum][:partnum|#partname]
13
14Description
15-----------
16
17Many U-Boot commands allow specifying partitions (or whole disks) using a
18generic syntax.
19
20interface
21        The interface used to access the partition's device, like ``mmc`` or
22        ``scsi``. For a full list of supported interfaces, consult the
23        ``if_typename_str`` array in ``drivers/block/blk-uclass.c``
24
25devnum
26        The device number. This defaults to 0.
27
28hwpartnum
29        The hardware partition number. All devices have at least one hardware
30        partition. On most devices, hardware partition 0 specifies the whole
31        device. On eMMC devices, hardware partition 0 is the user partition,
32        hardware partitions 1 and 2 are the boot partitions, hardware partition
33        3 is the RPMB partition, and further partitions are general-purpose
34        user-created partitions. The default hardware partition number is 0.
35
36partnum
37        The partition number, starting from 1. The partition number 0 specifies
38        that the whole device is to be used as one "partition."
39
40partname
41        The partition name. This is the partition label for GPT partitions. For
42        MBR partitions, the following syntax is used::
43
44                <devtype><devletter><partnum>
45
46        devtype
47                A device type like ``mmcsd`` or ``hd``. See the
48                ``part_set_generic_name`` function in ``disk/part.c`` for a
49                complete list.
50
51        devletter
52                The device number as an offset from ``a``. For example, device
53                number 2 would have a device letter of ``c``.
54
55        partnum
56                The partition number. This is the same as above.
57
58If neither ``partname`` nor ``partnum`` is specified and there is a partition
59table, then partition 1 is used. If there is no partition table, then the whole
60device is used as one "partition." If none of ``devnum``, ``hwpartnum``,
61``partnum``, or ``partname`` is specified, or only ``-`` is specified, then
62``devnum`` defaults to the value of the ``bootdevice`` environmental variable.
63
64Examples
65--------
66
67List the root directory contents on MMC device 2, hardware partition 1,
68and partition number 3::
69
70        ls mmc 2.1:3 /
71
72Load ``/kernel.itb`` to address ``0x80000000`` from SCSI device 0, hardware partition
730, and the partition labeled ``boot``::
74
75        load scsi #boot 0x80000000 /kernel.itb
76
77Print the partition UUID of the SATA device ``$bootdevice``, hardware partition
780, and partition number 0::
79
80        part uuid sata -
81