README.md

SDK Buildroot для плат ELTAY

Репозиторий содержит Buildroot SDK для плат ELTAY. Основной поддерживаемый способ сборки — через Docker на Linux-хосте. Используемая версия Buildroot - 2025.02.6.

Поддерживаемые платы

Конфигурация плат Конфигурация Buildroot Описание
ELTAY RM66 + ELTAY BB CM4/Orange Pi CM4 Base Board eltay_rm66_defconfig Минимальная базовая сборка для модуля ELTAY RM66, установленного на ELTAY BB CM4 или Orange Pi CM4 Base Board
ELTAY RM88S + Orange Pi CM5 Base Board eltay_rm88s_op_baseboard_defconfig Сборка для модуля ELTAY RM88S, установленного на Orange Pi CM5 Base Board
ELTAY RM88S + Orange Pi CM5 Tablet Base Board eltay_rm88s_op_tablet_defconfig Сборка для модуля ELTAY RM88S, установленного на Orange Pi CM5 Tablet Base Board

Сборка

Подготовка

Для сборки необходимы:

  • Linux host;
  • Git;
  • Docker.

Пакеты, необходимые самому Buildroot, вручную на хост устанавливать не требуется — они устанавливаются внутри Docker-образа.

Клонировать SDK необходимо вместе с подмодулями:

git clone --recurse-submodules https://gitflic.ru/project/elron-tech/buildroot-eltay.git
cd buildroot-eltay

Если репозиторий был склонирован без --recurse-submodules, Buildroot можно загрузить отдельно:

git submodule update --init --depth 1

Перед первой сборкой необходимо создать Docker-образ:

make docker-image

Основные команды

Все команды выполняются из корня репозитория buildroot-eltay.

  • Показать справку:

    make
    
  • Показать доступные конфигурации плат:

    make list-configs
    
  • Собрать Docker-образ окружения:

    make docker-image
    
  • Применить defconfig (например, для платы ELTAY RM66):

    make docker-defconfig CONFIG=eltay_rm66_defconfig
    
  • Запустить сборку после применения defconfig:

    make docker-build
    
  • Открыть menuconfig для текущей сборки:

    make docker-menuconfig
    
  • Сохранить текущую конфигурацию Buildroot обратно в defconfig платы (например, для платы ELTAY RM66):

    make docker-save-config CONFIG=eltay_rm66_defconfig
    
  • Очистить конкретный пакет:

    make docker-package-dirclean PACKAGE=linux
    
  • Открыть shell внутри сборочного Docker-контейнера:

    make docker-shell
    

Переменные сборки

Makefile поддерживает следующие переменные:

Переменная Назначение Значение по умолчанию
CONFIG defconfig из buildroot-external-eltay/configs/ не задано
OUT отдельный каталог сборки Buildroot не задано, используется buildroot/output
PACKAGE пакет Buildroot для docker-package-dirclean не задано
DL_DIR общий каталог скачанных исходников dl
JOBS количество параллельных задач сборки $(nproc)
IMAGE имя Docker-образа сборочного окружения buildroot-eltay:ubuntu24.04

OUT должен быть относительным путём внутри репозитория.

Последовательность сборки

При сборке можно использовать штатный каталог или отдельный каталог сборки.

Сборка в штатный каталог buildroot/output (пример для RM66):

make docker-defconfig CONFIG=eltay_rm66_defconfig
make docker-build

Результаты сборки находятся в buildroot/output/images/. Основной образ для записи на microSD - buildroot/output/images/sdcard.img.

Использование отдельного OUT удобно, если необходимо хранить несколько сборок одновременно или экспериментировать с конфигурацией, не затрагивая другую сборку.

Сборка в отдельный каталог (пример для RM66):

OUT=buildroot_build/eltay_rm66

make docker-defconfig CONFIG=eltay_rm66_defconfig OUT="$OUT"
make docker-build OUT="$OUT"

Артефакты располагаются в $OUT/images/. Основной образ - $OUT/images/sdcard.img. Для всех последующих команд необходимо использовать тот же OUT.

Настройка Buildroot

Для изменения набора пакетов и опций Buildroot используется menuconfig.

Штатный каталог buildroot/output

Сначала применить конфигурацию нужной платы, например RM88S:

make docker-defconfig CONFIG=eltay_rm88s_op_baseboard_defconfig

Открыть меню:

make docker-menuconfig

После внесения изменений сохранить минимальный defconfig непосредственно в buildroot-external-eltay/configs/:

make docker-save-config CONFIG=eltay_rm88s_op_baseboard_defconfig

Отдельный каталог сборки

Необходимо указывать тот же OUT, который использовался при применении make docker-defconfig и сборке:

OUT=buildroot_build/eltay_rm88s_op_baseboard

make docker-defconfig CONFIG=eltay_rm88s_op_baseboard_defconfig OUT="$OUT"
make docker-menuconfig OUT="$OUT"

После выхода из menuconfig сохранить изменения:

make docker-save-config CONFIG=eltay_rm88s_op_baseboard_defconfig OUT="$OUT"

Файл eltay_rm88s_op_baseboard_defconfig в buildroot-external-eltay/configs/ будет обновлён автоматически.

Запись образа на microSD

Linux

Перед записью необходимо определить устройство карты памяти:

lsblk

Записывать необходимо на весь диск, например /dev/sdb, а не на раздел /dev/sdb1.

sudo dd if=buildroot/output/images/sdcard.img of=/dev/sdX bs=4M status=progress conv=fsync
sync

Здесь в аргументе if необходимо указать путь до собранного образа, а в аргументе of - реальное устройство microSD.

Windows

Для записи можно использовать BalenaEtcher:

  1. Нажать Flash from file.
  2. Выбрать sdcard.img.
  3. Выбрать microSD-карту.
  4. Нажать Flash!.

Запуск

Вставьте microSD-карту в используемую плату и подайте питание.

Консоль подключена к 3-контактному разъёму TTL Debug UART, который чаще всего выведен отдельно на базовой плате. Параметры подключения:

1500000 8N1

Данные для входа по умолчанию:

user: root
password: eltay
Описание
SDK Buildroot для плат Eltay
Конвейеры
0 успешных
0 с ошибкой
Разработчики