Перейти до основного вмісту

Збирання повного образу за допомогою Yocto

Загальнодоступний шар Yocto, meta-simaai, збирає повний образ для плати Modalix із вихідного коду. Одна збірка створює U-Boot, ядро, дерева пристроїв та оверлеї, прошивку SiMa.ai і мінімальну кореневу файлову систему в одному файлі, який можна прошити. Використовуйте його, коли потрібно створити весь образ самостійно. Щоб змінити ядро або дерево пристроїв на платі, яка вже завантажується, швидше скористатися розділом Збирання BSP з вихідного коду.

Ще не перевірено на обладнанні

Збирання з цієї сторінки виконали один раз, 2026-10-06, у контейнері Ubuntu 22.04, із шару на коміті випуску 2.1.3. Отриманий образ не прошивали на плату й не завантажували.

примітка

Збирання повного образу eLxr із власного вихідного коду ще не задокументовано. Для запуску плати, як і раніше, рекомендовано eLxr. Див. розділ eLxr чи Yocto.

Перш ніж почати​

  • Використовуйте хост збирання з Linux. Посібник шару рекомендує Ubuntu 22.04 і зазначає, що Yocto Project не підтримує WSL.

  • Рецепти отримують вихідний код ядра та U-Boot SiMa.ai з GitHub за SSH-адресами. Розмістіть на хості збирання SSH-ключ GitHub або налаштуйте Git на використання HTTPS для цих адрес:

    sima-user@sima-user-machine:~$ git config --global url."https://github.com/".insteadOf "ssh://git@github.com/"
    sima-user@sima-user-machine:~$ git config --global --add url."https://github.com/".insteadOf "git@github.com:"
  • Установіть пакети хоста збирання, які Yocto Project наводить для Ubuntu, і зробіть доступною локаль en_US.UTF-8. Потім установіть пакети, які додає посібник шару:

    sima-user@sima-user-machine:~$ sudo apt-get install chrpath diffstat g++ gawk make liblz4-tool cmake python3 python3-distutils libncurses5 git gfortran
    sima-user@sima-user-machine:~$ sudo dpkg --add-architecture i386
    sima-user@sima-user-machine:~$ sudo apt update
    sima-user@sima-user-machine:~$ sudo apt install libc6:i386

Отримання шарів​

Збірка використовує випуск scarthgap проєкту Yocto. Клонуйте ці шари в один каталог:

  • poky
  • meta-openembedded
  • meta-arm
  • meta-clang і meta-clang-revival
  • meta-python-ai
  • meta-swupdate
  • meta-simaai

Не змінюйте назви цих каталогів і тримайте каталоги поруч. Шаблон знаходить кожен шар за шляхом поруч із каталогом збирання.

Репозиторій і точну ревізію кожного з них наведено в посібнику зі збирання цього шару. Використовуйте саме ці ревізії. Щоб отримати шар SiMa.ai:

sima-user@sima-user-machine:~$ git clone https://github.com/SiMa-ai/meta-simaai.git

Налаштування збірки​

Шар має шаблон, який заповнює перелік шарів і конфігурацію збірки. З каталогу, що містить шари:

sima-user@sima-user-machine:~$ export TEMPLATECONF=$PWD/meta-simaai/conf/templates/custom
sima-user@sima-user-machine:~$ source poky/oe-init-build-env
sima-user@sima-user-machine:~/build$ bitbake-layers show-layers

Остання команда показує шари, які використовує збірка. Перевірте, що meta-simaai є в переліку.

Це образ для розробки

Шаблон збирання шару вмикає функцію образу debug-tweaks, яка робить образ придатним для розробки, а в образі задано стандартні паролі для користувачів root і sima. Перш ніж постачати виріб, вилучіть debug-tweaks з EXTRA_IMAGE_FEATURES у conf/local.conf і задайте власні паролі.

Збирання образу​

sima-user@sima-user-machine:~/build$ MACHINE=modalix bitbake simaai-image-minimal

Задайте MACHINE=modalix у командному рядку, оскільки типове значення шаблону — це інша плата. Образ містить мінімальну кореневу файлову систему з прошивкою SiMa.ai, модулями ядра, OpenSSH і swupdate.

Конфігурація машини приймає прапорець ліцензії commercial, тому збирання додає прошивку SiMa.ai без запиту. Перш ніж поширювати образ, прочитайте ліцензію в licenses/SiMaai-EULA-1.0.

Перше збирання з 12 потоками на 20-ядерній машині тривало близько 35 хвилин і зайняло близько 70 ГБ дискового простору.

Де знайти результат​

Збірка записує результат до tmp/deploy/images/modalix у каталозі збирання.

ФайлПризначення
simaai-image-minimal-modalix.rootfs.wic.gz і .wic.bmapПовний образ eMMC та його карта блоків. Прошивайте саме їх.
simaai-image-minimal-modalix.rootfs.ext4.gzЛише коренева файлова система
simaai-image-minimal-modalix.rootfs.cpio.gzКоренева файлова система як початковий RAM-диск, для завантаження з мережі
Image, u-boot.bin, .dtb і overlays/*.dtboЯдро, U-Boot, дерева пристроїв та оверлеї

Схема розділів​

Образ eMMC має такі розділи в таблиці розділів GPT:

РозділРозмірВміст
u-boot0 і u-boot1По 2 МБU-Boot, у двох копіях
boot512 МБ, FATКаталоги boot-0 і boot-1, кожен із ядром, деревами пристроїв та оверлеями
platform0 і platform1По 2 ГБ, ext4Коренева файлова система, у двох копіях
userdataБлизько 10 ГБ, ext4Дані користувача

Прошивання образу​

Запишіть файл .wic.gz на eMMC плати разом із його файлом .wic.bmap, як описано в розділі Прошивання образу на eMMC.

Наступні кроки​