Прошивка робота

Timofey Bryksin edited this page Aug 25, 2016 · 35 revisions

Внимание! Описан процесс полного обновления образа на SD карте. Загрузка программы из TRIK Studio и частичное обновление прошивки — это совсем иное. Кроме того, всё делать надо аккуратно, проверяя правильность указания разделов, иначе можно испортить таблицу разделов на компьютере, а не на SD карте

Рекомендованные способы прошивки

Windows

Используется утилита DiskImager. Вам понадобятся права администратора для использования утилиты.

Необходимо скачать последний образ прошивки и дальше следовать инструкции по использованию утилиты DiskImager

Ubuntu (14.04 и позже)

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

####Алгоритм записи образа прошивки на SD карточки

Первым делом необходимо скачать последний образ прошивки. После загрузки файла надо открыть в файловом менеджере местоположение загруженного архива, вызвать контекстное меню правым кликом мыши по архиву и выбрать первый пункт Открыть в "Создание загрузочного диска".

Откроется диалог утилиты:

  1. Из выпадающего меню выбрать диск, на который хотим записать прошивку
  2. Нажать на Начать восстановление...

####Алгоритм чтения образа прошивки с SD карточки

Открыть утилиту Disks (Диски).

  1. Выбрать диск, с которого хотим сохранить прошивку
  2. Нажать на значок шестерёнки

В открывшемся диалоге указать желаемые имя образа и путь его сохранения, после чего нажать на Начать создание... и ожидать окончания процесса.

Особые способы прошивки

Linux (через терминал)

Скачать последний образ прошивки.

Если SD-карта уже имеет правильную таблицу разделов (первый раздел не менее 2 Гб, файловая система ext4):

  1. unmount /dev/{first partion}
  2. extract file with Archive Manager or other archiver (or 'tar xJf ...')
  3. binary copy using dd sudo dd bs=4M if=trik-base-v2-trikboard.ext4 of=/dev/{first partion}

EXAMPLE:

sudo dd bs=4M if=trik-base-v2-trikboard.ext4 of=/dev/sdb1

Если SD-карта не отформатирована или разбита на разделы неправильно:

  1. unmount /dev/{first partition}, umount /dev/{second partition} и т.д., например, umount /dev/sdb1
  2. sudo fdisk /dev/{устройство}, например, sudo fdisk /dev/sdb
  3. Командой p смотрим текущую таблицу разделов, проверяем, что это то устройство
  4. Командами d удаляем все существующие разделы
  5. Командой p убеждаемся, что всё удалилось
  6. Командой n создаём новый раздел. Все параметры, кроме размера, можно оставить по умолчанию (жать Enter), размер (запрос Last sector, +sectors or +size{K,M,G}) указать как +2G.
  7. Командой n создаём раздел на оставшейся части SD-карты, оставляем все параметры по умолчанию (тогда он заполнит всё доступное место).
  8. Командой p проверяем, что получилось.
  9. Командой w применяем изменения и выходим из fdisk
  10. Форматируем разделы командами sudo mkfs.ext4 /dev/{раздел}, например sudo mkfs.ext4 /dev/sdb1 и sudo mkfs.ext4 /dev/sdb2
  11. SD-карта разбита на разделы и отформатирована, можно перейти к инструкции для случая "Если SD-карта уже имеет правильную таблицу разделов" и записать на первый раздел образ ОС.

Прошивка робота под Windows (используя dd)

Предполагается, что имеется чистая SD-карта. Если она уже разбита на разделы нужного размера, можно сразу перейти к шагу 2.

Шаг 1. Создаем системный раздел

Для создания раздела будем использовать стандартную консольную утилиту Windows diskpart. Запустив ее, нужно последовательно выполнить следующие команды:

  • list disk — отображается список подключенных дисков. Нам нужно выбрать тот, который размером похож на используемую SD-карту. В нашем примере карта идет в списке под номером 1.
  • select disk 1 — происходит выбор активного диска. Все последующие команды будут выполняться с ним.
  • list partition — отображает все разделы активного диска.
  • Если на флешке есть какие-то разделы, их нужно удалить. Для этого нужно для всех разделов последовательно выполнить команды select partition N и delete partition, либо воспользоваться командой clean. В нашем примере раздел один. Если разделов на карте еще нет, то переходим к следующей команде.
  • create partition primary size=2048 — создает первичный (основной) раздел размером в 2 Гб (размер может меняться в соответствии с размером файла образа).
  • exit — выход из утилиты

Шаг 2. Записываем туда образ системы

Скачать [последний образ прошивки](УСТАРЕЛО!!! http://downloads.trikset.com/updates/rootfs/latest-trik-base-v2-trikboard.ext4.xz). Для разархивирования можно использовать любую утилиту, например, бесплатный архиватор 7-zip.

Для записи образа на карту можно использовать консольную утилиту dd. Консольная dd работает аналогично оригинальной linux-версии утилиты.

Использование консольной dd

Команда dd --list отображает список устройств, видимых в системе, и точки их монтирования. Необходимо найти в этом списке флеш-карту. Также можно дополнительно убедиться в правильности выбора, попытавшись открыть это устройство в проводнике. Если был выполнен шаг 1, Windows не сможет открыть устройство и предложит его отформатировать (этого делать не нужно). В нашем примере флешка подмонтировалась системой как диск E.

Команда записи образа на диск имеет следующий вид:

dd if=<путь до файла образа> of=<метка устройства> bs=<размер блока копирования> --progress

В нашем примере эта команда имеет вид

dd if=trik-base-v3-trikboard.ext4 of=\\.\e: bs=1M --progress

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