Содержание

Операторские утилиты и инструкции для сборки образа ПО на основе 0.2.14-r8 и выше

Требования к ОС

Все примеры используемые в данном руководстве приведены для Ubuntu Server 12.04 i386.

Для 64-разрядной системы, необходимо дополнительно установить поддержку 32-разрядных библиотек. Например, для Ubuntu 14.04 - 16.04 необходимо установить пакет lib32z1 (32-bit shared libraries for AMD64).

Необходимые пакеты

Например: Для Ubuntu Server 12.04 i386, достаточно установить пакет mtd-utils

Утилиты

Утилиты оператора позволяют собирать образ ПО в трех вариантах:

Утилиты для сборки образов ПО: Operator Utilities
Требования к ОС: *nix система i386. Внимание! Не работает на 64-bit системах!

Перед подготовкой образа основного ПО настоятельно рекомендуем ознакомится со следующей документацией:
JavaScript API, Operator guide
Рекомендуется: Выполнять все команды с правами «суперпользователя». При работе с архивами использовать консольный архиватор tar.
Внимание!Командная оболочка указанная в скриптах может отличатся от системной!

Подготовка образов. Общие полoжения

1. Подготовка uImage, uImzlib_null.img, uImzlib.img

MAG-250/254/270 используются файлы:

MAG-256/351/324 используются файлы:

где <model_number> - номер модели STB для которой собирается образ ПО.

vmlinux.bin.mag<model_number> или uImage_mag<model_number>.clean необходимо взять из релиза ПО в соответствии с моделью STB для которой собирается образ и поместить в каталог ./images. Каталог ./images находится в каталоге с утилитами.

Файлы:

- будут созданы в каталоге с утилитами после окончания работы скриптов.

2. Подпись ядра

Пример для MAG-250 - используется скрипт ./kernel_sign_250.sh

3. Подготовка профайла

Параметры сборки образа указываются в профайле:

* Пример для MAG-250 - используется профайл ''img_make.profile.mag250'' 

Пример профайла img_make.profile.mag250

Описание переменных профайла

Для правильной работы утилит оператора, переменная KERNEL_PATH в профайлах, должна иметь значение ./uImzlib_mag250.img для MAG250 и ./uImzlib.img - для MAG200. Переменные ENV_VARIABLE_PATH, USERFS_VERSION, USERFS_PATH, SECONDBOOT_PATH, LOGOTYPE_PATH могут быть закоментированы, в этом случае соответствующей секции не будет в образе. В переменной MAG200_OP_KEY должен быть установлен соответствующий идентификатор - (ID) ключа, которым будет подписан образ,

Например: export MAG200_OP_KEY=ID_key, где ID_KEY должен быть:

4. Подготовка переменных Bootloader-a (Переменные окружения)

Необходимые переменные Bootloader-a указываются в файле ./images/env.txt

Наиболее часто используемые переменные

Пример файла env.txt

5. Сборка образа (сборка imageupdate)

Синтаксис:

./img_make.sh <version_number> "<description>" <path_to_rootfs> <modelname> <path_to_profile>

где:

version_number Номер версии образа, должно быть трехзначным числом. После успешного обновления переменная начального загрузчика Image_Version принимает это значение.
description Краткое описание !Внимание! «Пробелы» в описании не допускаются. Описание необходимо экранировать! После успешного обновления переменная начального загрузчика Image_Desc принимает это значение
path_to_rootfs путь к каталогу с корневой файловой системой. Корневую файловую систему rootfs-….tar.gz можно взять из релиза http://soft.infomir.com.ua в соответствии с моделью STB
modelname модель STB для которой собирается версия, может быть MAG200, MAG250, MAG254, MAG270 и т.д
path_to_profile Путь к профайлу, в котором можно настроить подключение и отключение дополнительных секции. может быть ./img_make.profile.mag200 или ./img_make.profile.mag250 и т.д.

Пример для MAG-250:

./img_make.sh 218 "Test_my_version" ../250/rootfs-0.2.18r14 MAG250 ./img_make.profile.mag250

Пример для MAG-256:

./img_make.sh 220 "Test_my_version" ../256/i256-splash-7.7 MAG256 ./img_make.profile.mag256
«Обновление ПО» из меню «Системные настройки» - переменная update_url. По умолчанию, обновление происходит по URL производителя на образ ПО подготовленный производителем. При сборке собственного образа рекомендуется изменить переменную на URL вашего образа.

"Mодуль автоматического обновления" из пункта «Настройки» основного меню. Переменные: autoupdate_cond, betaupdate_cond По умолчанию, автоматическое обновление включено и инициирует обновление на версии ПО производителя. Обновление возможно так же и в ручном режиме. При сборке собственного образа рекомендуется отключить работу модуля автоматического обновления либо организовать собственную систему обновления, руководствуясь описанием и инструкциями.

Проверка переменных окружения при старте. С целью повышения безопасности и контроля несанкционированного изменения переменных, рекомендуется производить проверку необходимых/критичных переменных при загрузке ПО (например, таких как: portal1, portal2, update_url, autoupdate_cond и т.д.)

Замечания по работе с программой gpg

Для работы с ключами и создания цифровой подписи образов используется программа gpg - GnuPG.org GnuPG Wikipedia

Для переноса ключа, например, с одной машины на другую можно воспользоваться следующими командами:

gpg -o opsecbin.KEY --export-secret-keys ID-ключа
gpg --import opsecbin.KEY
gpg --list-keys

PublicImage - подготовка, сборка

PublicImage - подготовка, сборка - пример для MAG-250

CustomImage - подготовка, сборка

CustomImage - подготовка, сборка - пример для MAG-250

OperatorImage

Инструкция по сборке и установке образа «OperatorImage» предоставляется после согласования процедуры подписи ключа оператора с коммерческим отделом