1

Тема: Кастомизируем прошивку (как разобрать и собрать прошивку)

Кастомизируем прошивку (как разобрать и собрать / модифицировать прошивку)

Добрый день всем! Есть такая интересная железка HDP500, и конечно же есть есть к ней прошивки, которыми разработчики этой железки нас иногда балуют. Правда в них нас не всегда и не все устраивает, о чем мы пишем разработчикам с соседней теме и они, в меру сил своих, удовлетворяют наши потребности. Правда от соответствующего предложения, до внедрения его программистами в новую прошивку (если оно было принято к рассмотрению) может пройти долгое время, а «опробовать» хочется уже сегодня. Так что делать? Конечно же  заняться этим самостоятельно smile. Итак, тем кто дочитал до этого места, т. е. энтузиастам «кастомщикам», таким как я, хочу сказать, что редактировать прошивку очень просто, главное иметь свободное время и желание этим заняться. Перейдем к делу!

Прежде чем описать по шагам весь процесс хочу предупредить:
1. ВНИМАНИЕ! Неправильная модификация прошивки может вывести из строя вашу железку или привести к нестабильности ее работы. Если вы решите, что-то сделать с прошивкой имейте в виду, что восстанавливать работоспособность в случае неудачи будете самостоятельно! Описание процесса восстановления и перепрошивки есть в мануале к вашей железке и неоднократно обсуждалось на форуме, так что писать письма «я сделал, а оно теперь не работает» - это не ко мне! Читайте, вся инфа по этому вопросу есть.
2. Модифицировать прошивку можно не только для HDP500, но и других(подобных) железок, имеющих pkg файлы, и хотя в этой теме обсуждается именно HDP500, никто не мешает владельцам других железок взять данный мануал на вооружение smile
3. Было бы неплохо, если бы вы поделились своими результатами в кастомизации прошивок с другими и тем самым сэкономили им кучу времени smile

Разбираем прошивку
 
Первое, что нам потребуется это операционная система линукс. Собственно сама железка на нем работает так что неудивительно, что для модификации прошивки удобнее воспользоваться именно ей smile. Все операции по разборке и сборке прошивки мной выполнялись в операционной системе Ubuntu Linux 11.04. Если у вас другой линукс — ничего страшного, в 95% случаев все будет также.

Итак, загрузились под линуксом, скачали прошивку, приступаем к разбору!

Файл firmware.pkg это ничто иное как образ файловой системы romfs. Кладем его в корень домашнего каталога (/home/вашеимяпользователя). Чтобы добраться до его содержимого выполняем следующие команды:
1. mkdir /media/romfs
2. mount -t romfs ~/firmware.pkg /media/romfs/ -o loop

Первая команда создает папку, куда будет примонтировано содержимое файла прошивки, вторая монтирует образ ROMFS  из файла прошивки в указанный каталог.
Итак, заходим в media/romfs  и смотрим, что у нас там есть...
1. cd /media/romfs
2. ls

А есть у нас там папка «обновления» bin, восемь файлов nblock1,nblock2,..,nblock8 и файл version (в нем номер версии прошивки). Файлы nblock2,nblock3,nblock4,nblock5,nblock7 — это опять таки образы ROMFS, нас они пока не интересуют (кому будет интересно, примонтирут их и посмотрит что внутри). А вот файл nblock8 — это то что нам надо! В нем содержится файловая система нашего медиабокса! Файл представляет из себя образ ext3. Далее выполняем следующие команды:
1. mkdir ~/unpackedfw
2. cp -R /media/romfs/ ~/unpackedfw/
3. mkdir /media/nblock8
4. mount -w ~/unpackedfw/romfs/nblock8 /media/nblock8/ -o loop

Первая команда создает папку в домашнем каталоге пользователя для хранения «внутренностей» прошивки, вторая копирует туда содержимое прошивки, третья создает папку, куда мы примонтируем содержимое файловой системы плеера, четвертая монтирует фс плеера в папку /media/nblock8 на запись. Если на пред. шагах все сделали правильно выполнив команду «ls /media/nblock8» вы увидите содержимое ФС плеера! Поздравляю! Можно кастомить все, что хотим!

Например заменить иконки на те, что вам нравятся больше, они находятся в папке /media/nblock8/tango3/qtdfb/bin/images
Или открыть доступ к телнету, или.. в общем, все что пожелаем ))

После кастомизации не забудьте отмонтировать файл с фс плеера выполнив следующую команду:
1. umount /media/nblock8

Собираем прошивку

Итак накастомив в волю, мы задаемся вопросом, а как нам это собрать обратно??
А очень просто! Для этого нам нужна утилита genromfs. Для сборки прошивки делаем следующее:
1. sudo apt-get install genromfs
2. genromfs -d ~/unpackedfw/romfs/ -f ~/firmwaremod.pkg -V 'uNOVAROM'

Первая команду нам потребуется выполнить всего один раз, она скачивает и устанавливает утилиту genromfs, необходимую для генерации образов ROMFS (в последствии выполнять ее уже не нужно), вторая создает нам в домашней папке пользователя файл с нашей модифицированной прошивкой, с именем firmwaremod.pkg. Заливаем его в плеер и радуемся результатом (или нет, если мы где-то накосячили). smile

Если вы работаете не из под суперпользователя добавляйте перед каждой выполняемой командой слово sudo (например: sudo mkdir /media/romfs)

P.S: У кого, что получилось отпишитесь в теме. Если есть вопросы, кидайте в личку, постараюсь ответить, хотя не обещаю (в посл. время много работы и не всегда оставшегося времени хватает на подобные изыскания).
P.S.S: С добавлением софта немного сложнее. Нужно ставить тулчейн и компировать уже под конкретный сигмовский проц (в данном случае smp8653). С установной тулчейна разобрался, а вот собрать что-то пока не хватает времени (как появится — отпишусь о результатах).

2

Re: Кастомизируем прошивку (как разобрать и собрать прошивку)

Это на какой?  smile  Здесь, по моему, вполне либеральный саппорт. Я же их не парю вопросами типа: "а как сделать чтоб торрент раздавал или какой пароль у телнета", сам разбираюсь и с другими делюсь результатами. Им же лучше - меньше парят  smile

3

Re: Кастомизируем прошивку (как разобрать и собрать прошивку)

Прикольно, специально линукс поставил и разобрал прошивку. Поменяю картинки и попробую обратно собрать прошивку.

4

Re: Кастомизируем прошивку (как разобрать и собрать прошивку)

Так как не знал пароль рута, пробовал подменить его в файле /etc/shadow (правда не в MD5 $1$ , а  $6$)
Доступ через телнет получил.

Не удалось заставить работать transmission с авторизацией, прописал необходимые параметры , не помогло. Что можете подсказать?

Re: Кастомизируем прошивку (как разобрать и собрать прошивку)

После окончания гарантии, можно сообщить root пароль для telnet  smile
Login: root
Password: aktdlTsmsrj