Инструменты пользователя

Инструменты сайта


custom_firmware

Это старая версия документа.


Внесение изменений в прошивку медиацентров TVIP

* :!: см. Описание основных файлов rootfs

Для извлечения прошивки понадобится утилита mktvipfw:

svn co svn://svn.sokolov.me/iptv/libtvipstb/trunk/platforms/common/tools/mktvipfw/ .
mkdir build
cd build
cmake ..
make

бинарник для linux/i386 доступен по адресу: http://update-main.netsol.su/stb/mktvipfw

mktvipfw

mktvipfw - Tool for making/extracting tvip_firmware, version: 2.0.0

Usage: mktvipfw [OPTION]

Available options:
-h                        print this text and exit
-b                        add 0xFF bytes to the end of images if it size is not divided by 1024
-a <blockname>=<filename> use file for block name when creating firmware
-t <type>                 device type
-v <version>              firmware version
-x <fileName>             extract firmware file to current directory
-p <prefix>               use <prefix> for .bin and .info file instead of default

:!: Обратите внимание, что параметр -v должен совпадать с номером версии /etc/tvip_firmware.version

Добавление файлов в прошивку

Текущая прошивка для медиацентров TVIP доступна по адресу: http://update-main.netsol.su/stb/___DEVICE_ID___/release/tvip_firmware.bin, где _DEVICE_ID_ - это ID устройства

Распаковка прошивки:

 ./mktvipfw -x tvip_firmware-s300.bin
Extracting firmware "tvip_firmware-s300.bin"
good fw header
type = s300, ver = 1.1.0
blockName = kernel
blockName = rootfs
blockName = splash
blockName = uboot

$ ls -la
total 31540
drwxr-xr-x  3 vovan vovan     4096 Feb  7 15:09 .
drwxr-xr-x 22 root  root      4096 Feb  1 06:40 ..
-rw-rw-r--  1 vovan vovan  3441630 Nov  6 16:59 kernel.img
-rwxrwxr-x  1 vovan vovan    61894 Nov  6 16:44 mktvipfw
-rw-rw-r--  1 vovan vovan 28499968 Nov  6 16:59 rootfs.img
-rw-rw-r--  1 vovan vovan  2764854 Nov  6 16:59 splash.img
-rw-rw-r--  1 vovan vovan   327684 Nov  6 17:45 uboot.img
-rw-r--r--  1 vovan vovan 34706580 Nov  5 14:40 tvip_firmware-s300.bin

Чтобы извлечь файлы прошивки, необходимо смонтировать образ rootfs и скопировать файлы из него:

sudo mount -t cramfs -o loop ./rootfs.img /tmp/rootfs/mc
sudo cp -R  /tmp/rootfs /tmp/newrootfs

Теперь в каталог /tmp/newrootfs/ можно вносить необходимые изменения.

Сборка нового образа rootfs из каталога /tmp/newrootfs/:

sudo mkcramfs /tmp/newrootfs newrootfs.img
Directory data: 23960 bytes
Everything: 27856 kilobytes
Super block: 76 bytes
CRC: 318254da

:?: для ubuntu утилита mkcramfs входит в пакет cramfsprogs

Сборка прошивки с новым образом rootfs:

./mktvipfw -a kernel=kernel.img -a rootfs=newrootfs.img -a splash=splash.img -a uboot=uboot.img -t s300 -v "my_provider_1.1.0"
Using default prefix "tvip_firmware-s300-my_provider_1.1.0" for filenames
Writing tvip_firmware-s300-my_provider_1.1.0.bin
Writing block "kernel" from "kernel.img"
Writing block "rootfs" from "newrootfs.img"
Writing block "splash" from "splash.img"
Writing block "uboot" from "uboot.img"
Successfully written tvip_firmware-s300-my_provider_1.1.0.bin
Writing tvip_firmware-s300-my_provider_1.1.0.info
Successfully written tvip_firmware-s300-my_provider_1.1.0.info
custom_firmware.1383748447.txt.gz · Последние изменения: 2013/11/06 18:34 — Pavel Sokolov

Инструменты страницы