Сборка образов прошивки/en: различия между версиями
(Новая страница: «* Firmware update * Wiren Board 5: Восстановление прошивки/en|Wiren Board…») |
(Новая страница: «#Preparing the root filesystem (rootfs) #Build an image to upload to the controller») |
||
(не показаны 22 промежуточные версии этого же участника) | |||
Строка 5: | Строка 5: | ||
#Build an image to upload to the controller | #Build an image to upload to the controller | ||
Скрипты находятся в репозитории [https://github.com/contactless/wirenboard wirenboard]. Далее пути будут обозначаться от директории с репозиторием. | |||
== Подготовка rootfs == | |||
Скрипт для подготовки корневой ФС находится в директории rootfs. | |||
Как использовать скрипт create_rootfs.sh: | |||
<pre> | <pre> | ||
Строка 23: | Строка 18: | ||
</pre> | </pre> | ||
Здесь: | |||
* ''path_to_new_rootfs'' - | * ''path_to_new_rootfs'' - имя директории, в которой будет создана корневая ФС. Директория будет создана автоматически; | ||
* ''board_ver'' - | * ''board_ver'' - версия контроллера, для которого готовится образ. Допустимые значения: | ||
** 5 - | ** 5 - для Wiren Board 5 | ||
** 55 - | ** 55 - для Wiren Board 5.5 | ||
** 4 - | ** 4 - для Wiren Board 4 | ||
** 32 - | ** 32 - для WB Smart Home (3.2) | ||
** 28 | ** 28 | ||
** NETMON | ** NETMON | ||
Строка 37: | Строка 32: | ||
** MKA31 | ** MKA31 | ||
** AC-E1 | ** AC-E1 | ||
* ''list of additional repos'' - | * ''list of additional repos'' - адреса дополнительных репозиториев с тестовыми пакетами (см. ниже). Опциональный параметр. | ||
Пример. Собираем базовую (без доп. репозиториев) корневую ФС в директории rootfs/rootfs для Wiren Board 5.5: | |||
<pre> | <pre> | ||
Строка 47: | Строка 42: | ||
=== | === Дополнительные репозитории === | ||
Добавление дополнительных репозиториев необходимо, если вы хотите добавить свои версии пакетов в собираемую корневую ФС. | |||
В скрипт передаются ''только адреса'' репозиториев. Например: | |||
<pre> | <pre> | ||
Строка 57: | Строка 52: | ||
</pre> | </pre> | ||
Формат репозиториев соответствует тому, который создаётся с помощью утилиты [[Special:MyLanguage/wbrepo|wbrepo]]. Конкретно, к дополнительному репозиторию предъявляются следующие требования: | |||
* | * В корне на сервере репозитория должен храниться публичный GPG-ключ в файле /repo.gpg.key. Например, если репозиторий расположен по адресу http://localhost:8086/, то ключ должен быть доступен по ссылке http://localhost:8086/repo.gpg.key | ||
* | * Имя используемого дистрибутива - testing | ||
* | * Используемый компонент - main | ||
То есть, если передан адрес репозитория http://localhost:8086/, то в sources.list он будет представлен как | |||
<pre> | <pre> | ||
Строка 70: | Строка 65: | ||
== | == Сборка образа для загрузки на контроллер == | ||
''TODO: | ''TODO: раздел требует дополнения'' | ||
Скрипты для сборки образов находятся в директории images. Перед сборкой образа необходима готовая корневая ФС. | |||
Дополнительно на хост-машине потребуются утилиты (названия приведены для Debian/Ubuntu): | |||
* kpartx | * kpartx | ||
Строка 82: | Строка 77: | ||
* u-boot-tools | * u-boot-tools | ||
Пример: собираем образ прошивки для Wiren Board 5, корневая ФС находится по пути rootfs/rootfs/: | |||
<pre> | <pre> | ||
Строка 89: | Строка 84: | ||
</pre> | </pre> | ||
Здесь ''tag'' - суффикс, который будет добавлен к имени файла образа. | |||
Готовый образ будет лежать по пути image/image/wb5/<current_datetime>/<current_datetime>_emmc_<tag>.img. | |||
== | == См. также == | ||
* [[Special:MyLanguage/Обновление прошивки | * [[Special:MyLanguage/Обновление прошивки|Обновление прошивки]] | ||
* [[Wiren Board 5: Восстановление прошивки | * [[Wiren Board 5: Восстановление прошивки|Wiren Board 5: Восстановление прошивки]] |
Версия 13:41, 3 июня 2019
A special set of scripts has been prepared to build the controller firmware images. The image build process consists of two steps:
- Preparing the root filesystem (rootfs)
- Build an image to upload to the controller
Скрипты находятся в репозитории 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.