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

Материал из Wiren Board
(Новая страница: «* Firmware update * Wiren Board 5: Восстановление прошивки/en|Wiren Board…»)
 
(не показано 18 промежуточных версий этого же участника)
Строка 17: Строка 17:
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 folder.


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


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


Здесь:
Here:


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


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


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


* В корне на сервере репозитория должен храниться публичный GPG-ключ в файле /repo.gpg.key. Например, если репозиторий расположен по адресу http://localhost:8086/, то ключ должен быть доступен по ссылке http://localhost:8086/repo.gpg.key
* 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
* Имя используемого дистрибутива - testing
* name - testing
* Используемый компонент - main
* component used - main


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


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




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


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


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


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


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


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


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


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


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




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


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

Текущая версия на 14:01, 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 folder.

How to use create_rootfs.sh script:

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

Here:

  • path_to_new_rootfs - the name of the directory in which to create the root filesystem. The directory will be created automatically;
  • board_ver - controller revision version. Valid values:
    • 5 - for Wiren Board 5
    • 55 - for Wiren Board 5.5
    • 4 - for Wiren Board 4
    • 32 - for WB Smart Home (3.2)
    • 28
    • NETMON
    • MKA3
    • CQC10
    • MKA31
    • AC-E1
  • list of additional repos -addresses of additional repositories with test packages (see below). This parameter is optional.

Example. Build basic (without additional repositories) root FS in the directory rootfs/rootfs for Wiren Board 5.5:

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


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:

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

The format of the repositories corresponds to the one created by the wbrepo utility. Specifically, the additional repository has the following requirements:

E.g., if the repository address is passed http://localhost:8086/, then in sources.list it will be presented as

 deb http://localhost:8086/ testing main


Build an image to upload to the controller

TODO: this section is incomplete

The scripts for building images are located in the images directory. Before you build the image, you need a ready-made root FS.

Additionally, the host machine will require utilities (names are given for Debian/Ubuntu):

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

Example: building firmware for Wiren Board 5, the root filesystem is located here: rootfs/rootfs/:

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

Here tag is the suffix to be added to the image file name.

The finished image will lie in the path image/image/wb5/<current_datetime>/<current_datetime>_emmc_<tag>.img.


See also