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

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


<!--T:2-->
# Подготовка корневой ФС (rootfs)
# Подготовка корневой ФС (rootfs)
# Сборка образа для загрузки на контроллер
# Сборка образа для загрузки на контроллер


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




== Подготовка rootfs ==
== Подготовка rootfs == <!--T:4-->


<!--T:5-->
Скрипт для подготовки корневой ФС находится в директории rootfs.
Скрипт для подготовки корневой ФС находится в директории rootfs.


<!--T:6-->
Как использовать скрипт create_rootfs.sh:
Как использовать скрипт create_rootfs.sh:


<!--T:7-->
<pre>
<pre>
  $ ./create_rootfs.sh <path_to_new_rootfs> <board_ver> [<list of additional repos>]
  $ ./create_rootfs.sh <path_to_new_rootfs> <board_ver> [<list of additional repos>]
</pre>
</pre>


<!--T:8-->
Здесь:
Здесь:


<!--T:9-->
* ''path_to_new_rootfs'' - имя директории, в которой будет создана корневая ФС. Директория будет создана автоматически;
* ''path_to_new_rootfs'' - имя директории, в которой будет создана корневая ФС. Директория будет создана автоматически;
* ''board_ver'' - версия контроллера, для которого готовится образ. Допустимые значения:
* ''board_ver'' - версия контроллера, для которого готовится образ. Допустимые значения:
Строка 35: Строка 43:
* ''list of additional repos'' - адреса дополнительных репозиториев с тестовыми пакетами (см. ниже). Опциональный параметр.
* ''list of additional repos'' - адреса дополнительных репозиториев с тестовыми пакетами (см. ниже). Опциональный параметр.


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


<!--T:11-->
<pre>
<pre>
  $ cd rootfs
  $ cd rootfs
Строка 43: Строка 53:




=== Дополнительные репозитории ===
=== Дополнительные репозитории === <!--T:12-->


<!--T:13-->
Добавление дополнительных репозиториев необходимо, если вы хотите добавить свои версии пакетов в собираемую корневую ФС.
Добавление дополнительных репозиториев необходимо, если вы хотите добавить свои версии пакетов в собираемую корневую ФС.


<!--T:14-->
В скрипт передаются ''только адреса'' репозиториев. Например:
В скрипт передаются ''только адреса'' репозиториев. Например:


<!--T:15-->
<pre>
<pre>
  $ ./create_rootfs.sh ./rootfs/ 55 http://server1.net/ http://server2.net:8086/
  $ ./create_rootfs.sh ./rootfs/ 55 http://server1.net/ http://server2.net:8086/
</pre>
</pre>


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


<!--T:17-->
* В корне на сервере репозитория должен храниться публичный 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
* Имя используемого дистрибутива - testing
* Имя используемого дистрибутива - testing
* Используемый компонент - main
* Используемый компонент - main


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


<!--T:19-->
<pre>
<pre>
  deb http://localhost:8086/ testing main
  deb http://localhost:8086/ testing main
Строка 66: Строка 83:




== Сборка образа для загрузки на контроллер ==
== Сборка образа для загрузки на контроллер == <!--T:20-->


<!--T:21-->
''TODO: раздел требует дополнения''
''TODO: раздел требует дополнения''


<!--T:22-->
Скрипты для сборки образов находятся в директории images. Перед сборкой образа необходима готовая корневая ФС.
Скрипты для сборки образов находятся в директории images. Перед сборкой образа необходима готовая корневая ФС.


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


<!--T:24-->
* kpartx
* kpartx
* device-tree-compiler
* device-tree-compiler
* u-boot-tools
* u-boot-tools


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


<!--T:26-->
<pre>
<pre>
  $ cd image
  $ cd image
Строка 85: Строка 108:
</pre>
</pre>


<!--T:27-->
Здесь ''tag'' - суффикс, который будет добавлен к имени файла образа.
Здесь ''tag'' - суффикс, который будет добавлен к имени файла образа.


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




== См. также ==
== См. также == <!--T:29-->


<!--T:30-->
* [[Special:MyLanguage/Обновление прошивки|Обновление прошивки]]
* [[Special:MyLanguage/Обновление прошивки|Обновление прошивки]]
* [[Wiren Board 5: Восстановление прошивки|Wiren Board 5: Восстановление прошивки]]
* [[Wiren Board 5: Восстановление прошивки|Wiren Board 5: Восстановление прошивки]]
</translate>
</translate>

Версия 13:40, 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.


См. также