Практични примери за device tree overlays на Raspberry PiLeon Anavi
Кратка презентация от ежегодния семинар на Linux User Group България в Пловдив, 6 април 2019г. Съдържа практични примери за употреба на device tree overlays на Raspberry Pi и първи стъпки в dts (device tree source) и dtc (device tree compiler).
RAUC е open source софтуерен механизъм за обновление на Linux дистрибуции с два идентични ext4 дяла и възможност за допълнителни дялове за съхранение на данни. След инсталиране на обновлението на неактивния дял и рестарт, първоначална зареждаща програма (boot loader) трябва да го активира. Ще разгледаме интеграцията на RAUC в Linux kernel-a и Das U-Boot за Raspberry Pi при създаване на GNU/Linux дистрибуция с Yocto Project и OpenEmbedded. Също така презентацията ще демонстрира комбинирана стратегия за обновления чрез RAUC и виртуализация посредством Docker контейнери за потребителските приложения.
Как проектът Yocto помага за създаване на Internet of Things?Leon Anavi
Презентация от PlovdivConf 2015 с информация за Internet of Things (IoT) и как да създадем и поддръжаме GNU/Linux дистрибуция за тях с помощта на Yocto Project.
Практични примери за device tree overlays на Raspberry PiLeon Anavi
Кратка презентация от ежегодния семинар на Linux User Group България в Пловдив, 6 април 2019г. Съдържа практични примери за употреба на device tree overlays на Raspberry Pi и първи стъпки в dts (device tree source) и dtc (device tree compiler).
RAUC е open source софтуерен механизъм за обновление на Linux дистрибуции с два идентични ext4 дяла и възможност за допълнителни дялове за съхранение на данни. След инсталиране на обновлението на неактивния дял и рестарт, първоначална зареждаща програма (boot loader) трябва да го активира. Ще разгледаме интеграцията на RAUC в Linux kernel-a и Das U-Boot за Raspberry Pi при създаване на GNU/Linux дистрибуция с Yocto Project и OpenEmbedded. Също така презентацията ще демонстрира комбинирана стратегия за обновления чрез RAUC и виртуализация посредством Docker контейнери за потребителските приложения.
Как проектът Yocto помага за създаване на Internet of Things?Leon Anavi
Презентация от PlovdivConf 2015 с информация за Internet of Things (IoT) и как да създадем и поддръжаме GNU/Linux дистрибуция за тях с помощта на Yocto Project.
Презентация на Български от Open Fest 2015.
Презентацията е насочена към хора, които желаят да използват Yocto и OpenEmbedded, за да разработват системи, които пасват на техните нужди и поддържат специфичен хардуер. С течение на времето Yocto се утвърди като де факто стандарт за вградени системи и преносими устройства. Ще бъде предоставена информация как да се изгради Linux система за вградени устроиства и да се създадат софтуерни приложения за нея.
Презентация на Български от Open Fest 2015.
Презентацията е насочена към хора, които желаят да използват Yocto и OpenEmbedded, за да разработват системи, които пасват на техните нужди и поддържат специфичен хардуер. С течение на времето Yocto се утвърди като де факто стандарт за вградени системи и преносими устройства. Ще бъде предоставена информация как да се изгради Linux система за вградени устроиства и да се създадат софтуерни приложения за нея.
Сигурност и защита на операционни системи за мобилни устройства.
Дистанционни обновления и поддръжка на вградени Linux системи с Mender - TuxCon 2023
1. Дистанционни обновления и поддръжка
на вградени Linux системи с Mender
Атанас Бунчев
atanas.bunchev@konsulko.com
atanas.bunchev@gmail.com
TuxCon 2023
2. TuxCon 2023, Атанас Бунчев
Съдържание
Обновления на вградени системи
The Yocto Project
Дистанционни обновления с Mender
Дистанционна поддръжка
3. TuxCon 2023, Атанас Бунчев
Обновления на вградени системи
Ограничения – налично пространство, скорост на мрежата
Основни изисквания:
Надеждност – Какво става при неуспешно обновление?
Сигурност – Дали обновлението е автентично?
Други – частични обновления, съхранение на данни
Стратегии – A/B обновления, бинарна делта, контейнери
Обновления на множество устройства
4. TuxCon 2023, Атанас Бунчев
A/B обновления
Два идентични rootfs дяла – A и B
Системата стартирана от A инсталира обновление в B
При рестартиране Bootloader-ът избира активния дял
5. TuxCon 2023, Атанас Бунчев
Други стратегии за обновления
Делта обновления – пренася се само информация за
разликата при обновление вместо целия дял
Контейнери – подходящи за по-силни устройства,
позволяват приложенията да се обновяват индивидуално
Често се създава отделен дял за съхранение на данни и
конфигурация, независим от софтуера на устройството
Комбинация от няколко стратегии
7. TuxCon 2023, Атанас Бунчев
Популярни системи с отворен код за изграждане
на специализирани Linux дистрибуции
Yocto Project / OpenEmbedded
Buildroot
PTXdist
OpenWRT
Други
8. TuxCon 2023, Атанас Бунчев
The Yocto Project / OpenEmbedded
Съвместен проект на Linux Foundation
Предоставя гъвкави и удобни инструменти за изготвяне на
специализирани Linux дистрибуции
bitbake – построява отделни пакети или цялостна система
използвайки мета данни
Poky – референтна дистрибуция изградена само от мета
данни, която може да се използва като основа за бързо
изграждане на дистрибуция за специфична машина
9. TuxCon 2023, Атанас Бунчев
The Yocto Project / OpenEmbedded – Мета данни
Мета данните съдържат информация за всеки пакет -
списък със необходими зависимости, източници на сорс
код, конфигурация, инструкции за компилация и
инсталация.
Логически се разделят в „слоеве“, което предоставя
изключително гъвкав механизъм за изолация,
модификация и преизползване на различните
функционалности.
10. TuxCon 2023, Атанас Бунчев
Mender
https://mender.io/
Open Source софтуер за обновления, но също така
предлага платени планове с допълнителни функции и
Hosting услуги
A/B обновления като основна функционалност, но с
възможност за делта обновления като допълнителна услуга
Възможно е да се използва open source версия на сървъра
на частна/лична машина
11. TuxCon 2023, Атанас Бунчев
Mender - Архитектура
Изграждаща система създава пакет (Mender Artifact)
Устройствата периодично проверяват за обновления
Сървърът предоставя подходящ пакет с обновление
12. TuxCon 2023, Атанас Бунчев
Mender – интеграция с Yocto
meta-mender – слоеве за интеграция с Yocto/OE
https://github.com/mendersoftware/meta-mender
meta-mender-community – обществено
поддържана колекция слоеве за интеграция на
Mender с Yocto/OE за различни устройства
https://github.com/mendersoftware/meta-mender-community
13. TuxCon 2023, Атанас Бунчев
Mender Client
Може да се стартира като daemon на вграденото
устройство, който периодично проверява
сървъра за обновления.
Може да се извиква от друго приложение, за да
провери за обновление или да инсталира такова.
Например при обновление по USB
14. TuxCon 2023, Атанас Бунчев
Mender – Дялове
Стандартна система с Mender съдържа:
дял за Bootloader
два идентични
системни дяла
дял за данни
16. TuxCon 2023, Атанас Бунчев
Mender – Избор на Bootloader
Mender може да се използва с
GRUB или U-Boot.
Bootloader-ът трябва да провери дали
системата стартира успешно след
обновление. При неуспешно стартиране се
стартира дяла с по-старата система.
17. TuxCon 2023, Атанас Бунчев
Mender – Делта обновления
(Включени в пакетите Mender Enterprise и Mender Professional)
18. TuxCon 2023, Атанас Бунчев
Mender – Модули за обновления
(Частични обновления / обновления на отделни приложения)
19. TuxCon 2023, Атанас Бунчев
Mender Hub
https://hub.mender.io/
Публична работилница / форум за всичко свързано с Mender:
Специфични проблеми и решения
Предоставени от потребители Update Modules
Информация за поддръжка на конкретен хардуер
Инструкции и статии за работа с Mender
Други
20. TuxCon 2023, Атанас Бунчев
Mender Add-ons
Добавки, които предоставят допълнителна
функционалност към Mender:
Configure – позволява настройка на устройство от уеб
интерфейса на сървъра (Mender UI)
Monitor – следи за неизправности на всяко устройство
в реално време (изисква Professional / Enterprise план)
Troubleshoot
21. TuxCon 2023, Атанас Бунчев
Дистанционно острстаняване на грешки
Mender Add-ons – Troubleshoot
File Transfer – Трансфер на единични файлове
Port Forward – Пренасочва порт от устройство до работна
машина с инсталиран mender-cli
Remote Terminal – Предоставя достъп до виртуална конзола
на вграденото устройство
Тези функции използват комуникация установена от вграденото устройство
към сървъра.
Самото устройство не приема мрежови връзки с цел по-добра сигурност.
22. TuxCon 2023, Атанас Бунчев
Благодаря Ви!
Полезни връзки:
https://www.yoctoproject.org/
https://docs.mender.io/
Mender Add-ons: Remote troubleshooting devices in the field
https://www.konsulko.com/mender-add-ons-remote-troubleshooting-devices-in-the-field
Безжично обновяване на софтуера на устройства за вграждане
с Linux (Леон Анави)
https://www.youtube.com/watch?v=uNqFstuSCPo