Сервер обновления прошивок для медиацентров TVIP

Для автоматического обновления прошивки на медиацентров TVIP используется протокол HTTP.

Структура сервера обновлений.

Приставка запрашивает прошивку по следующему URL:

http://tvipupdate.net/stb/<модель>/<ОС>/<тип обновления>/tvip_firmware.<bin|ota.zip>

Где:

  • <модель> - Модель приставки (Например: s410, s500 или s412)
  • <ОС> - Тип операционной системы (linux/linux-qt/android)
  • <тип обновления> - Тип обновления (release/beta)
  • <bin|ota.zip> - в зависимости от модели приставки файл прошивки может быть в формате bin или ota (tvip_firmware.bin или tvip_firmware.ota.zip)

Пример: http://tvipupdate.net/stb/s500/linux-qt/release/tvip_firmware.ota.zip

Для определения версии прошивки на сервере используется файл:

http://tvipupdate.net/stb/<модель>/<ОС>/<тип обновления>/tvip_firmware.info

Пример: http://tvipupdate.net/stb/s500/linux-qt/release/tvip_firmware.info

В этом файле указанна версия прошивки, доступная для обновления.
Начиная с версии прошивки 3.7.12, последняя строка info-файла должна содержать #end#, без данной строки файл не считается валидным.
Приставка сравнивает версию прошивки на сервере с локальной версией, и при отличии выводит сообщение о доступном обновлении.

Выбор сервера обновлений

По-умолчанию проверка обновлений производится с сервера http://tvipupdate.net. Существует возможность его переопределения либо через настройки провижионинга либо через выдачу специальных опций DHCP-сервером.

Адрес сервера обновлений [UPDATE_ADDR] обрабатывается согласно следующим приоритетам:

ОС Linux:

  1. /var/tvip/update_server - наивысший приоритет, адрес сервера, прописываемый вручную
  2. /var/tvip/update_server.prov - адрес сервера, полученный из провижионинга
  3. /var/tvip/update_server.dhcp - адрес сервера, полученный по DHCP
  4. /etc/default_update_server - наименьший приоритет

ОС Android:

  1. /data/data/tv.tvip.app/files/update_server - наивысший приоритет, адрес сервера, прописываемый вручную
  2. /data/data/tv.tvip.app/files/update_server.prov - адрес сервера, полученный из провижионинга
  3. /etc/default_update_server - наименьший приоритет
Особенности:
  • Все официальные обновления всегда доступны на сервере по-умолчанию: tvipupdate.net, для удобства доступа к серверу обновлений при использовании локального зеркала можно использовать сервер: update.tvip.ru (данный сервер расположен на другом ip-адресе).
  • В прошивках 1.0.10 и ниже использовался сервер обновлений по-умолчанию: update.netsol.su
  • В прошивках от 1.0.17 до 3.3.x использовался сервер обновлений по-умолчанию: tvipstb.net
  • В прошивках 3.4.3 и выше используется сервер обновлений по-умолчанию: tvipupdate.net

Настройка локального сервера обновлений

Для организации зеркала обновлений подойдет любой web-сервер, поддерживающий отдачу статических файлов (apache,nginx,lighttpd)

Распространение обновлений реализовано по протоколу rsync.

Для получения/синхронизации прошивок рекомендуем использовать следующую команду:

rsync -P --timeout=1800 -aWvH --stats --force --delete --delete-after --exclude=prov* rsync://rsync.netsol.su/update_netsol/ /var/www/tvipupdate.net

Рекомендуемая периодичность синхронизации 1 раз в сутки.


Перевод этой страницы: