Собери сам (примеры сборок)
Здесь мы опишем, как самостоятельно собрать образ NapiLinux с использованием OpenEmbedded/Yocto Project.
Доступные варианты сборки:
- Базовый образ (nnz-napi-image) — минимальная система
- Frontcontrol (nnz-frontcontrol-image) — система сбора данных с визуализацией, включает influxdb2, telegraf, grafana, flask
- Dev-версии — образы для разработки с дополнительными инструментами
Требования к хост-системе:
Сборку рекомендуется вести на Linux-хосте (например, Ubuntu 22.04 или новее). Должны быть установлены пакеты, необходимые для сборки Yocto Project.
Для Ubuntu/Debian:
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat libsdl1.2-dev
Для других систем смотрите документацию: https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html
💥 Нужно выделить не менее 80Гб свободного места на диске.
ШАГ 1. Скачиваем исходники
Создаём рабочий каталог и клонируем необходимые репозитории:
~ $ mkdir yocto
~ $ cd yocto
~/yocto $ git clone --depth 1 git://git.yoctoproject.org/poky -b scarthgap
~/yocto $ cd poky
~/yocto/poky $ git clone --depth 1 git://git.openembedded.org/meta-openembedded.git -b scarthgap
~/yocto/poky $ git clone --depth 1 git://git.yoctoproject.org/meta-arm.git -b scarthgap
~/yocto/poky $ git clone --depth 1 https://gitlab.nnz-ipc.net/pub/napilinux/meta-influx.git -b scarthgap
~/yocto/poky $ git clone --depth 1 https://gitlab.nnz-ipc.net/pub/napilinux/meta-nnz.git -b scarthgap
~/yocto/poky $ git clone --depth 1 https://github.com/sbabic/meta-swupdate -b scarthgap
Дополнительные слои (опционально):
Для поддержки Raspberry Pi:
~/yocto/poky $ git clone git://git.yoctoproject.org/meta-raspberrypi -b scarthgap
Для поддержки Intel x86:
~/yocto/poky $ git clone git://git.yoctoproject.org/meta-intel -b scarthgap
Все репозитории теперь используют ветку scarthgap — актуальную стабильную версию Yocto Project.
ШАГ 2. Настраиваем окружение
Инициализируем окружение сборки:
~/yocto/poky $ source oe-init-build-env