wiki/ru/help-uboot.md

2.4 KiB
Raw Blame History

Помощь: U-boot

Переменные окружения

Если при попытке сохранения переменной вы получаете ошибку Too many args, попробуйте повторить операцию из среды линукс, заменив setenv на fw_setenv.

U-boot console:

hisilicon # setenv uk 'mw.b 0x82000000 ff 1000000; tftp 0x82000000 uImage.${soc}; sf probe 0; sf erase 0x50000 0x200000; sf write 0x82000000 0x50000 ${filesize}'
** Too many args (max. 16) **

OpenIPC Linux:

root@openipc-hi3518ev100:~# fw_setenv uk 'mw.b 0x82000000 ff 1000000; tftp 0x82000000 uImage.${soc}; sf probe 0; sf erase 0x50000 0x200000; sf write 0x82000000 0x50000 ${filesize}'
root@openipc-hi3518ev100:~#

Сохранение заводской прошивки без tftp.

В программе-терминале, используемой для подключения к порту UART, установите сохранение лога сессии. После чего в консоли загрузчика запустите команду чтения данных из памяти длиной в объем флэш-памяти начиная с нулевого адреса.

Используйте шестнадцатеричное представление для адресов памяти. Так 0 в шестнадцатеричной записи выглядит как 0x0, 8 мегабайтов (8 * 1024 * 1024 = 8,388,608 байтов) выглядят как 0x800000, 16 мегабайтов (16 * 1024 * 1024 = или 16,777,216 байтов) - как 0x1000000.

Чтение 8МБ флэш-памяти:

md.b 0x0 0x800000

Чтение 16МБ флэш-памяти:

md.b 0x0 0x1000000

Будьте готовы к тому, что процесс передачи данных через серийное подключение займет несколько часов. Зато в результате у вас будет полная копия оригинальной прошивки, которую можно конвертировать в бинарный файл с помощью программы binwalk и использовать для дальнейшего изучения или для восстановления камеры в её оригинальный вид.