Разделы загрузочного носителя
Использование
<command> <interface> [devnum][.hwpartnum][:partnum|#partname]
Описание
Многие команды U-Boot позволяют указывать разделы (или целые устройства), используя общий синтаксис (приведён выше).
interface
Используется для доступа к разделу(ам) устройства вроде
mmc
илиscsi
. Для получения полного списка поддерживаемых интерфейсов обратитесь к массивуuclass_idname_str
в файлеdrivers/block/blk-uclass.c
.
devnum
Номер устройства (по умолчанию
0
).
hwpartnum
Номер аппаратного раздела. Все устройства имеют как минимум один аппаратный раздел. На большинстве устройств аппаратный раздел
0
определяет всё устройство. На eMMC аппаратный раздел0
— это пользовательский раздел, аппаратные разделы1
и2
— загрузочные, аппаратный раздел3
— раздел RPMB, а последующие — аппаратный пользовательские разделы общего назначения.По умолчанию
0
.
partnum
Номер раздела, начинающийся с единицы. Номер раздела
0
означает, что всё устройство будет использоваться как один «раздел».
partname
Имя раздела. Это метка раздела для таблицы GPT. Для MBR разделов используется следующий синтаксис:
<devtype><devletter><partnum>
devtype
Поле
devtype
устанавливается в зависимости от класса устройства:
devtype
Класс hd
IDE/SATA sd
SCSI usbd
USB mmcsd
eMMC/SD xx
Другое См. функцию
part_set_generic_name()
в файлеdisk/part.c
для получения полного списка.
devletter
Номер устройства как смещение от
a
. Например, устройство 2 будет иметь букву устройстваc
.
partnum
Номер раздела. Это то же самое, что и выше.
Если не указаны ни partname
, ни partnum
и имеется таблица разделов, то используется раздел 1. Если таблицы разделов на устройстве нет, то всё оно используется как один «раздел». Если не указано ни одно из devnum
, hwpartnum
, partnum
или partname
, или указано только -
, то devnum
по умолчанию принимает значение переменной окружения bootdevice
.
Примеры
Просмотреть содержимое корневой директории на устройстве MMC 2, аппаратном разделе 1 и разделе №3:
ls mmc 2.1:3 /
Загрузить /kernel.itb
в адрес 0x80000000
с устройства SCSI 0, аппаратного раздела 0 и раздела, имеющего название boot
:
load scsi #boot 0x80000000 /kernel.itb
Вывести UUID раздела SATA-устройства $bootdevice
, аппаратного раздела 0 и номера раздела 0:
part uuid sata -