Skip to content

Commit 0d5e259

Browse files
committed
docs: Add image building article
1 parent aa206a7 commit 0d5e259

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

docs/image-building.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
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

Comments
 (0)