wiki/ru/help-uboot.md

69 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

Помощь: 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](https://github.com/ReFirmLabs/binwalk) и использовать для дальнейшего
изучения или для восстановления камеры в её оригинальный вид.
### Обход запароленного загрузчика.
Смена загрузчика -- рискованная операция. Уж слишком высоки шансы превратить
камеру в пресс-папье, если что-то пойдёт не так. Поэтому прежде чем прошивать
новый загрузчик надо взвесить все риски и бенефиты.
В большинстве случаев оригинальный загрузчик плюс новое ядро и новая
операционная система -- вполне рабочий вариант. Но бывают исключения.
Последнее время всё чаще встречаются камеры, на которых доступ в консоль
загрузчика закрыт паролем. То есть даже если вы подключитесь к камере через
порт UART, всё, что вам будет доступно после прерывания стандартного цикла
загрузки -- это приглашение ввести пароль. В таком случае относительно
безопасным решением будет даунгрейд родной прошивки до версии, где ещё не
требовался пароль. Например, у камер Xiongmai пароль в загрузчике появился
где-то в районе июля 2021 года, следовательно вам понадобится файл с фирменной
прошивкой от вашей камеры с более ранней датой. После успешного даунгрейда на
беспарольный загрузчик вы сможете установить прошивку OpenIPC уже стандартными
средствами.