Сборка образов прошивки: различия между версиями

Материал из Wiren Board
(Подготовка страницы к переводу)
Строка 1: Строка 1:
<languages/>
<translate>
Для сборки образов прошивки контроллера подготовлен специальный набор скриптов. Процесс сборки образа состоит из двух этапов:
Для сборки образов прошивки контроллера подготовлен специальный набор скриптов. Процесс сборки образа состоит из двух этапов:


Строка 5: Строка 7:


Скрипты находятся в репозитории [https://github.com/contactless/wirenboard wirenboard]. Далее пути будут обозначаться от директории с репозиторием.
Скрипты находятся в репозитории [https://github.com/contactless/wirenboard wirenboard]. Далее пути будут обозначаться от директории с репозиторием.


== Подготовка rootfs ==
== Подготовка rootfs ==
Строка 38: Строка 41:
  $ ./create_rootfs.sh ./rootfs/ 55
  $ ./create_rootfs.sh ./rootfs/ 55
</pre>
</pre>


=== Дополнительные репозитории ===
=== Дополнительные репозитории ===
Строка 49: Строка 53:
</pre>
</pre>


Формат репозиториев соответствует тому, который создаётся с помощью утилиты [[wbrepo]]. Конкретно, к дополнительному репозиторию предъявляются следующие требования:
Формат репозиториев соответствует тому, который создаётся с помощью утилиты [[Special:MyLanguage/wbrepo|wbrepo]]. Конкретно, к дополнительному репозиторию предъявляются следующие требования:


* В корне на сервере репозитория должен храниться публичный GPG-ключ в файле /repo.gpg.key. Например, если репозиторий расположен по адресу http://localhost:8086/, то ключ должен быть доступен по ссылке http://localhost:8086/repo.gpg.key
* В корне на сервере репозитория должен храниться публичный GPG-ключ в файле /repo.gpg.key. Например, если репозиторий расположен по адресу http://localhost:8086/, то ключ должен быть доступен по ссылке http://localhost:8086/repo.gpg.key
Строка 60: Строка 64:
  deb http://localhost:8086/ testing main
  deb http://localhost:8086/ testing main
</pre>
</pre>


== Сборка образа для загрузки на контроллер ==
== Сборка образа для загрузки на контроллер ==
Строка 83: Строка 88:


Готовый образ будет лежать по пути image/image/wb5/<current_datetime>/<current_datetime>_emmc_<tag>.img.
Готовый образ будет лежать по пути image/image/wb5/<current_datetime>/<current_datetime>_emmc_<tag>.img.


== См. также ==
== См. также ==
* [[Обновление прошивки]]
 
* [[Wiren Board 5: Восстановление прошивки]]
* [[Special:MyLanguage/Обновление прошивки|Обновление прошивки]]
* [[Wiren Board 5: Восстановление прошивки|Wiren Board 5: Восстановление прошивки]]
</translate>

Версия 13:39, 3 июня 2019

Другие языки:

Для сборки образов прошивки контроллера подготовлен специальный набор скриптов. Процесс сборки образа состоит из двух этапов:

  1. Подготовка корневой ФС (rootfs)
  2. Сборка образа для загрузки на контроллер

Скрипты находятся в репозитории wirenboard. Далее пути будут обозначаться от директории с репозиторием.


Подготовка rootfs

Скрипт для подготовки корневой ФС находится в директории rootfs.

Как использовать скрипт create_rootfs.sh:

 $ ./create_rootfs.sh <path_to_new_rootfs> <board_ver> [<list of additional repos>]

Здесь:

  • path_to_new_rootfs - имя директории, в которой будет создана корневая ФС. Директория будет создана автоматически;
  • board_ver - версия контроллера, для которого готовится образ. Допустимые значения:
    • 5 - для Wiren Board 5
    • 55 - для Wiren Board 5.5
    • 4 - для Wiren Board 4
    • 32 - для WB Smart Home (3.2)
    • 28
    • NETMON
    • MKA3
    • CQC10
    • MKA31
    • AC-E1
  • list of additional repos - адреса дополнительных репозиториев с тестовыми пакетами (см. ниже). Опциональный параметр.

Пример. Собираем базовую (без доп. репозиториев) корневую ФС в директории rootfs/rootfs для Wiren Board 5.5:

 $ cd rootfs
 $ ./create_rootfs.sh ./rootfs/ 55


Дополнительные репозитории

Добавление дополнительных репозиториев необходимо, если вы хотите добавить свои версии пакетов в собираемую корневую ФС.

В скрипт передаются только адреса репозиториев. Например:

 $ ./create_rootfs.sh ./rootfs/ 55 http://server1.net/ http://server2.net:8086/

Формат репозиториев соответствует тому, который создаётся с помощью утилиты wbrepo. Конкретно, к дополнительному репозиторию предъявляются следующие требования:

  • В корне на сервере репозитория должен храниться публичный GPG-ключ в файле /repo.gpg.key. Например, если репозиторий расположен по адресу http://localhost:8086/, то ключ должен быть доступен по ссылке http://localhost:8086/repo.gpg.key
  • Имя используемого дистрибутива - testing
  • Используемый компонент - main

То есть, если передан адрес репозитория http://localhost:8086/, то в sources.list он будет представлен как

 deb http://localhost:8086/ testing main


Сборка образа для загрузки на контроллер

TODO: раздел требует дополнения

Скрипты для сборки образов находятся в директории images. Перед сборкой образа необходима готовая корневая ФС.

Дополнительно на хост-машине потребуются утилиты (названия приведены для Debian/Ubuntu):

  • kpartx
  • device-tree-compiler
  • u-boot-tools

Пример: собираем образ прошивки для Wiren Board 5, корневая ФС находится по пути rootfs/rootfs/:

 $ cd image
 $ ./create_images_wb5.sh ../rootfs/rootfs/ <tag>

Здесь tag - суффикс, который будет добавлен к имени файла образа.

Готовый образ будет лежать по пути image/image/wb5/<current_datetime>/<current_datetime>_emmc_<tag>.img.


См. также