Команды U-Boot

  Инфо    Память    Хранилище    Выполнение    Загрузка    Окружение    FDT    Sunxi  

Представленный здесь справочник по командам U-Boot относится к версии U-Boot от компании Allwinner, которая разработана для устройств с процессором H616 (возможно также и ещё более ранних).

Это версия:
U-Boot 2018.05 (Oct 22 2020 - 17:24:26 +0800) Allwinner Technology

К таким устройствам относятся ТВ-боксы нескольких брендов, а также одноплатный компьютер Orange Pi Zero 2, на котором производилось описанное здесь тестирование U-Boot. Кроме того, часть команд проверена на ТВ-боксе, имеющем RAM 1.5 Gb и eMMC 16 Gb.

Нужно учитывать, что разные устройства на H616 могут иметь разные компоненты, поэтому часть команд U-Boot на конкретном устройстве может не использоваться. Например, на ТВ-боксах имеется встроенная MMC-память, которая обозначается в командах как MMC 0, а на устройстве Orange Pi Zero2 такая память отсутствует, поэтому при обращениии к SD-карте используется обозначение MMC 2.

Для вывода списка всех доступных команд используется команда help

Для большинства команд не нужно вводить полное имя команды, достаточно ввести несколько символов.
Например, команда help может быть сокращена до h (или заменена на ?.

В описаниях и толковании команд U-Boot, помеченных звездочкой(*) использовано руководство Руководства DULG (DENX U-Boot and Linux Guide)

Help-сообщения для команд взяты из соответствующих команд help непосредственно на устройстве OrangePi Zero2

Примеры выполнения команд, выделенные оранжевым фоном , получены на устройстве OrangePi Zero2, в качестве дополнений показаны команды на ТВ-боксе, результаты которых отличаются от аналогичных на одноплатном ПК.

Деление команд на группы здесь сделано достаточно условно (для удобства пользования справочником).


Внимание. Все примеры тестирования команд U-Boot, показанные в этом справочнике, проводились на устройстве Orange Pi Zero 2 с установленной SD-картой, содержащей ОС Android 10 (файл прошивки загружен с сайта производителя).


Несколько слов об использовании в синтаксисе команд символа $

Запись '${name}' означает значение переменной с именем name.

=> setenv privet 12345 => printenv privet privet=12345 => setenv hello privet => printenv hello hello=privet => setenv hello ${privet} => printenv hello hello=12345 =>
В приведенном примере:

1) переменной privet присваивается значение 12345
2) переменной hello присваивается значение 'privet' (это текстовая строка)
3) переменной hello присваивается значение, равное содержимому переменной privet, т.е. 12345 (это число)

Примечания (из Руководства).

 !  Поведение некоторых команд зависит от конфигурации U-Boot и от определения некоторых переменных в вашей среде U-Boot.

 !  Почти все команды U-Boot предполагают ввод чисел в шестнадцатеричном формате. Исключение: по историческим причинам команда sleep принимает свой аргумент в десятичном формате.

 !  Будьте осторожны, не используйте клавиши редактирования, кроме Backspace, так как скрытые символы в таких вещах, как переменные среды, может быть очень сложно найти.