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

Збирання та застосування пакета оновлення

Пакет оновлення замінює програмне забезпечення на платі без повторного запису всієї eMMC. Шар Yocto збирає його як пакет SWUpdate — файл .swu. Плата записує нове програмне забезпечення в копії, з яких вона зараз не працює, перемикається на них і повертається до попередньої кореневої файлової системи, якщо нова не завантажується. Ця сторінка стосується образів, зібраних за розділом Збирання повного образу за допомогою Yocto.

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

Пакет із цієї сторінки зібрали один раз, 2026-10-06, із шару на коміті випуску 2.1.3. На платі його не застосовували.

Як працює оновлення​

eMMC містить по дві копії U-Boot, каталогу завантаження та кореневої файлової системи. Див. схему розділів. Оновлення виконує такі дії:

  1. Записує нову кореневу файлову систему та новий U-Boot у копії, які не використовуються.
  2. Копіює нове ядро, дерева пристроїв та оверлеї до каталогу завантаження, який не використовується, boot-0 або boot-1.
  3. Перемикає плату на нові копії, задає в середовищі U-Boot upgrade_available значення 1, а bootcount — 0, і перезавантажує плату.

Якщо нове програмне забезпечення не завантажується більше разів, ніж дозволяє bootlimit, U-Boot повертається до попередньої кореневої файлової системи та скидає upgrade_available.

Збирання пакета​

Спочатку зберіть образ, а потім зберіть пакет у тому самому каталозі збирання:

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

Пакет — це simaai-image-minimal-upgrade-modalix.rootfs.swu у tmp/deploy/images/modalix, разом з образом. Він містить:

ЧастинаФайли
Коренева файлова системаФайл .rootfs.ext4.gz образу
U-Bootu-boot.bin і сценарій завантаження boot.scr.uimg
ЯдроImage і Image.enc
Дерева пристроїв та оверлеїФайли .dtb плати та всі файли .dtbo
Опис оновлення та сценарійsw-description і update_modalix.sh
примітка

У загальнодоступному шарі sw-description називає кореневу файлову систему simaai-image-palette-modalix.rootfs.ext4.gz, а рецепт пакує кореневу файлову систему simaai-image-minimal. Перш ніж збирати пакет, узгодьте ці дві назви. Збирання завершується успішно попри невідповідність і не повідомляє про неї.

Застосування пакета​

  1. Скопіюйте файл .swu на плату.

  2. Запустіть swupdate від імені root:

    root@modalix:~# swupdate -v -H simaai-image-palette:1.0 -i /tmp/update.swu

    Назва та ревізія після -H мають збігатися із записом у sw-description. У загальнодоступному шарі це simaai-image-palette і 1.0. Після завершення оновлення плата перезавантажується.

  3. Після перезавантаження перевірте версію збірки образу, що працює:

    root@modalix:~# grep SIMA_BUILD_VERSION /etc/buildinfo

Відновлення​

  • Якщо новий образ не завантажується, U-Boot сам повертається до попередньої кореневої файлової системи, як описано в розділі Як працює оновлення.
  • Якщо жодна копія не завантажується, запишіть повний образ знову. Див. розділ Прошивання образу на eMMC.

Що не розглядається​

  • Пакети оновлення для образу eLxr.
  • Підписані пакети оновлення.
  • Як плата позначає оновлення як успішне після вдалого завантаження.

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