Збирання та застосування пакета оновлення
Пакет оновлення замінює програмне забезпечення на платі без повторного запису всієї
eMMC. Шар Yocto збирає його як пакет SWUpdate — файл .swu. Плата записує нове програмне
забезпечення в копії, з яких вона зараз не працює, перемикається на них і повертається до
попередньої кореневої файлової системи, я кщо нова не завантажується. Ця сторінка стосується
образів, зібраних за розділом Збирання повного образу за допомогою Yocto.
Пакет із цієї сторінки зібрали один раз, 2026-10-06, із шару на коміті випуску 2.1.3. На платі його не застосовували.
Як працює оновлення
eMMC містить по дві копії U-Boot, каталогу завантаження та кореневої файлової системи. Див. схему розділів. Оновлення виконує такі дії:
- Записує нову кореневу файлову систему та новий U-Boot у копії, які не використовуються.
- Копіює нове ядро, дерева пристроїв та оверлеї до каталогу завантаження, який
не використовується,
boot-0абоboot-1. - Перемикає плату на нові копії, задає в середовищі 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-Boot | u-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. Перш ніж збирати пакет, узгодьте ці дві
назви. Збирання завершується успішно попри невідповідність і не повідомляє про неї.
Застосування пакета
-
Скопіюйте файл
.swuна плату. -
Запустіть
swupdateвід імені root:root@modalix:~# swupdate -v -H simaai-image-palette:1.0 -i /tmp/update.swuНазва та ревізія після
-Hмають збігатися із записом уsw-description. У загальнодоступному шарі цеsimaai-image-paletteі1.0. Після завершення оновлення плата перезавантажується. -
Після перезавантаження перевірте версію збірки образу, що працює:
root@modalix:~# grep SIMA_BUILD_VERSION /etc/buildinfo
Відновлення
- Якщо новий образ не завантажується, U-Boot сам повертається до попередньої кореневої файлової системи, як описано в розділі Як працює оновлення.
- Якщо жодна копія не завантажується, запишіть повний образ знову. Див. розділ Прошивання образу на eMMC.
Що не розглядається
- Пакети оновлення для образу eLxr.
- Підписані пакети оновлення.
- Як плата позначає оновлення як успішне після вдалого завантаження.
Наступні кроки
- Збирання повного образу за допомогою Yocto: збирання образу, який оновлює пакет.
- Прошива ння образу на eMMC: запис повного образу на плату.
- Заводське збирання та тестування: тест оновлення tRoot
також використовує
swupdate.