PublicImage - подготовка, сборка - для MAG254
PublicImage - образ ПО STB, подписанный стандартным публичным (общедоступным) ключом производителя STB_PUBLIC.
Варианты обновления PublicImage: Обновляется из меню Встроенного портала (методами HTTP и USB, без использования Bootstrap) только на версии ПО завода-изготовителя (Factory Image). На другие публичные версии ПО обновляется только из меню Начального загрузчика (multicast, USB&Bootstrap).
Вариант PublicImage от производителя выкладывается в корневом каталоге каждого текущего релиза различных моделей STB (файл imageupdate).
Алгоритм сборки образа
1. Выполнить подготовку необходимых файлов согласно пунктов 1, 2, 3 из раздела Подготовка образа ПО. Общие полoжения статьи Операторские утилиты и инструкции для сборки образа ПО, а именно:
1.1 Подготовка переменных окружения.
1.2 Подготовка профайла.
1.3. Копирование исходного файла ядра из релиза STB в рабочую директорию Операторских Утилит.
2. Выполнить экспорт ключа. Для создания PublicImage используется публичный ключ, входящий в состав утилит:
gpg --import stb_secbin.key export MAG200_OP_KEY=STB_PUBLIC
3. Подписать ядро публичным ключом. Находясь в рабочем каталоге с Операторскими Утилитами, выполнить:
./kernel_sign_254.sh
Примечание. Подробное описание см. в п.4 раздела Подготовка образа ПО. Общие полoжения.
4. Выполнить сборку
./img_make.sh 218 "test" ../../rootfs MAG254 ./img_make.profile.mag254
Примечание. Подробное описание см. в п. 5 раздела Подготовка образа ПО. Общие полoжения.
5. После успешного создания, файл imageupdate помещается в рабочий каталог с Операторскими Утилитами.
Созданный по указанному алгоритму файл imageupdate, содержащий образ типа PublicImage, может в дальнейшем использоваться для обновления ПО STB из меню Начального загрузчика (для MAG250/254/270) или из меню System Recovery Utility (для MAG-256/3xx/4xx).
Пример сборки PublicImage MAG-254
Совет. Для прокрутки текста кода влево-вправо наведите указатель мыши в поле отображения кода, зажмите Shift и прокручивайте колесо мыши.
root@localhost:~/218-r7-test/operators_utils_new_mag200_mag250_mag254# cat /etc/issue Ubuntu 14.04.1 LTS \n \l root@localhost:~/218-r7-test/operators_utils_new_mag200_mag250_mag254# uname -a Linux localhost 3.13.0-39-generic #66-Ubuntu SMP Tue Oct 28 13:31:23 UTC 2014 i686 i686 i686 GNU/Linux root@localhost:~/218-r7-test# wget http://wiki.iptv.infomir.com/pub/operators_utils_new_mag200_mag250_mag254.tar.gz Saving to: ‘operators_utils_new_mag200_mag250_mag254.tar.gz’ root@localhost:~/218-r7-test# wget http://soft.infomir.com/mag254/release/0.2.18-r7/vmlinux.bin.mag254 Saving to: ‘vmlinux.bin.mag254’ root@localhost:~/218-r7-test# wget http://soft.infomir.com/mag254/release/0.2.18-r7/rootfs-0.2.18r7.tar.gz Saving to: ‘rootfs-0.2.18r7.tar.gz’ root@localhost:~/218-r7-test# tar -zxf rootfs-0.2.18r7.tar.gz root@localhost:~/218-r7-test# tar -zxf operators_utils_new_mag200_mag250_mag254.tar.gz root@localhost:~/218-r7-test# mv vmlinux.bin.mag254 operators_utils_new_mag200_mag250_mag254/images/ root@localhost:~/218-r7-test# cd operators_utils_new_mag200_mag250_mag254/ root@localhost:~/218-r7-test/operators_utils_new_mag200_mag250_mag254# cat img_make.profile.mag254 # Kernel's file system export KERNEL_PATH=./uImzlib_mag254.img # File name for enviroment variable export ENV_VARIABLE_PATH=./images/env_mag254.txt # Userfs export USERFS_VERSION=1 export USERFS_PATH=./images/userfs.img # File name for SecondBoot export SECONDBOOT_PATH=./images/SbootIm_mag254 # File name for Logotype export LOGOTYPE_PATH=./images/logo.bmp.gz export MAG200_OP_KEY=STB_PUBLIC root@localhost:~/218-r7-test/operators_utils_new_mag200_mag250_mag254# gpg --import stb_secbin.key gpg: key 6BEED1ED: secret key imported gpg: key 6BEED1ED: public key "STB_PUBLIC (Public key!!)" imported gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1) gpg: secret keys read: 1 gpg: secret keys imported: 1 root@localhost:~/218-r7-test/operators_utils_new_mag200_mag250_mag254# export MAG200_OP_KEY=STB_PUBLIC root@localhost:~/218-r7-test/operators_utils_new_mag200_mag250_mag254# ./kernel_sign_254.sh File vmlinux.sign create - successfully!!! Image Name: MAG254 SH4 Kernel Linux 2.6.17 Created: Fri Nov 7 10:39:35 2014 Image Type: SuperH Linux Kernel Image (gzip compressed) Data Size: 3244259 Bytes = 3168.22 kB = 3.09 MB Load Address: 0x80800000 Entry Point: 0x80801000 File uImzlib_mag254.img create - successfully!!! root@localhost:~/218-r7-test/operators_utils_new_mag200_mag250_mag254# ./img_make.sh 218 "test" ../rootfs-0.2.18r7 MAG254 ./img_make.profile.mag254 Make rootfs image ../rootfs-0.2.18r7 Append digital signature MAG200_OP_KEY=STB_PUBLIC File ./sumsubfsnone.img.sign create - successfully!!! gpg (GnuPG) 1.4.16 Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Home: ~/.gnupg Supported algorithms: Pubkey: RSA, RSA-E, RSA-S, ELG-E, DSA Cypher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH, CAMELLIA128, CAMELLIA192, CAMELLIA256 Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224 Compression: Uncompressed, ZIP, ZLIB, BZIP2 File result:./imageupdate Create section "Kernel size:" and append file ./uImzlib_mag254.img. Create section "Image size:" and append file ./sumsubfsnone.img.sign. Create section "Env size:" and append file ./images/env_mag254.txt. Create section "Userfs size:" and append file ./images/userfs.img. Create section "Logotype size:" and append file ./images/logo.bmp.gz. File ./imageupdate create - successfully!!!