Все примеры используемые в данном руководстве приведены для Ubuntu Server 16.04.
Для 64-разрядной системы, необходимо дополнительно установить поддержку 32-разрядных библиотек. Например, для Ubuntu 14.04 - 16.04 необходимо установить пакет lib32z1 (32-bit shared libraries for AMD64).
| mtd-utils | Утилиты для управления устройствами с технологией памяти, такими как флэш-память, Disk-On-Chip или ROM |
| lib32z1 | Поддержка 32-разрядных библиотек для x64 систем |
| gnupg1 | Внимание! GPG2(gnupg2) - не поддерживатеся! |
| STB SDK | https://soft.infomir.com/stbsdk/ - Утилиты для сборки ПО MAG |
Утилиты оператора позволяют собирать образ ПО в трех вариантах:
Перед подготовкой образа основного ПО настоятельно рекомендуем ознакомится со следующей документацией:STB API, Operator guide
Рекомендуется: Выполнять все команды с правами «суперпользователя». При работе с архивами использовать консольный архиватор tar.
Внимание!Командная оболочка указанная в скриптах может отличатся от системной!
update_url. По умолчанию, обновление происходит по URL производителя на образ ПО подготовленный производителем. При сборке собственного образа рекомендуется изменить переменную на URL вашего образа.autoupdate_cond, betaupdate_cond. По умолчанию, автоматическое обновление включено и инициирует обновление на версии ПО производителя. Обновление возможно так же и в ручном режиме. При сборке собственного образа рекомендуется отключить работу модуля автоматического обновления либо организовать собственную систему обновления, руководствуясь описанием и инструкциями.portal1, portal2, update_url, autoupdate_cond и т.д.)
Параметры сборки образа указываются в профайле img_make.profile.mag<model_number>
Пример профайла img_make.profile.mag520
### Model export MODEL=MAG520 ### Kernel's file system export KERNEL_PATH=./mag520/out/uImzlib_mag520.img ### File name for enviroment variable export ENV_VARIABLE_PATH=./mag520/images/env_mag520.txt ### Userfs #export USERFS_VERSION=1 #export USERFS_PATH=./mag520/images/userfs_mag520.img ### Second boot #export SECONDBOOT_PATH=./mag520/images/sboot.bin ### File name for Logotype export LOGOTYPE_PATH=./mag520/images/logo_amlogic.bmp.gz ### Key export MAG200_OP_KEY=STB_PUBLIC #By default XXX_FS_TYPE is jffs2 #Can be jffs2,ubi,raw(for kernel only),ext4 export KERNEL_FS_TYPE=raw export ROOTFS_FS_TYPE=ext4 ### Compress ext4 image export EXT4_ZIP=1 export HASH_TYPE=SHA256
| Переменная | Описание |
|---|---|
| MODEL | Модели STB. Внимание! Регистр написания наименования модели должен полностью совпадать с наменованием модели из System Recovery Utility > Device Information > Model или System Settings > Device Info > Model. |
| KERNEL_PATH | Расположение итоговго образа файловой системы, содержащей ядро. По этому пути будт раположен итоговый образ ядра после сборки и подписи |
| ENV_VARIABLE_PATH | Путь к файлу, в котором содержатся переменные бутлоадера и их значение. Пример, такого файла смотрите Пример файла env.txt, он показывает каким, образом можно установить переменные бутлоадера, в частности цвета шрифта и фона. Символ $ должен экранироваться. |
| USERFS_VERSION | Номер версии образа файловой системы «Userfs». Если номер текущего образа и обновляемого совпадает, то обновление не производиться. |
| USERFS_PATH | Расположение образа файловой системы «Userfs». Образ подготавливается с помощью userfs_img_<type_model>.sh. Необходимые файлы должны находится в подкаталоге /userfs. |
| SECONDBOOT_PATH | Путь ко второму образу загрузчика при необходимости его обновления |
| LOGOTYPE_PATH | Путь к файлу логотипа загрузчика. |
| MAG200_OP_KEY | ID ключа для подписи ПО. По умолчанию STB_PUBLIC |
| KERNEL_FS_* | Тип и разметка файловой системы ядра. Внимание! Не рекомендуется изменять значения установленные в профайле! |
| ROOTFS_FS_* | Тип и разметка корневой файловой системы. Внимание! Не рекомендуется изменять значения установленные в профайле! |
| EXT4_ZIP | Уровень сжатия для образа EXT4 |
| HASH_TYPE | Алгоритм шифрования |
Для правильной работы утилит оператора, переменная KERNEL_PATH в профайлах, должна иметь значение <path>/uImzlib_mag<model>.img.
Переменные 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
Используются файлы:
uImage_mag<model_number>.cleanгде <model_number> - номер модели STB для которой собирается образ ПО.
uImage_mag<model_number>.clean необходимо взять из релиза ПО в соответствии с моделью STB для которой собирается образ.
Файлы:
uImage_mag<model_number>uImzlib_null_mag<model_number>.imguImzlib_mag<model_number>.img - будут созданы в каталоге с утилитами после окончания работы скриптов.
Используется скрипт ./kernel_sign.sh. Скрипт интерактивный, при запуске без параметров выводится подсказка.
Пример:
# ./kernel_sign.sh Usage: ./kernel_sign.sh <model_name> <path_to_kernel> <profile> The <model_name> should be the same as the Model Name of STB The Model Name can be viewed in System Recovery Utility > Device Information > Model or in System Settings > Device Info > Model For example: ./kernel_sign.sh MAG520 ./mag520/images/uImage_mag450.clean img_make.profile.mag520 #
Используется скипт - img_make.sh. Скрипт интерактивный. При запуске без параметров выводится подсказка.
Пример:
root@test-srv:~/stb_fw/Operator_utilities_Broadcom_Hisilicon_Amlogic# ./img_make.sh Usage: ./img_make.sh <version_number> "<description>" <path_to_rootfs> <model_name> <profile> The <version_number> must be a number (3 digits) The <description> should be escaped, Spaces are not allowed! The <model_name> should be the same as the Model Name of STB The Model Name can be viewed in System Recovery Utility > Device Information > Model or in System Settings > Device Info > Model For example: ./img_make.sh 220 "Test_image" ../../520/rootfs-2.20.01/ MAG520 ./img_make.profile.mag520 root@test-srv:~/stb_fw/Operator_utilities_Broadcom_Hisilicon_Amlogic#
где:
| version_number | Номер версии образа, должно быть трехзначным числом. После успешного обновления переменная начального загрузчика Image_Version принимает это значение. |
| description | Краткое описание !Внимание! «Пробелы» в описании не допускаются. Описание необходимо экранировать! После успешного обновления переменная начального загрузчика Image_Desc принимает это значение |
| path_to_rootfs | путь к каталогу с корневой файловой системой. Корневую файловую систему rootfs-….tar.gz можно взять из релиза http://soft.infomir.com.ua в соответствии с моделью STB |
| model_name | Модели STB. Внимание! Регистр написания наименования модели должен полностью совпадать с наменованием модели из System Recovery Utility > Device Information > Model или System Settings > Device Info > Model. |
| path_to_profile | Путь к профайлу - ./img_make.profile.mag<model> |
Для работы с ключами и создания цифровой подписи образов используется программа gpg - GnuPG.org GnuPG Wikipedia
Для переноса ключа, например, с одной машины на другую можно воспользоваться следующими командами:
gpg -o opsecbin.KEY --export-secret-keys ID-ключа
gpg --import opsecbin.KEY
gpg --list-keys
Инструкция по сборке и установке образа «OperatorImage» предоставляется после согласования процедуры подписи ключа оператора с коммерческим отделом