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

Материал из Wiren Board
(Новая страница: «* Firmware update * Wiren Board 5: Восстановление прошивки/en|Wiren Board…»)
(Новая страница: «The script for preparing the root FS is located in the rootfs directory.»)
(не показано 19 промежуточных версий этого же участника)
Строка 15: Строка 15:
== Preparing rootfs ==
== Preparing rootfs ==


The script for preparing the root FS is located in the rootfs folder.
The script for preparing the root FS is located in the rootfs directory.


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


<pre>
<pre>
Строка 23: Строка 23:
</pre>
</pre>


Here:
Здесь:


* ''path_to_new_rootfs'' - the name of the directory in which to create the root filesystem. The directory will be created automatically;
* ''path_to_new_rootfs'' - имя директории, в которой будет создана корневая ФС. Директория будет создана автоматически;
* ''board_ver'' - controller revision version. Valid values:
* ''board_ver'' - версия контроллера, для которого готовится образ. Допустимые значения:
** 5 - for Wiren Board 5
** 5 - для Wiren Board 5
** 55 - for Wiren Board 5.5
** 55 - для Wiren Board 5.5
** 4 - for Wiren Board 4
** 4 - для Wiren Board 4
** 32 - for WB Smart Home (3.2)
** 32 - для WB Smart Home (3.2)
** 28
** 28
** NETMON
** NETMON
Строка 37: Строка 37:
** MKA31
** MKA31
** AC-E1
** AC-E1
* ''list of additional repos'' -addresses of additional repositories with test packages (see below). This parameter is optional.
* ''list of additional repos'' - адреса дополнительных репозиториев с тестовыми пакетами (см. ниже). Опциональный параметр.


Example. Build basic (without additional repositories) root FS in the directory rootfs/rootfs for Wiren Board 5.5:
Пример. Собираем базовую (без доп. репозиториев) корневую ФС в директории rootfs/rootfs для Wiren Board 5.5:


<pre>
<pre>
Строка 47: Строка 47:




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


Additional repositories are necessary if you want to add your own versions of packages to the root FS being built.
Добавление дополнительных репозиториев необходимо, если вы хотите добавить свои версии пакетов в собираемую корневую ФС.


Only'' the address'' of the repository are sent to the script. For example:
В скрипт передаются ''только адреса'' репозиториев. Например:


<pre>
<pre>
Строка 57: Строка 57:
</pre>
</pre>


The format of the repositories corresponds to the one created by the [[Special:MyLanguage/wbrepo/en|wbrepo]] utility. Specifically, the additional repository has the following requirements:
Формат репозиториев соответствует тому, который создаётся с помощью утилиты [[Special:MyLanguage/wbrepo|wbrepo]]. Конкретно, к дополнительному репозиторию предъявляются следующие требования:


* The repository server root must contain the public GPG key in the /repo file.gpg.key. For example, if the repository is located at http://localhost:8086/, then the key should be available via link http://localhost:8086/repo.gpg.key
* В корне на сервере репозитория должен храниться публичный GPG-ключ в файле /repo.gpg.key. Например, если репозиторий расположен по адресу http://localhost:8086/, то ключ должен быть доступен по ссылке http://localhost:8086/repo.gpg.key
* name - testing
* Имя используемого дистрибутива - testing
* component used - main
* Используемый компонент - main


E.g., if the repository address is passed http://localhost:8086/, then in sources.list it will be presented as
То есть, если передан адрес репозитория http://localhost:8086/, то в sources.list он будет представлен как


<pre>
<pre>
Строка 70: Строка 70:




== Build an image to upload to the controller ==
== Сборка образа для загрузки на контроллер ==


''TODO: this section is incomplete ''
''TODO: раздел требует дополнения''


The scripts for building images are located in the images directory. Before you build the image, you need a ready-made root FS.
Скрипты для сборки образов находятся в директории images. Перед сборкой образа необходима готовая корневая ФС.


Additionally, the host machine will require utilities (names are given for Debian/Ubuntu):
Дополнительно на хост-машине потребуются утилиты (названия приведены для Debian/Ubuntu):


* kpartx
* kpartx
Строка 82: Строка 82:
* u-boot-tools
* u-boot-tools


Example: building firmware for Wiren Board 5, the root filesystem is located here: rootfs/rootfs/:
Пример: собираем образ прошивки для Wiren Board 5, корневая ФС находится по пути rootfs/rootfs/:


<pre>
<pre>
Строка 89: Строка 89:
</pre>
</pre>


Here ''tag'' is the suffix to be added to the image file name.
Здесь ''tag'' - суффикс, который будет добавлен к имени файла образа.


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




== See also ==
== См. также ==


* [[Special:MyLanguage/Обновление прошивки/en|Firmware update]]
* [[Special:MyLanguage/Обновление прошивки|Обновление прошивки]]
* [[Wiren Board 5: Восстановление прошивки/en|Wiren Board 5: Firmware recovery]]
* [[Wiren Board 5: Восстановление прошивки|Wiren Board 5: Восстановление прошивки]]

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

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

A special set of scripts has been prepared to build the controller firmware images. The image build process consists of two steps:

  1. Preparing the root filesystem (rootfs)
  2. Build an image to upload to the controller

The scripts are located in the wirenboard repository. Then the paths will be indicated from the repository folder



Build an image to upload to the controller


Preparing rootfs

The script for preparing the root FS is located in the rootfs directory.

Как использовать скрипт 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.


См. также