mirror of https://github.com/OpenIPC/wiki.git
69 lines
4.3 KiB
Markdown
69 lines
4.3 KiB
Markdown
Помощь: 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 уже стандартными
|
||
средствами.
|