Все примеры используемые в данном руководстве приведены для 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.
Внимание!Командная оболочка указанная в скриптах может отличатся от системной!
MAG-250/254/270 используются файлы:
vmlinux.bin.mag<model_number>
MAG-256/351/324 используются файлы:
uImage_mag<model_number>.clean
где <model_number> - номер модели STB для которой собирается образ ПО.
vmlinux.bin.mag<model_number>
или uImage_mag<model_number>.clean
необходимо взять из релиза ПО в соответствии с моделью STB для которой собирается образ и поместить в каталог ./images
. Каталог ./images
находится в каталоге с утилитами.
Файлы:
uImage_mag<model_number>
uImzlib_null_mag<model_number>.img
uImzlib_mag<model_number>.img
- будут созданы в каталоге с утилитами после окончания работы скриптов.
Пример для MAG-250 - используется скрипт ./kernel_sign_250.sh
Параметры сборки образа указываются в профайле:
* Пример для MAG-250 - используется профайл ''img_make.profile.mag250''
Пример профайла img_make.profile.mag250
# Kernel's file system
export KERNEL_PATH=./uImzlib_mag250.img
# File name for enviroment variable
export ENV_VARIABLE_PATH=./images/env_mag250.txt
# Userfs
export USERFS_VERSION=1
export USERFS_PATH=./images/userfs.img
# File name for SecondBoot
export SECONDBOOT_PATH=./images/SbootIm_mag250
# File name for Logotype
#export LOGOTYPE_PATH=./images/logo.bmp.gz
export MAG200_OP_KEY=STB_PUBLIC
Название | Описание |
---|---|
KERNEL_PATH | Расположение образа файловой системы, содержащей ядро. Если переменная не заданна, то используется ./uImzlib.img . |
ENV_VARIABLE_PATH | Эта переменная должна содержать путь к файлу, в котором содержатся переменные бутлоадера и их значение. Пример, такого файла смотрите Пример файла env.txt, он показывает каким, образом можно установить переменные бутлоадера, в частности цвета шрифта и фона. Символ $ должен экранироваться. |
USERFS_VERSION | Номер версии образа, который должен располагаться в разделе «NAND» с названием «Userfs» . Если номер текущего образа и обновляемого совпадает, то обновление не производиться. |
USERFS_PATH | Расположение образа файловой системы пользователя (образ который должен быть при обновлении записан в раздел «NAND» с названием «Userfs» ). Образ подготавливается с помощью userfs_img.sh. Предварительно оператор должен положить необходимые ему файлы в подкаталог с именем /userfs. |
SECONDBOOT_PATH | Путь ко второму образу бутлоадера. |
LOGOTYPE_PATH | Путь к файлу логотипу, подготовленный оператором. |
Для правильной работы утилит оператора, переменная 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
должен быть:
STB_PUBLIC
- для сборки PublicImage. Публичный ключ входи в состав утилит; ID кастомного ключа
- для сборки CastomImage;ID ключа оператора
- для сборки OperatorImage.
Необходимые переменные Bootloader-a указываются в файле ./images/env.txt
Наиболее часто используемые переменные
bg_color=0x00006498 fg_color=0x00FFFFFF portal1=http://10.1.0.1/stalker_portal/c/index.html language=ru update_url=http://10.1.0.1/imageupdate ntpurl=10.1.0.1 timezone_conf=Europe/Kiev
Синтаксис:
./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 - GnuPG.org GnuPG Wikipedia
Для переноса ключа, например, с одной машины на другую можно воспользоваться следующими командами:
gpg -o opsecbin.KEY --export-secret-keys ID-ключа
gpg --import opsecbin.KEY
gpg --list-keys
Инструкция по сборке и установке образа «OperatorImage» предоставляется после согласования процедуры подписи ключа оператора с коммерческим отделом