Это старая версия документа.
* см. Описание основных файлов rootfs
*
см. Как обновить медиацентр TVIP
Для извлечения прошивки понадобится утилита 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 - 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