The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Первый стабильный выпуск системы OTA-обновлений Mender

27.02.2017 21:12

После двух лет разработки доступен первый стабильный релиз проекта Mender, в рамках которого развивается система для организации OTA-обновления (over-the-air) встраиваемых решений и потребительских устройств на базе различных Linux-окружений. Выпуск Mender 1.0 позиционируется как первый, готовый для внедрения в реальных проектах. Код клиентской и серверной частей системы написан на языке Go и поставляется под лицензией Apache 2.0. Целью проекта является упрощение развёртывания инфраструктуры для доставки и установки OTA-обновлений, что даёт возможность разработчикам прошивок сосредоточиться на создании продукта, не отвлекаясь на решение задач по распространению обновлений.

Mender предоставляет разработчикам серию компонентов, позволяющих развернуть серверы для доставки и сборки атомарно устанавливаемых обновлений, при которых система обновляется целиком. Разработчик формирует обновлённый образ прошивки и добавляет его на управляющий сервер Mender. Предоставляемый проектом инструментарий для сборки обновлений оптимизирован для работы со встраиваемыми дистрибутивами на базе платформы Yocto, но он также может быть адаптирован для любых других систем сборки дистрибутивов. В качестве примеров доступны два эталонных сценария для платы BeagleBone Black и для виртуального устройства vexpress-qemu. Поддерживается как интерфейс командной строки, так и web-интерфейс для управления распространением обновлений.

На потребительские устройства устанавливается специальный клиентский компонент, который периодически опрашивает сервер и при наличии обновления загружает его. Взаимодействие с сервером осуществляется только по HTTPS, аутентификация сервера выполняется на основе проверки TLS-сертификата, интегрированного в прошивку. Обновление включает полноценный образ корневой файловой системы. Для экономии трафика и сокращения времени загрузки в будущем планируется обеспечить поддержку delta-обновлений, включающих только изменения, относительно прошлого обновления.

Для организации атомарного обновления всей системы на накопителе создаётся два идентичных корневых раздела - активный и пассивный. Новое обновление устанавливается в пассивный раздел, никак не влияя на работу активного. После перезагрузки разделы меняются местами - раздел с новым обновлением становится активным, а прошлый активный раздел переводится в пассивный режим и ожидает установки следующего обновления. Если после обновления что-то пошло не так, осуществляется откат на прошлый вариант прошивки.



  1. Главная ссылка к новости (https://www.mender.io/blog/ann...)
  2. OpenNews: Доступны платформы для создания встраиваемых Linux-систем Yocto 1.6 и Linaro 14.04
  3. OpenNews: Организация Linux Foundation выпустила первый релиз платформы Yocto
  4. OpenNews: Открыты исходные тексты операционной системы Minoca
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/46109-mender
Ключевые слова: mender, update
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (14) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 21:57, 27/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Отличный управляемый ботнет ОС
     
     
  • 2.2, Аноним (-), 21:57, 27/02/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > аутентификация сервера выполняется на основе проверки TLS-сертификата, интегрированного в прошивку
     
     
  • 3.11, anonimous (?), 15:22, 28/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Значит сначала ждём утечки того самого единственного ключа.
     
     
  • 4.13, Аноним (-), 22:26, 28/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Мастер ключ может быть подписан другим ключем ждем утечки :)
     
  • 2.16, анан (?), 14:07, 01/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Отличный управляемый ботнет ОС

    ок, ок

     

  • 1.3, Аноним (-), 23:06, 27/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Писал аналогиную штуку для внутреннего употребления. Итог был вот таким (правда требует libcurl):

       text    data     bss     dec     hex filename
      14376     500     284   15160    3b38 updater

    Интересно что у хипсторов с их go получилось.

     
     
  • 2.4, Crazy Alex (??), 23:21, 27/02/2017 [^] [^^] [^^^] [ответить]  
  • +11 +/
    У хипстеров - получилось с открытым кодом
     
     
  • 3.8, Аноним (-), 07:48, 28/02/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    и требуеще покупки нового смарта с 98 ядрами и 2Т оперативки?
     
     
  • 4.10, mickvav (?), 14:37, 28/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Вы на смарте собрались сервер обновлений разворачивать?
     
  • 2.9, лютый жабист__ (?), 09:03, 28/02/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Для AVR бутлоадеры пишут с обновлением через например CAN. Размером в байты. Так что ты тоже хипстор со своим libcurl.
     

  • 1.6, anonymous (??), 00:34, 28/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Клиент на Go
    >Не поддерживает IGMP
    >Не умеет дельта-обновления

    Да это просто эталонное ненужно

     
     
  • 2.14, аноним2 (?), 04:42, 01/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем дельты обновления на холодильнике? Может вы еще btrfs предложите со снапшотами и шифрованием? Лишь бы чего здриснуть в комментариях.
     
     
  • 3.15, анан (?), 14:06, 01/03/2017 [^] [^^] [^^^] [ответить]  
  • +/
    дристанул и ушел
     

  • 1.12, Anonim (??), 16:06, 28/02/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Традиционно надо добавить, ключевой целью разработки является обеспечение высокой скорости разработки. Производительности уделяется второстепенная роль.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру