|
| 1 | +# Сборка модифицированного образа |
| 2 | + |
| 3 | +Иногда возникает необходимость собрать образ с настройками коптера, отличными от релизной версии образа. Есть несколько способов это сделать. |
| 4 | + |
| 5 | +## Подготовка к сборке |
| 6 | +Установите [docker](https://www.docker.com): |
| 7 | +```bash |
| 8 | +sudo apt install docker.io |
| 9 | +``` |
| 10 | + |
| 11 | +## Локальная сборка с изменением настроек Клевера |
| 12 | + |
| 13 | +* Замените файлы настроек Клевера (launch файлы и карту) в [папке](../builder/clever-config) `builder/clever-config` в директории с исходным кодом CleverSwarm. |
| 14 | +* Соберите свой образ с помощью docker: |
| 15 | +```bash |
| 16 | +cd source-dir |
| 17 | +sudo docker run --privileged -it --rm -v /dev:/dev -v $(pwd):/mnt goldarte/img-tool:v0.5 |
| 18 | +``` |
| 19 | + |
| 20 | +## Ручная настройка образа |
| 21 | + |
| 22 | +* Разархивируйте файл со скачанным образом, перейдите в директорию с этим образом, и войдите в консоль сборщика образа с помощью команды: |
| 23 | +```bash |
| 24 | +cd image-dir |
| 25 | +sudo docker run --privileged -it --rm -v /dev:/dev -v $(pwd):/mnt goldarte/img-tool:v0.5 img-chroot /mnt/<IMAGE> |
| 26 | +``` |
| 27 | + где <IMAGE> - имя файла образа. |
| 28 | + В открывшемся терминале с помощью стандартных программ (nano, git, cp, apt-get) вы можете донастроить образ. |
| 29 | +* Внешние файлы вы можете перенести в образ с помощью команды: |
| 30 | +```bash |
| 31 | +sudo docker run --privileged -it --rm -v /dev:/dev -v $(pwd):/mnt goldarte/img-tool:v0.5 img-chroot /mnt/<IMAGE> copy /mnt/<MOVE_FILE> <MOVE_TO> |
| 32 | +``` |
| 33 | + где <MOVE_FILE> - файл, который нужно перенести в образ (расположение относительно папки с образом, например `../builder/assets/clever-show.service`), а <MOVE_TO> - путь в образе, куда нужно переместить файл. |
| 34 | +* Если в образе не хватает места для всех необходимых файлов, можно расширить образ с помощью команды: |
| 35 | +```bash |
| 36 | +sudo docker run --privileged -it --rm -v /dev:/dev -v $(pwd):/mnt goldarte/img-tool:v0.5 img-resize /mnt/<IMAGE> max <SIZE> |
| 37 | +``` |
| 38 | + где <SIZE> - размер в байтах. Например 5G будет означать 5GB, а 5M - 5MB. |
| 39 | +* После расширения образа его можно сжать до минимального размера + 10МB командой |
| 40 | +```bash |
| 41 | +sudo docker run --privileged -it --rm -v /dev:/dev -v $(pwd):/mnt goldarte/img-tool:v0.5 img-resize /mnt/<IMAGE> min |
| 42 | +``` |
| 43 | + |
| 44 | +## Изменение скриптов сборки |
| 45 | + |
| 46 | +Статья по изменению скриптов сборки образа и создания кастомной сборки написана [здесь](https://clever.copterexpress.com/ru/image_building.html) |
0 commit comments