Сборка образа ПО STB MAG-200/250

Документация. Утилиты

Начиная с версии ПО 0.2.14-r8 были произведены изменения в системе безопасности. Для сборки образа ПО на основе версий после 0.2.14-r8 необходимо использовать новые операторские утилиты и инструкции. Настоятельно рекомендуется, с целью повышения безопасности, Всем кто использует кастомизированные версии ПО, пересобрать образы используя версию 0.2.14-r8

Перед подготовкой рекомендуется ознакомится со следующей документацией: JavaScript API Руководство оператора
Необходимые утилиты: Operator Utils MAG-200 Operator Utils MAG-250

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

*nix система i386

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

Например: Для Ubuntu 11.04 i386 достаточно установить пакет

mtd-utils

Подготовка образов:

Рекомендуется: Выполнять все команды с правами «суперпользователя»; При работе с архивами использовать консольный архиватор tar.

Перед подготовкой образа необходимо установить ключ оператора по умолчанию.

Для использования ключа по-умолчанию необходимо выполнить следующие команды:

gpg --import stb_secbin.key
export MAG200_OP_KEY=STB_PUBLIC

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

Командная оболочка указанная в скриптах может отличатся от системной!

Для подготовки uImage, uImzlib_null.img, uImzlib.img используется файл ./images/vmlinux.bin (Для MAG-200) или ./images/vmlinux.bin.mag250 (Для MAG-250).

vmlinux.bin или vmlinux.bin.mag250 взять из релиза (MAG-200, MAG-250) и поместить в каталог ./images

Выполнить команду:

./kernel_sign.sh

Подготовка imageupdate

Оператор и интегратор могут в зависимости от их потребностей вносить изменения, которые им необходимы. Например, расширять набор утилит или добавлять команды, и на их основе реализовывать новые алгоритмы взаимодействия с приставкой.

В imageupdate можно дополнительно добавить следующие не обязательные секции:

второй образ бутлоадера;

логотип;

секция для установки переменных бутлоадера;

образ локального бутстрапа;

образ раздела пользователя.

Образ с дополнительным секциями можно собрать, например, так:

./img_make.sh 212 "Test_test" ../rootfs MAG200 ./img_make.profile.mag200

где:

212	номер версии образа, должно быть числом. После успешного обновления стандартным Bootstrap-ом переменная начального загрузчика «Image_Version» принимает это значение. Настоятельно рекомендуется для нумерации версий использовать номер версии релиза, который был взят за основу
«Test_test»	краткое описание (!Внимание! Пробелы не допускаются!). После успешного обновления стандартным Bootstrap-ом переменная начального загрузчика «Image_Desc» принимает это значение
../rootfs	место расположения каталога корневой файловой системы приставки. Пример корневой файловой системы rootfs-….tar.gz можно взять из релиза (MAG-200, MAG-250)
MAG200	модель приставки для которой собирается версия, может быть MAG250
./img_make.profile.mag200	файл, в котором можно настроить подключение и отключение дополнительных секции. может быть ./img_make.profile.mag250

Пример файла img_make.profile.mag200

# Profile for imageupdate
# Kernel's file system
export KERNEL_PATH=./uImzlib.img
# Image Version (digit)
#export IMAGE_VERSION=66
# Image Description
#export IMAGE_DESCRIPTION="Test create New Imageupdate"
# Directory where locate rootfs
#export ROOTFS_PATH=/srv/stb/sg/stm/0.1.60
# File name for enviroment variable
export ENV_VARIABLE_PATH=./images/env.txt
# Bootstrap
#export BOOTSTRAP_VERSION=1
#export BOOTSTRAP_PATH=./images/Bootstrap.img
# Userfs
export USERFS_VERSION=1
export USERFS_PATH=./images/userfs.img
# File name for SecondBoot
export SECONDBOOT_PATH=./images/SbootIm
# File name for Logotype
export LOGOTYPE_PATH=./images/logo.bmp.gz
export MAG200_OP_KEY=STB_PUBLIC

Оператор может инициировать добавление необходимых секций в imageupdate задавая значения следующих переменных:

Название	Описание
KERNEL_PATH	Расположение образа файловой системы, содержащей ядро. Если переменная не заданна, то используется ./uImzlib.img.
IMAGE_VERSION	Номер версии образа, должно быть числом. Аналогично первому параметру при вызове ./img_make.sh
IMAGE_DESCRIPTION	Краткое описание. Аналогично второму параметру при вызове ./img_make.sh
ROOTFS_PATH	Место расположения каталога корневой файловой системы приставки. Аналогично третьему параметру при вызове ./img_make.sh
ENV_VARIABLE_PATH	Эта переменная должна содержать путь к файлу, в котором содержатся переменные бутлоадера и их значение. Пример, такого файла смотрите env.txt, он показывает каким, образом можно установить переменные бутлоадера, в частности цвета шрифта и фона. Символ $ должен экранироваться.
BOOTSTRAP_VERSION	Номер версии образа, который должен располагаться в разделе «NAND» с названием “Bootstrap”. Если номер текущего образа и обновляемого совпадает, то обновление не производиться.
BOOTSTRAP_PATH	Расположение образа файловой системы, содержащей Bootstrap. Образ подготавливается с помощью bootstrap_img.sh.
USERFS_VERSION	Номер версии образа, который должен располагаться в разделе «NAND» с названием «Userfs». Если номер текущего образа и обновляемого совпадает, то обновление не производиться.
USERFS_PATH	Расположение образа файловой системы пользователя (образ который должен быть при обновлении записан в раздел «NAND» с названием «Userfs»). Образ подготавливается с помощью userfs_img.sh. Предварительно оператор должен положить необходимые ему файлы в подкаталог с именем /userfs.
SECONDBOOT_PATH	Путь ко второму образу бутлоадера.
LOGOTYPE_PATH	Путь к файлу логотипу, подготовленный оператором.

Пример файла 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

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