From 0d5e25921a8487e9a0a2ff10bdce7ee63f5e9f2c Mon Sep 17 00:00:00 2001 From: Arthur Golubtsov Date: Mon, 22 Jul 2019 04:16:04 +0300 Subject: [PATCH] docs: Add image building article --- docs/image-building.md | 46 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/docs/image-building.md b/docs/image-building.md index e69de29b..748ef300 100644 --- a/docs/image-building.md +++ b/docs/image-building.md @@ -0,0 +1,46 @@ +# Сборка модифицированного образа + +Иногда возникает необходимость собрать образ с настройками коптера, отличными от релизной версии образа. Есть несколько способов это сделать. + +## Подготовка к сборке +Установите [docker](https://www.docker.com): +```bash +sudo apt install docker.io +``` + +## Локальная сборка с изменением настроек Клевера + +* Замените файлы настроек Клевера (launch файлы и карту) в [папке](../builder/clever-config) `builder/clever-config` в директории с исходным кодом CleverSwarm. +* Соберите свой образ с помощью docker: +```bash +cd source-dir +sudo docker run --privileged -it --rm -v /dev:/dev -v $(pwd):/mnt goldarte/img-tool:v0.5 +``` + +## Ручная настройка образа + +* Разархивируйте файл со скачанным образом, перейдите в директорию с этим образом, и войдите в консоль сборщика образа с помощью команды: +```bash +cd image-dir +sudo docker run --privileged -it --rm -v /dev:/dev -v $(pwd):/mnt goldarte/img-tool:v0.5 img-chroot /mnt/ +``` + где - имя файла образа. + В открывшемся терминале с помощью стандартных программ (nano, git, cp, apt-get) вы можете донастроить образ. +* Внешние файлы вы можете перенести в образ с помощью команды: +```bash +sudo docker run --privileged -it --rm -v /dev:/dev -v $(pwd):/mnt goldarte/img-tool:v0.5 img-chroot /mnt/ copy /mnt/ +``` + где - файл, который нужно перенести в образ (расположение относительно папки с образом, например `../builder/assets/clever-show.service`), а - путь в образе, куда нужно переместить файл. +* Если в образе не хватает места для всех необходимых файлов, можно расширить образ с помощью команды: +```bash +sudo docker run --privileged -it --rm -v /dev:/dev -v $(pwd):/mnt goldarte/img-tool:v0.5 img-resize /mnt/ max +``` + где - размер в байтах. Например 5G будет означать 5GB, а 5M - 5MB. +* После расширения образа его можно сжать до минимального размера + 10МB командой +```bash +sudo docker run --privileged -it --rm -v /dev:/dev -v $(pwd):/mnt goldarte/img-tool:v0.5 img-resize /mnt/ min +``` + +## Изменение скриптов сборки + +Статья по изменению скриптов сборки образа и создания кастомной сборки написана [здесь](https://clever.copterexpress.com/ru/image_building.html) \ No newline at end of file