Збирання повного образу за допомогою 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 gfortransima-user@sima-user-machine:~$ sudo dpkg --add-architecture i386sima-user@sima-user-machine:~$ sudo apt updatesima-user@sima-user-machine:~$ sudo apt install libc6:i386
Отримання шарів
Збірка використовує випуск scarthgap проєкту Yocto. Клонуйте ці шари
в один каталог:
pokymeta-openembeddedmeta-armmeta-clangіmeta-clang-revivalmeta-python-aimeta-swupdatemeta-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, у двох копіях |
boot | 512 МБ, FAT | Каталоги boot-0 і boot-1, кожен із ядром, деревами пристроїв та оверлеями |
platform0 і platform1 | По 2 ГБ, ext4 | Коренева файлова система, у двох копіях |
userdata | Близько 10 ГБ, ext4 | Дані користувача |
Прошивання образу
Запишіть файл .wic.gz на eMMC плати разом із його файлом .wic.bmap, як
описано в розділі Прошивання образу на eMMC.
Наступні кроки
- Прошивання образу на eMMC: завантаження плати з мережі або SD-карти та запис образу.
- Збирання та застосування пакета оновлення: оновлення плати без повторного запису всієї eMMC.
- Пакет підтримки плати: вихідний код і порівняння eLxr та Yocto.
- Сумісність випусків: коміти ядра та U-Boot, що відповідають кожному випуску платформи.