SlideShare a Scribd company logo
Docker контейнери с Balena на
вградени Linux устройства
Атанас Бунчев
atanas.bunchev@konsulko.com
atanas.bunchev@gmail.com
TuxCon 2024
TuxCon 2024, Атанас Бунчев
Експерти в софтуерната разработка,
отдадени на Linux и Open Source
●
Основана през 2012 от Embedded Linux инженери с дълга история в
Open Source Software екосистемата и пазара за вградени системи
●
Десетилетия практика в разработката и развитието на
системи сотворен код и комерсиални продукти базирани на Linux
●
Експерти на системно ниво. Сътрудници на OpenEmbedded,
Yocto Project, U-Boot, Automotive Grade Linux (AGL) и Linux ядрото
●
Главен офис в Сан Хосе, Калифорния. Глобално разпределен екип от
инженери в Северна Америка и Европа
●
https://www.konsulko.com
TuxCon 2024, Атанас Бунчев
Съдържание
●
Какво е Balena?
●
Как се използва Balena?
●
Как работи Balena?
●
The Yocto Project
●
Интеграция на balenaOS за phyBOARD AM62x
TuxCon 2024, Атанас Бунчев
Какво е Balena?
●
Сигурен базиран на контейнери стек с отворен
код за разработка и управление на флотилии от
IoT Linux устройства
●
Поддържа над 100+ вида устройства
●
Използва модифицирана и оптимизирана за
вградени устройства версия на Docker Engine
●
https://www.balena.io/
Fin
TuxCon 2024, Атанас Бунчев
Контейнери – виртуализация на системно ниво
●
Контейнерът е пакет на приложение
заедно със всичко, което му е необходимо,
за да работи – конфигурация, системни
библиотеки, други приложения, дори цяла
Linux дистрибуция.
●
Приложенията в контейнерите се
изпълняват от Linux ядрото на главната
система, но са изолирани от самата
система и останалите контейнери.
●
Контейнерите улесняват разработката и
пакетирането на приложения.
Те предоставят абстракция от конкретния
хардуер и операционна система.
●
Разходите в производителността за
контейнеризация са сравнително малки.
TuxCon 2024, Атанас Бунчев
Как се използва Balena?
1. Регистрация на https://www.balena.io/
2. Създаване на нова флотилия
3. Добавяне на ново устройство към флотилия
4. Стартиране на „Hello World“ приложение
Снимките в презентацията са за phyBoard AM62x, но процедурата е
идентична за всеки от поддържаните от Balena типове устройства.
TuxCon 2024, Атанас Бунчев
Бизнес модел при разработка на отворен код
●
Операционната система, стартирана на устройствата, е с отворен
код. Интеграцията за дадена платка е с отворен код според
желанието на производителя.
●
OpenBalena – версия с отворен код на сървърския софтуер, като при
нея липсват някои функции.
(например бинарни делта обновления)
●
Различни абонаментни планове за употреба на BalenaCloud,
вариращи от 30 до над 110+ устройства, брой потребители с различни
роли, както и време за отговор от екипа за поддръжка.
●
Безплатен план с до 10 устройства с пълна функционалност.
TuxCon 2024, Атанас Бунчев
Регистрация в BalenaCloud
Можете да регистрирате
акаунт и да използвате Balena
на 10 устройства безплатно.
https://www.balena.io/
TuxCon 2024, Атанас Бунчев
Флотилии – ефективно управление на
множество устройства
●
Флотилията (fleet) представлява група от устройства
с еднаква конфигурация и едни и същи стартирани
приложения.
●
Флотилиите са ефективен подход за лесно
управление и организация на множество устройства
●
Няколко потребителя могат да имат достъп до една
флотилия, като са възможни различни нива на
достъп: Администратор, Разработчик, Оператор и
Наблюдател
TuxCon 2024, Атанас Бунчев
Създаване на флотилия
TuxCon 2024, Атанас Бунчев
Създаване на флотилия
Избираме тип по подразбиране
за устройствата във флотлията.
TuxCon 2024, Атанас Бунчев
Страница на флотилия
TuxCon 2024, Атанас Бунчев
Добавяне на ново устройство
Преди да добавите
устройство можете да
конфигурирате неговата
мрежова връзка и да
изберете дали искате
система подходяща за
разработка или продукция.
Когато добавите ново
устройство ще получите
image с операционна
система, който трябва да
запишете на подходящ
носител (например
microSD карта) и да
стартирате устройството
от него.
TuxCon 2024, Атанас Бунчев
Записване на image на microSD карта
След като добавите ново устройство и
свалите генерирания за него image,
използвайте командите показани по-
долу под Linux, за да запишете вашия
image на microSD картата.
Заместете <your_image>.img.zip с
името на изтегления файл и /dev/sdX с
адреса на microSD картата.
...или използвайте BalenaEtcher, удобен
графичен инструмент създаден за тази
цел, който работи и под Windows.
r
TuxCon 2024, Атанас Бунчев
Страница на флотилия
TuxCon 2024, Атанас Бунчев
Страница на флотилия – 1 свързано устройство
TuxCon 2024, Атанас Бунчев
Страница на устройство
Информация за устройството
Натоварване
на системата
Съобщения от
системата и
контейнерите
Конзола за
отстраняване
на грешки
TuxCon 2024, Атанас Бунчев
Информация за устройството
●
Универсален идентификатор и тип на
платката
●
Версия на BalenaOS и Supervisor
●
Възможност за спиране,
рестартиране и идентифициране на
платката (чрез светодиод)
●
Информация за мрежовата връзка и
възможност за включване на
публичен адрес на устройството
●
Тагове, които могат да се използват
от автоматизирани системи.
TuxCon 2024, Атанас Бунчев
Стартиране на „Hello World“ приложение
●
Когато се „Deploy“-ват приложенията се компилират на сървърите
на Balena, след което биват качени и стартирани на всички
устройства в избраната флотилия
●
Използва се специален конзолен инструмент наречен balena-cli,
който предоставя възможност за управление на флотилия от
конзола или друга автоматизирана система:
https://github.com/balena-io/balena-cli/
●
В примера използвам примерно приложение,
което стартира nodejs уеб сървър на платката:
https://github.com/balena-io-examples/balena-nodejs-hello-world/
TuxCon 2024, Атанас Бунчев
balena-cli:
Влизане в balena.io профил от конзолата
1. Изтегляте последната версия
на balena-cli като архив
2. Разархивирате архива, след
което стартирате от
конзолата ./balena login
3. Избирате Web authorization и
потвърждавате достъпа чрез
браузъра
●
Като алтернатива може да
изберете Credentials и да
въведете директно вашите
потребителско име и парола
TuxCon 2024, Атанас Бунчев
Компилиране и стартиране на „Hello World“
приложение на вграденото устройство
След като сте удостоверили
balena-cli трябва само да
изтеглите хранилището със кода
на примерното приложение и да
го стартирате на вашата флотилия.
Това може да направите от
конзолата със тези команди:
След като balena push приключи
приложението balena-hello-world
ще се покаже в списъка със сервизи:
TuxCon 2024, Атанас Бунчев
Домонстрация на „Hello World“ приложението
TuxCon 2024, Атанас Бунчев
Как работи Balena?
●
A/B обновления на хост системата.
Обновления с бинарна делта (binary delta).
●
balenaEngine
●
The Yocto Project
●
Автоматизирано тестване на всяка промяна
●
Интеграция на balenaOS за phyBOARD AM62x
TuxCon 2024, Атанас Бунчев
A/B обновления
●
Два идентични rootfs дяла – A и B
●
Системата стартирана от A инсталира обновление в B
●
При рестартиране Bootloader-ът избира активния дял
Делта обновления – по мрежата се прехвърля само разликата между
новата и старата версия на системата, което пести много трафик.
TuxCon 2024, Атанас Бунчев
balenaEngine
●
Олекотена версия на Docker, оптимизирана за вградени
системи.
●
Делта обновления на контейнери, което намаля трафика от
10 до 70 пъти
●
Удължава живота на флаш паметта като разархивира
данните докато ги тегли
●
Атомарни обновления на Docker контейнери
●
Оптимизиран за минимална употреба на памет по време на
обновления
TuxCon 2024, Атанас Бунчев
The Yocto Project / OpenEmbedded
●
Съвместен проект на Linux Foundation
●
Предоставя гъвкави и удобни инструменти за изготвяне
на специализирани Linux дистрибуции
●
bitbake – построява отделни пакети или цялостна
система използвайки мета данни
●
Poky – референтна дистрибуция изградена само от
мета данни, която може да се използва като основа за
бързо изграждане на дистрибуция за специфична
машина
TuxCon 2024, Атанас Бунчев
Интеграция на balenaOS за phyBOARD AM62x
●
balenaOS е наименованието на операционната система, която се
инсталира на устройствата. Тя е базирана на Yocto, като за всяка
фамилия платки се създава отделно хранилище в GitHub
организацията balena-os
●
phyBOARD AM62x е платка за разработка на IoT устройства
произвеждана от PHYTEC, задвижвана от процесор от ARM
фамилията Sitara на TI.
●
phyBOARD AM62x включва множество интерфейси, което я прави
изключително удобна за разработка и развитие на всякакви IoT
устройства.
TuxCon 2024, Атанас Бунчев
phyBOARD AM62x
https://www.phytec.com/product/phyboard-am62x/
SoM: phyCORE-AM62x
CPU: TI AM623, TI AM625
EEPROM: 4 KB
RAM: 2/4 GB DDR4
EMMC: 16/128 GB max
NOR: 64 MB up to 256 MB
(Octal SPI/Dual SPI Flash)
SD/SDIO/MMC Interfaces:
1x microSD Connector
USB: 2x 2.0 Dual Role
CAN: 2x5 Header
RS-232: 2x5 Header
Ethernet: 2x 10/100/1000
WiFi: 802.11 b/g/n (ac) 2.4 / 5 GHz *
Bluetooth: BLE 4.2 *
* (M.2 Connector Header)
Display: OLDI/LVDS (4 lanes – 2x)
and Parallel Display (24bpp)
Camera: 1x MIPI CSI-2
Audio: 1x Speaker Out,
1x Stereo Line-In,
1x Stereo Line-Out
TuxCon 2024, Атанас Бунчев
Интеграция на balenaOS за phyBOARD AM62x
●
Yocto слой за интеграция на phyBOARD AM62x
https://github.com/balena-os/balena-phytec
●
Насоки за интеграция на Balena
https://docs.balena.io/reference/OS/customer-board-support/
●
AutoKit – система за автоматизирано тестване
върху реален хардуер
TuxCon 2024, Атанас Бунчев
AutoKit (Automation Kit)
●
AutoKit е система за автоматизирана
интеракция с хардуерни устройства.
●
AutoKit е пакет от софтуер и хардуер
с лесен за употреба интерфейс.
●
AutoKit се използва за тестване на
всяка нова версия на balenaOS на
всички поддържани видове
устройства.
●
За да бъде добавена поддръжка на
Balena за дадно устройство то трябва
да премине серията тестове
извършвани с AutoKit.
TuxCon 2024, Атанас Бунчев
Снимка на AutoKit,
с който тестваме phyBOARD AM62x
TuxCon 2024, Атанас Бунчев
Благодаря Ви!
Полезни връзки:
●
https://www.yoctoproject.org/
●
https://balena.io/
●
Balena: Running Containerized Applications on phyBOARD-AM62x
https://www.konsulko.com/balena-phyboard-am62x
●
From PR to Release; OS Testing at balena
https://blog.balena.io/from-pr-to-release-os-testing-at-balena/

More Related Content

Similar to Docker контейнери с Balena на вградени Linux устройства - TuxCon 2024

The Yocto Project
The Yocto ProjectThe Yocto Project
The Yocto Project
Leon Anavi
 
Направи си сам Raspberry Pi HAT
Направи си сам Raspberry Pi HATНаправи си сам Raspberry Pi HAT
Направи си сам Raspberry Pi HAT
Leon Anavi
 
Cross compiling
Cross compilingCross compiling
Cross compiling
Atelier for robotics
 
Адаптация на Linux за ARM устройства
Адаптация на Linux за ARM устройстваАдаптация на Linux за ARM устройства
Адаптация на Linux за ARM устройства
Leon Anavi
 
latest tech: (bulgarian language) de da znamm
latest tech: (bulgarian language) de da znammlatest tech: (bulgarian language) de da znamm
latest tech: (bulgarian language) de da znamm
boqn1
 
Using NAOqi
Using NAOqiUsing NAOqi
Въведение в Микроконтролерите Пловдив/2015-02-21
Въведение в Микроконтролерите Пловдив/2015-02-21Въведение в Микроконтролерите Пловдив/2015-02-21
Въведение в Микроконтролерите Пловдив/2015-02-21
Neven Boyanov
 
Sdn nfv мрежова виртуализация
Sdn nfv мрежова виртуализацияSdn nfv мрежова виртуализация
Sdn nfv мрежова виртуализация
martin.ivanov
 
Veneta_Aleksieva_TechSys-last
Veneta_Aleksieva_TechSys-lastVeneta_Aleksieva_TechSys-last
Veneta_Aleksieva_TechSys-lastIvailo Jelqzkov
 
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Leon Anavi
 
Mozllla Labs presentation
Mozllla Labs presentationMozllla Labs presentation
Mozllla Labs presentationBogomil Shopov
 
HTML5 приложения за Android, урок 3
HTML5 приложения за Android, урок 3HTML5 приложения за Android, урок 3
HTML5 приложения за Android, урок 3
Leon Anavi
 
Huseyin Ozbilen 41б_ 356291
Huseyin Ozbilen  41б_ 356291Huseyin Ozbilen  41б_ 356291
Huseyin Ozbilen 41б_ 356291yoska
 
Демо урок по програмиране със Светлин Наков
Демо урок по програмиране със Светлин НаковДемо урок по програмиране със Светлин Наков
Демо урок по програмиране със Светлин Наков
Svetlin Nakov
 

Similar to Docker контейнери с Balena на вградени Linux устройства - TuxCon 2024 (20)

The Yocto Project
The Yocto ProjectThe Yocto Project
The Yocto Project
 
Направи си сам Raspberry Pi HAT
Направи си сам Raspberry Pi HATНаправи си сам Raspberry Pi HAT
Направи си сам Raspberry Pi HAT
 
br15_single
br15_singlebr15_single
br15_single
 
Cross compiling
Cross compilingCross compiling
Cross compiling
 
Abcom Enigma
Abcom EnigmaAbcom Enigma
Abcom Enigma
 
Адаптация на Linux за ARM устройства
Адаптация на Linux за ARM устройстваАдаптация на Linux за ARM устройства
Адаптация на Linux за ARM устройства
 
latest tech: (bulgarian language) de da znamm
latest tech: (bulgarian language) de da znammlatest tech: (bulgarian language) de da znamm
latest tech: (bulgarian language) de da znamm
 
Using NAOqi
Using NAOqiUsing NAOqi
Using NAOqi
 
Въведение в Микроконтролерите Пловдив/2015-02-21
Въведение в Микроконтролерите Пловдив/2015-02-21Въведение в Микроконтролерите Пловдив/2015-02-21
Въведение в Микроконтролерите Пловдив/2015-02-21
 
Nanoxx
NanoxxNanoxx
Nanoxx
 
Sdn nfv мрежова виртуализация
Sdn nfv мрежова виртуализацияSdn nfv мрежова виртуализация
Sdn nfv мрежова виртуализация
 
Veneta_Aleksieva_TechSys-last
Veneta_Aleksieva_TechSys-lastVeneta_Aleksieva_TechSys-last
Veneta_Aleksieva_TechSys-last
 
Glossary internet
Glossary internetGlossary internet
Glossary internet
 
ИЗПИТНА ТЕМА_2.docx
ИЗПИТНА ТЕМА_2.docxИЗПИТНА ТЕМА_2.docx
ИЗПИТНА ТЕМА_2.docx
 
br11
br11br11
br11
 
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
 
Mozllla Labs presentation
Mozllla Labs presentationMozllla Labs presentation
Mozllla Labs presentation
 
HTML5 приложения за Android, урок 3
HTML5 приложения за Android, урок 3HTML5 приложения за Android, урок 3
HTML5 приложения за Android, урок 3
 
Huseyin Ozbilen 41б_ 356291
Huseyin Ozbilen  41б_ 356291Huseyin Ozbilen  41б_ 356291
Huseyin Ozbilen 41б_ 356291
 
Демо урок по програмиране със Светлин Наков
Демо урок по програмиране със Светлин НаковДемо урок по програмиране със Светлин Наков
Демо урок по програмиране със Светлин Наков
 

Docker контейнери с Balena на вградени Linux устройства - TuxCon 2024

  • 1. Docker контейнери с Balena на вградени Linux устройства Атанас Бунчев atanas.bunchev@konsulko.com atanas.bunchev@gmail.com TuxCon 2024
  • 2. TuxCon 2024, Атанас Бунчев Експерти в софтуерната разработка, отдадени на Linux и Open Source ● Основана през 2012 от Embedded Linux инженери с дълга история в Open Source Software екосистемата и пазара за вградени системи ● Десетилетия практика в разработката и развитието на системи сотворен код и комерсиални продукти базирани на Linux ● Експерти на системно ниво. Сътрудници на OpenEmbedded, Yocto Project, U-Boot, Automotive Grade Linux (AGL) и Linux ядрото ● Главен офис в Сан Хосе, Калифорния. Глобално разпределен екип от инженери в Северна Америка и Европа ● https://www.konsulko.com
  • 3. TuxCon 2024, Атанас Бунчев Съдържание ● Какво е Balena? ● Как се използва Balena? ● Как работи Balena? ● The Yocto Project ● Интеграция на balenaOS за phyBOARD AM62x
  • 4. TuxCon 2024, Атанас Бунчев Какво е Balena? ● Сигурен базиран на контейнери стек с отворен код за разработка и управление на флотилии от IoT Linux устройства ● Поддържа над 100+ вида устройства ● Използва модифицирана и оптимизирана за вградени устройства версия на Docker Engine ● https://www.balena.io/ Fin
  • 5. TuxCon 2024, Атанас Бунчев Контейнери – виртуализация на системно ниво ● Контейнерът е пакет на приложение заедно със всичко, което му е необходимо, за да работи – конфигурация, системни библиотеки, други приложения, дори цяла Linux дистрибуция. ● Приложенията в контейнерите се изпълняват от Linux ядрото на главната система, но са изолирани от самата система и останалите контейнери. ● Контейнерите улесняват разработката и пакетирането на приложения. Те предоставят абстракция от конкретния хардуер и операционна система. ● Разходите в производителността за контейнеризация са сравнително малки.
  • 6. TuxCon 2024, Атанас Бунчев Как се използва Balena? 1. Регистрация на https://www.balena.io/ 2. Създаване на нова флотилия 3. Добавяне на ново устройство към флотилия 4. Стартиране на „Hello World“ приложение Снимките в презентацията са за phyBoard AM62x, но процедурата е идентична за всеки от поддържаните от Balena типове устройства.
  • 7. TuxCon 2024, Атанас Бунчев Бизнес модел при разработка на отворен код ● Операционната система, стартирана на устройствата, е с отворен код. Интеграцията за дадена платка е с отворен код според желанието на производителя. ● OpenBalena – версия с отворен код на сървърския софтуер, като при нея липсват някои функции. (например бинарни делта обновления) ● Различни абонаментни планове за употреба на BalenaCloud, вариращи от 30 до над 110+ устройства, брой потребители с различни роли, както и време за отговор от екипа за поддръжка. ● Безплатен план с до 10 устройства с пълна функционалност.
  • 8. TuxCon 2024, Атанас Бунчев Регистрация в BalenaCloud Можете да регистрирате акаунт и да използвате Balena на 10 устройства безплатно. https://www.balena.io/
  • 9. TuxCon 2024, Атанас Бунчев Флотилии – ефективно управление на множество устройства ● Флотилията (fleet) представлява група от устройства с еднаква конфигурация и едни и същи стартирани приложения. ● Флотилиите са ефективен подход за лесно управление и организация на множество устройства ● Няколко потребителя могат да имат достъп до една флотилия, като са възможни различни нива на достъп: Администратор, Разработчик, Оператор и Наблюдател
  • 10. TuxCon 2024, Атанас Бунчев Създаване на флотилия
  • 11. TuxCon 2024, Атанас Бунчев Създаване на флотилия Избираме тип по подразбиране за устройствата във флотлията.
  • 12. TuxCon 2024, Атанас Бунчев Страница на флотилия
  • 13. TuxCon 2024, Атанас Бунчев Добавяне на ново устройство Преди да добавите устройство можете да конфигурирате неговата мрежова връзка и да изберете дали искате система подходяща за разработка или продукция. Когато добавите ново устройство ще получите image с операционна система, който трябва да запишете на подходящ носител (например microSD карта) и да стартирате устройството от него.
  • 14. TuxCon 2024, Атанас Бунчев Записване на image на microSD карта След като добавите ново устройство и свалите генерирания за него image, използвайте командите показани по- долу под Linux, за да запишете вашия image на microSD картата. Заместете <your_image>.img.zip с името на изтегления файл и /dev/sdX с адреса на microSD картата. ...или използвайте BalenaEtcher, удобен графичен инструмент създаден за тази цел, който работи и под Windows. r
  • 15. TuxCon 2024, Атанас Бунчев Страница на флотилия
  • 16. TuxCon 2024, Атанас Бунчев Страница на флотилия – 1 свързано устройство
  • 17. TuxCon 2024, Атанас Бунчев Страница на устройство Информация за устройството Натоварване на системата Съобщения от системата и контейнерите Конзола за отстраняване на грешки
  • 18. TuxCon 2024, Атанас Бунчев Информация за устройството ● Универсален идентификатор и тип на платката ● Версия на BalenaOS и Supervisor ● Възможност за спиране, рестартиране и идентифициране на платката (чрез светодиод) ● Информация за мрежовата връзка и възможност за включване на публичен адрес на устройството ● Тагове, които могат да се използват от автоматизирани системи.
  • 19. TuxCon 2024, Атанас Бунчев Стартиране на „Hello World“ приложение ● Когато се „Deploy“-ват приложенията се компилират на сървърите на Balena, след което биват качени и стартирани на всички устройства в избраната флотилия ● Използва се специален конзолен инструмент наречен balena-cli, който предоставя възможност за управление на флотилия от конзола или друга автоматизирана система: https://github.com/balena-io/balena-cli/ ● В примера използвам примерно приложение, което стартира nodejs уеб сървър на платката: https://github.com/balena-io-examples/balena-nodejs-hello-world/
  • 20. TuxCon 2024, Атанас Бунчев balena-cli: Влизане в balena.io профил от конзолата 1. Изтегляте последната версия на balena-cli като архив 2. Разархивирате архива, след което стартирате от конзолата ./balena login 3. Избирате Web authorization и потвърждавате достъпа чрез браузъра ● Като алтернатива може да изберете Credentials и да въведете директно вашите потребителско име и парола
  • 21. TuxCon 2024, Атанас Бунчев Компилиране и стартиране на „Hello World“ приложение на вграденото устройство След като сте удостоверили balena-cli трябва само да изтеглите хранилището със кода на примерното приложение и да го стартирате на вашата флотилия. Това може да направите от конзолата със тези команди: След като balena push приключи приложението balena-hello-world ще се покаже в списъка със сервизи:
  • 22. TuxCon 2024, Атанас Бунчев Домонстрация на „Hello World“ приложението
  • 23. TuxCon 2024, Атанас Бунчев Как работи Balena? ● A/B обновления на хост системата. Обновления с бинарна делта (binary delta). ● balenaEngine ● The Yocto Project ● Автоматизирано тестване на всяка промяна ● Интеграция на balenaOS за phyBOARD AM62x
  • 24. TuxCon 2024, Атанас Бунчев A/B обновления ● Два идентични rootfs дяла – A и B ● Системата стартирана от A инсталира обновление в B ● При рестартиране Bootloader-ът избира активния дял Делта обновления – по мрежата се прехвърля само разликата между новата и старата версия на системата, което пести много трафик.
  • 25. TuxCon 2024, Атанас Бунчев balenaEngine ● Олекотена версия на Docker, оптимизирана за вградени системи. ● Делта обновления на контейнери, което намаля трафика от 10 до 70 пъти ● Удължава живота на флаш паметта като разархивира данните докато ги тегли ● Атомарни обновления на Docker контейнери ● Оптимизиран за минимална употреба на памет по време на обновления
  • 26. TuxCon 2024, Атанас Бунчев The Yocto Project / OpenEmbedded ● Съвместен проект на Linux Foundation ● Предоставя гъвкави и удобни инструменти за изготвяне на специализирани Linux дистрибуции ● bitbake – построява отделни пакети или цялостна система използвайки мета данни ● Poky – референтна дистрибуция изградена само от мета данни, която може да се използва като основа за бързо изграждане на дистрибуция за специфична машина
  • 27. TuxCon 2024, Атанас Бунчев Интеграция на balenaOS за phyBOARD AM62x ● balenaOS е наименованието на операционната система, която се инсталира на устройствата. Тя е базирана на Yocto, като за всяка фамилия платки се създава отделно хранилище в GitHub организацията balena-os ● phyBOARD AM62x е платка за разработка на IoT устройства произвеждана от PHYTEC, задвижвана от процесор от ARM фамилията Sitara на TI. ● phyBOARD AM62x включва множество интерфейси, което я прави изключително удобна за разработка и развитие на всякакви IoT устройства.
  • 28. TuxCon 2024, Атанас Бунчев phyBOARD AM62x https://www.phytec.com/product/phyboard-am62x/ SoM: phyCORE-AM62x CPU: TI AM623, TI AM625 EEPROM: 4 KB RAM: 2/4 GB DDR4 EMMC: 16/128 GB max NOR: 64 MB up to 256 MB (Octal SPI/Dual SPI Flash) SD/SDIO/MMC Interfaces: 1x microSD Connector USB: 2x 2.0 Dual Role CAN: 2x5 Header RS-232: 2x5 Header Ethernet: 2x 10/100/1000 WiFi: 802.11 b/g/n (ac) 2.4 / 5 GHz * Bluetooth: BLE 4.2 * * (M.2 Connector Header) Display: OLDI/LVDS (4 lanes – 2x) and Parallel Display (24bpp) Camera: 1x MIPI CSI-2 Audio: 1x Speaker Out, 1x Stereo Line-In, 1x Stereo Line-Out
  • 29. TuxCon 2024, Атанас Бунчев Интеграция на balenaOS за phyBOARD AM62x ● Yocto слой за интеграция на phyBOARD AM62x https://github.com/balena-os/balena-phytec ● Насоки за интеграция на Balena https://docs.balena.io/reference/OS/customer-board-support/ ● AutoKit – система за автоматизирано тестване върху реален хардуер
  • 30. TuxCon 2024, Атанас Бунчев AutoKit (Automation Kit) ● AutoKit е система за автоматизирана интеракция с хардуерни устройства. ● AutoKit е пакет от софтуер и хардуер с лесен за употреба интерфейс. ● AutoKit се използва за тестване на всяка нова версия на balenaOS на всички поддържани видове устройства. ● За да бъде добавена поддръжка на Balena за дадно устройство то трябва да премине серията тестове извършвани с AutoKit.
  • 31. TuxCon 2024, Атанас Бунчев Снимка на AutoKit, с който тестваме phyBOARD AM62x
  • 32. TuxCon 2024, Атанас Бунчев Благодаря Ви! Полезни връзки: ● https://www.yoctoproject.org/ ● https://balena.io/ ● Balena: Running Containerized Applications on phyBOARD-AM62x https://www.konsulko.com/balena-phyboard-am62x ● From PR to Release; OS Testing at balena https://blog.balena.io/from-pr-to-release-os-testing-at-balena/