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

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


custom_firmware

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
custom_firmware [2014/09/10 10:16]
Vladimir Manov
custom_firmware [2017/09/28 14:03] (текущий)
Vladimir Manov
Строка 1: Строка 1:
 ====== Внесение изменений в прошивку медиацентров TVIP ====== ====== Внесение изменений в прошивку медиацентров TVIP ======
  
-:!: Информация актуальна для медиацентров на ОС Linux. +**Для медиацентров TVIP S213/S300/S310:*[[custom_firmware:bin]] 
- +\\ 
-===== mktvipfw ===== +*ля медиацентров ​TVIP S400/S410/S500:*[[custom_firmware:ota]]
-Для извлечения прошивки понадобится утилита mktvipfw. Для linux/i386 она доступна по адресу:​ [[http://​update.tvip.ru/​utils/​mktvipfw.gz]] +
- +
-<​code>​ +
-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 +
-</​code>​ +
- +
- +
-===== Добавление файлов в прошивку ===== +
- +
-Текущая прошивка для медиацентров ​TVIP доступна по адресу:​ http://​update-main.netsol.su/​stb/​___DEVICE_ID___/​release/​tvip_firmware.bin,​ где ___DEVICE_ID___ - это ID устройства +
- +
- +
-  * TVIP S213 [[http://update-main.netsol.su/​stb/​s213/​release/​tvip_firmware.bin]] +
-  * TVIP S300 [[http://​update-main.netsol.su/​stb/​s300/​release/​tvip_firmware.bin]] +
-  ​TVIP S310 [[http://​update-main.netsol.su/​stb/​s310/​release/​tvip_firmware.bin]] +
-   +
-Распаковка прошивки:​ +
- +
-<​code>​ +
- ​./​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 +
-</​code>​ +
- +
-Чтобы извлечь файлы прошивки,​ необходимо смонтировать образ rootfs(Начиная с версии прошивки 3.1.0 - монтирование образа rootfs невозможно. см ниже) и скопировать файлы из него: +
-<​code>​ +
-sudo mount -t cramfs -o loop ./​rootfs.img /​tmp/​rootfs/​mc +
-sudo cp -aR  /tmp/rootfs /​tmp/​newrootfs +
-</​code>​ +
-Теперь в каталог /​tmp/​newrootfs/​ можно вносить необходимые изменения. +
- +
-Сборка нового образа rootfs из каталога /​tmp/​newrootfs/:​ +
-<​code>​ +
-sudo mkcramfs /​tmp/​newrootfs newrootfs.img +
-Directory data: 23960 bytes +
-Everything: 27856 kilobytes +
-Super block: 76 bytes +
-CRC: 318254da +
-</​code>​ +
-:?: для ubuntu утилита mkcramfs входит в пакет cramfsprogs  +
- +
-Сборка прошивки с новым образом rootfs: +
- +
-<​code>​ +
-./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 +
-</​code>​ +
- +
- +
-===== Распаковка rootfs начиная с прошивки 3.1.0 ===== +
- +
-Для распаковки образа rootfs прошивки 3.1.0 и выше потребуется модифицированный пакет cramfstools http://sourceforge.net/​projects/​cramfs/​ +
- +
-patch: +
-<​code>​ +
---- linux/​cramfs_fs.h_orig 2002-02-20 11:​03:​32.000000000 +0300 +
-+++ linux/​cramfs_fs.h 2014-06-26 17:​56:​28.454219511 +0400 +
-@@ -18,7 +18,7 @@ +
-  ​*+
- #​define CRAMFS_MODE_WIDTH 16 +
- #​define CRAMFS_UID_WIDTH 16 +
--#define CRAMFS_SIZE_WIDTH 24 +
-+#define CRAMFS_SIZE_WIDTH 26 +
- #​define CRAMFS_GID_WIDTH 8 +
- #​define CRAMFS_NAMELEN_WIDTH 6 +
- #​define CRAMFS_OFFSET_WIDTH 26 +
-</​code>​ +
- +
-Бинарная сборка утилит ​[[http://​update.tvip.ru/​utils/​cramfs-1.1_i386.tgz|cramfstools]] для платформы linux i386 +
- +
-Распаковка rootfs в папку current_rootfs:​ +
-<​code>​ +
-./cramfsck -x current_rootfs rootfs.img +
-</​code>​ +
-Создание образа rootfs +
-<​code>​ +
-cd current_rootfs +
-../mkcramfs . ../​newrootfs.img +
-</​code>​+
  
custom_firmware.1410329783.txt.gz · Последние изменения: 2014/09/10 10:16 — Vladimir Manov