Неофициальный клуб пользователей HD видео плеера WD TV


»Юзер: »Пароль:   Запомнить? 
WDTV Forum / Форум про WD TV Live / Полезная информация / Разборка и сборка прошивки WDTV Live
Написано:  02 Дек 2010 12:31
Я ж давал ссылку со скриптами и утилитами для сборки и разборки прошивки. У меня с помощью этого набора всё работает. Файл md5sum.txt всегда пересоздаю командой:
Код:

find -type f -print0 | xargs -0 md5sum > md5sum.txt

Эту команду надо выполнять находясь в корне распакованной прошивки. Потом из получившегося файла md5sum.txt я удаляю строку с суммой файла md5sum.txt.

По-моему всё предельно просто.
Написано:  02 Дек 2010 13:33   Отредактировано: Gastello
Этим то набором и пользуюсь, вот порядок их использования, это другое, это если хотетите все ровно, что мейкить  squid не сконфигурировав его на  работу AD, что как оказываеться значительно проще чем собрать прошивку. Вот к примеру  то что
Код:

find -type f -print0 | xargs -0 md5sum > md5sum.txt


Надо делать в корне самой прошивки т.е. в папке wstvlive я от вас сдеся слышу в первые.

Знаете, я уже убедился на своем горьком опыте, что отсутствие нормальной документации и ведет к морю глупых и не очень вопросов. Можно привести пв пример меня. Я знаю, что Вам кажется, что я задаю очень много глупых вопросов. НО. Беда в том, что проверенной, полной  и сведенной документации по разборке и сборке в WIN и LInux, в одном посте или в FAQ попросту нет. Кто пишет, что и без мейджика все идет, а у  кого-то. Кто-то проверяет сумму с собранного образа, а потом катит его уже в бинарник, кто-то делает по вашему методу. У кого то собираеться и работает все на 5+, а у кого то ни гугу, хоть и делал как надо. И в итоге полный разброд и куча вопросов. Я бы даже сам написал FAQ по разбору и сбору в иксах, если бы  сумел понять и разобрать в этой каше истину. Каше и ни как по другому не назовешь.

По этому прошу не серчать, а просто внятно объяснить, что откуда вытекает.
Написано:  02 Дек 2010 14:03
Цитата:
Надо делать в корне самой прошивки т.е. в папке wstvlive я от вас сдеся слышу в первые.

Неправда, я уже писал об этом. См. мой пост от 01 Дек 2010 11:33.
Написано:  02 Дек 2010 14:08
Предлагаю разобрать последнюю прошивку брада а потом ничего не меняя собрать назад.. должно быть идентичное от того и выработать правильную технологию.
P.S. сам не собирал не разбирал но видимо доведётся
А по поводу замены дров так есть ещё вариант - юзать EXT3-boot заменяя там всё что пожелается.
__________________
WD TV Live (1.02.21-..-0.4.7.3)
Для пива: WM R161810775332(руб);WM Z114867333413($);WM U219453404899(грн); Я.Money:410011402801986
Filmsonline, русский поиск ->Мэйл<- IPTV
Написано:  02 Дек 2010 14:19   Отредактировано: alukard
Разбирал как раз последнюю. Ни чего не добавляя вчера вечром получил фигу ведро не уидело прошивку.  А EXT3-boot юзать не сподручно, т.к. флеха должна стоять постоянно,  а это значит занятые все порты WF-FI+флеха, и смыл весь вафли теряеться качатьто кудато надо А на сколько мне известо ведро не дружит с юсб хабами.

Цитата:
Неправда, я уже писал об этом. См. мой пост от 01 Дек 2010 11:33.

ОЙ!!! ПРОШУ ПРОСЧЕНИЯ!!! Реально ступил, бывать, прошу еще раз, на меня не обижайтесь) Мозг совсем старый стал.
для цитат есть свой тег

ПРЕДЛОГАЮ СОСТАВИТЬ НОРМАЛЬНЫЙ!!! ПОЛНЫЙ!! ФАК!!! ХОТЯБЫ ПОД LINUX!!! МОГУ НАЧАТЬ И СДЕСЬ ВЫЛОЖИТЬ А КТОНИБУДЬ МЕНЯ ПОТОМ ПОПРАВИТ!!!
Написано:  02 Дек 2010 14:36
для начала все таки соберите удачно прошивку,а уж потом думать выложить сюда описание или нет
__________________
Sharp LC-32X20RU + WDTV Gen2 + WDTV Live (если понравилось 41001352107159 яндекс)
Написано:  02 Дек 2010 14:44
Так над какой прошивкой эксперименты? над офф, брад , версия..
__________________
WD TV Live (1.02.21-..-0.4.7.3)
Для пива: WM R161810775332(руб);WM Z114867333413($);WM U219453404899(грн); Я.Money:410011402801986
Filmsonline, русский поиск ->Мэйл<- IPTV
Написано:  02 Дек 2010 14:52   Отредактировано: alukard
alukard
[ Скрытый текст ]

ну это лучше чем использовать тот другой тег код
__________________
WD TV Live (1.02.21-..-0.4.7.3)
Для пива: WM R161810775332(руб);WM Z114867333413($);WM U219453404899(грн); Я.Money:410011402801986
Filmsonline, русский поиск ->Мэйл<- IPTV
Написано:  02 Дек 2010 15:03
Цитата:
Так над какой прошивкой эксперименты? над офф, брад , версия.

Над бредовской.
Цитата:
для начала все таки соберите удачно прошивку,а уж потом думать выложить сюда описание или нет

Согласен но не совсем. Выложить надо, даж облизательно. Я  выложу фак, но при общем обсуждении довем его до ума. Или я не прав.?
Написано:  02 Дек 2010 15:21   Отредактировано: DJArty
Хм.. странно думал будет сложно ан нет
ну вот я за 15 мин разбирательств разобрал и собрал назад официальную версию.
md5sum на исходном .bin и на собранном одинаковы....
И что постить методу сюда? (или отдельно)
Полагаю в рекомендациях с архивом где присутствует magic.bin главная ошибка это его и применять.. - это ж сигнатура она будет разная для разных прошей.
__________________
WD TV Live (1.02.21-..-0.4.7.3)
Для пива: WM R161810775332(руб);WM Z114867333413($);WM U219453404899(грн); Я.Money:410011402801986
Filmsonline, русский поиск ->Мэйл<- IPTV
Написано:  02 Дек 2010 15:34
Цитата:
И что постить методу сюда? (или отдельно)
СЮДЫ!!!!!!!

Да и вот зацените мой вариант FAQ Сильно не бить а лучше даже помоч поправить если что не так.


Сборка и Разборка прошивок для WD TV LIVE под ОС LINUX (ASPLinux 12).
Преимущество работы под Linux, что в ней разбираются и собираются абсолютно все существующие прошивки. И все по одной простой причине, прошивка WD TV LIVE основана на Linux c ядром  2.6.22 .19…
Ну что ж  приступим, для работы на потребуется:
1)    LINUX (Качается любой дистрибутив, в сети их много рекомендую CentOS 5 или ASPLinux 14)
2)     Виртуальная машина (VirtualBox или VMware, это в том случае если вы не хотите устанавливать второй системой линукс)
3)    Набор софта для работы с прошивкой
[ Скрытый текст ]

Для редактирования:
Нужно ли после перехода в папку wdtvlive производить какие нибудь действия с файлом  md5sum.txt. Пред или после команды (find -type f -print0 | xargs -0 md5sum > image.md5) и копировать ли полученный файл image.md5    в основную дерикторию из которой будем собирать прошивку.  И вообще верный ли данный подход к сборке прошивки и какие еще действия надо произвести

Не ругаться хочу сам разобраться и помоч другим понять суть вопроса.
Написано:  02 Дек 2010 15:39   Отредактировано: DJArty
ого-с ну перепроверять не охота )
я б такой что таки отдельно написал...
Хотя.. введение в линукс (выше 75% текста) можно и оставить
__________________
WD TV Live (1.02.21-..-0.4.7.3)
Для пива: WM R161810775332(руб);WM Z114867333413($);WM U219453404899(грн); Я.Money:410011402801986
Filmsonline, русский поиск ->Мэйл<- IPTV
Написано:  02 Дек 2010 15:43
Цитата:
    DJArty

1) Лучше проверь последовательность сборки
2) И выложи свой вариант как ты только что собирал
Написано:  02 Дек 2010 17:08   Отредактировано: alukard
Вот как я это делаю:
[ Скрытый текст ]

Готово. Свежесобранная прошивка - wdtvlive.bin.new.
Написано:  02 Дек 2010 18:16   Отредактировано: DJArty
HOW-TO Сборка разборка прошивки
По поводу использования Linux для таких целей - однозначно верно.
Единственно рекомендовал бы ещё вариант. Не хотите устанавливать второй операционкой Linux (а давно пора было) - можно использовать LiveCD Ubuntu ...
Теперь к делу. (Всё что ниже практически перевод поста b-rad)
Имеем официальную прошивку а именно wdtvlive.bin
Из теории (изложенной b-rad) прошивка имеет структуру:
Код:

[32 Byte md5sum][fw cramfs image][16 Byte signature]

получить первые 32 байта поможет команда md5sum
получить сам cramfs образ помогут cramfsck-16k и mkcramfs-16k
получить последние 16 байт поможет скрипт signFW

где всё это взять:
md5sum - есть итак в дистрибутиве
cramfsck-16k и mkcramfs-16k - следует отметить что именно этих утилит в дистрибутиве линукса нет есть похожие но необходимы именно такие для работы с 16кб блоками нужными WD. Поэтому смотрим линки выше (например это или это). Или, как делал я, собираем самостоятельно из исходников cramfs-1.1-16k.tgz (там в принципе только make и всё..).
signFW - берём тут
или с помощью nano signFW (или какой там у вас редактор) наполняем содержимым (скрыто ниже)
[ Скрытый текст ]
 
и можем сделать его исполняемым командой
Код:

chmod +x signFW


Итак имеем в нашем рабочем каталоге (ls -l) :
Код:


-rwxr-xr-x 1 user user    42159 2010-12-02 15:40 cramfsck-16k
-rwxr-xr-x 1 user user    43116 2010-12-02 15:40 mkcramfs-16k
-rwxr-xr-x 1 user user      423 2010-12-02 15:39 signFW
-rw-r--r-- 1 user user 55296048 2010-12-02 15:04 wdtvlive.bin

Поехали..
По идее дальше манипулировать стоит от рута - но это ньюансы для тех кто что-то собирается править в прошивке и сам понимает что б не было проблем с пермишном - в прошивке все права на рута.. (поэтому делаем например sudo su под убунтой)
1)Распаковываем. Укорачиваем на первые 32 байта исходный бин и распаковываем содержимое прошивки в каталог dump :
Код:


tail -c +33 wdtvlive.bin > wdtvlive.stripped.bin
./cramfsck-16k -x dump wdtvlive.stripped.bin

дополнено
а лучше вот так, что б распаковщик не ругался(укорачиваем на 32 спереди и на 16 сзади)
Код:


dd if=wdtvlive.bin of=wdtvlive.stripped.bin bs=16 skip=2 count="$(($(stat -c %s wdtvlive.bin)/16-3))"
./cramfsck-16k -x dump wdtvlive.stripped.bin



2)Теперь можете заходить в dump , там раскрыта ФС офпроши, и править что вам нужно, но с умом   (не забываем вернуться оттуда сюда)
  И ёще ньюанс.. если таки чтото поправили надо ещё перегенерить файлик md5sum.txt что в корне dump командой (находясь в dump)
Код:

find  -not -name "md5sum.txt" -type f -exec md5sum '{}' ';' > md5sum.txt

  Я пункт 2 в рамках эксперимента по чистой сборке/расборке пропускал и переходил к 2а
Но перепроверял - генерится файл того же размера, но описания отсортированы в другом порядке и видимо по этому контрольные суммы самого md5sum.txt отличаются друг от друга - тут скользкий момент но отдельная тема (к тому что общая сумма всего образа таки изменится если перегенерить самостоятельно md5sum.txt даже нетронутого дампа.). А возможно не сортировка виновата в неидентичности а несовпадении контрольной суммы реального файла с тем что описано в WDшном md5sum.txt (чего теоретически не должно быть - проша б была видимо не рабочая, либо этот текстовик ничего не значит).

2а) Поскольку данный топик создан что б показать идентичность исходной и разобранно-собранной прошивки то я ничего не меняю в dump , а сразу же собираю назад. Но предварительно уберу исходный бин что б не мешал, и для последующего сравнения.
Код:


mkdir old
mv wdtvlive.bin old/
rm wdtvlive.stripped.bin


3) Собираем прошивку
Код:

./mkcramfs-16k dump/ newFW.bin

newFW.bin эта тот самый [fw cramfs image] из теории.
Т.е. надо к нему впереди добавить 32 байта контрольной суммы и сзади 16 байт подписи.

4) Генерим подпись (signature) и прилепливаем к newFW.bin  :
Код:

./signFW newFW.bin signature
cat newFW.bin signature > newFWx.bin

5) Подсчитываем контрольную сумму подписанного newFWx.bin и складываем её в пока ещё маленький (32байта) wdtvlive.bin
Код:

md5sum newFWx.bin | head -c 32 > wdtvlive.bin

6) Теперь прилепливаем к малышу остаток - newFWx.bin   (ну и удаляем ненужный уже мусор)
Код:

cat newFWx.bin >> wdtvlive.bin
rm newFW.bin newFWx.bin signature


7)Получили рабочий wdtvlive.bin
Сверим его контрольную сумму с тем что в old/ кинули ранее.
md5sum wdtvlive.bin
0f3359690dbd5ff15c9d5c3aed53ffdc

md5sum old/wdtvlive.bin
0f3359690dbd5ff15c9d5c3aed53ffdc

Совпадает - эксперимент удался

Радуемся от того что что-то прояснилось и на радостях угощаем меня пивом :о)
WMZ114867333413
WMR161810775332
WMU219453404899

__________________
WD TV Live (1.02.21-..-0.4.7.3)
Для пива: WM R161810775332(руб);WM Z114867333413($);WM U219453404899(грн); Я.Money:410011402801986
Filmsonline, русский поиск ->Мэйл<- IPTV
Написано:  02 Дек 2010 18:24   Отредактировано: alukard
может уберешь большую часть этого сообщения в скрытый вид ,а то уж слишком большое (ну и скрыть нормально работает только если 1 раз используется)
да я про сам вид смотришь и глаза разбегаются,легче с кодами все скрыть,кому нужно тот откроет
__________________
Sharp LC-32X20RU + WDTV Gen2 + WDTV Live (если понравилось 41001352107159 яндекс)
Написано:  02 Дек 2010 18:29   Отредактировано: DJArty
alukard
[ Скрытый текст ]

__________________
WD TV Live (1.02.21-..-0.4.7.3)
Для пива: WM R161810775332(руб);WM Z114867333413($);WM U219453404899(грн); Я.Money:410011402801986
Filmsonline, русский поиск ->Мэйл<- IPTV
Написано:  02 Дек 2010 22:24
Цитата:
5. Запускаю скрипт unpack.sh, в результате в текущем каталоге появляется каталог rootfs, который содержит распакованную прошивку


Прям беда не распаковывает
Код:

[root@localhost wdtvtools]# ./unpack.sh
1728000+1 записей считано
1728000+1 записей написано
скопировано 55296016 байт (55 MB), 3,77162 c, 14,7 MB/c
rm: невозможно удалить `rootfs': Нет такого файла или каталога
./unpack.sh: line 6: ./cramfsck: не могу запустить бинарный файл
Написано:  03 Дек 2010 00:04   Отредактировано: DJArty
написано ж  ./cramfsck   не находит ну или не считает его исполняемым
__________________
WD TV Live (1.02.21-..-0.4.7.3)
Для пива: WM R161810775332(руб);WM Z114867333413($);WM U219453404899(грн); Я.Money:410011402801986
Filmsonline, русский поиск ->Мэйл<- IPTV
Написано:  03 Дек 2010 09:45   Отредактировано: Gastello
Чет у меня руки значит кривые
Написано:  03 Дек 2010 10:19
DJArty

У тя файловая система какая?
Написано:  03 Дек 2010 10:22
Где именно?
__________________
WD TV Live (1.02.21-..-0.4.7.3)
Для пива: WM R161810775332(руб);WM Z114867333413($);WM U219453404899(грн); Я.Money:410011402801986
Filmsonline, русский поиск ->Мэйл<- IPTV
Написано:  03 Дек 2010 10:57
на иксах ext3, ext2  или что есчте?

Просто однажди встерчал подобную ошибку
Код:

file extends past end of filesystem
  на ext3 при распаковке файла каогото вот теперь даже фигня с прошивкой вот подумал может  сфайлвой системой что не так
Написано:  03 Дек 2010 11:11   Отредактировано: DJArty
тот же месс на ext4  Не думаю что тут есть повод о чём то беспокоиться.. вернее даже предполагаю откуда это.
В той команде распаковки от исходного образа отсекаеюся только начальные 32байта а конечные с сигнатурой нет - вот видимо при распаковке нормальной фс крамфс натыкается на непонятные ему 16 конечных байт потому видимо и ругается (можно попробовать отсечь и проверить теорию). А как второй вариант - 16 килобитность этого крамфс имиджа который пытаются развернуть в современную ФС
__________________
WD TV Live (1.02.21-..-0.4.7.3)
Для пива: WM R161810775332(руб);WM Z114867333413($);WM U219453404899(грн); Я.Money:410011402801986
Filmsonline, русский поиск ->Мэйл<- IPTV
Написано:  03 Дек 2010 11:22
Все делал по твоему факу после сборки сума разная
Написано:  03 Дек 2010 12:12   Отредактировано: DJArty
значит невнимательно
я давал разъяснение от чего она может быть разная.(если чтото изменить в dump или если перегенерить внутренний md5sum.txt самостоятельно, у вдшников какаято странная последовательность выбора файлов)
И не надо путать md5sum.txt из 2-го пункта и md5sum из 5-го
это разные вещи.
md5sum.txt из 2-го пункта это файл в котором хранятся контрольные суммы всех файлов прошивки.
а подсчёт контрольной суммы в 5-м пункте это "файл" из 32 байт содержащий контрольную сумму сжатого образа. естественно если чтото меняем внутри образа то и контр сумма поменяется.
-----
по поводу выкусывания чистого имиджа без первых 32 и последних 16 (1-й пункт хаутушки) то можно как альтернативу такое применить:
Код:

dd if=wdtvlive.bin of=wdtvlive.stripped.bin bs=16 count=ёёёёёё skip=2

где ёёёёёё надо заменить на размер wdtvlive.bin (в байтах) разделённый на 16  и отнять 3.  (Т.е. узнаём кол-во блоков по 16 байт и отнимаем 2 первых и 1 последний.). Размер смотрим хотя бы ls -l 
Можно это и в скрипт завернуть но лень.. и как оказалось для дела неособо и нужно - всеравно распаковщик ворнинг даёт.
__________________
WD TV Live (1.02.21-..-0.4.7.3)
Для пива: WM R161810775332(руб);WM Z114867333413($);WM U219453404899(грн); Я.Money:410011402801986
Filmsonline, русский поиск ->Мэйл<- IPTV
Написано:  03 Дек 2010 12:56
А у меня такая ошибка -

root@inetka-desktop:/home/inetka/wdtvlive/wdtvtools# ./unpack.sh
1728000+1 записей считано
1728000+1 записей написано
скопировано 55296016 байт (55 MB), 13,6543 c, 4,0 MB/c
./cramfsck: 3: Syntax error: "(" unexpected
хотя
root@inetka-desktop:/home/inetka/wdtvlive/wdtvtools# ls
cramfsck  magic.bin  mkcramfs  pack.sh  signFW  unpacked.img  unpack.sh  wdtvlive.bin  wdtvlive.stripped.bin
вроде всё есть...
Написано:  03 Дек 2010 13:01
Мдя собрать то собрал,  даже установилось, а вот скопированые модули не встали и фаля не запустилась. Может кто подскажет как правильно дрова для вафли вшить или вытащить из офф прошивки?
Написано:  03 Дек 2010 13:07   Отредактировано: Gastello
Кто мну теперь скажет как вернуть ведро к жизни)))

Ведро ЖИВО!!
Написано:  03 Дек 2010 13:18   Отредактировано: DJArty
Gastello
брать брадовскую или оф версию подменить номер на больший и прошить..
а по поводу модулей вайфая... где это они взялись (новые нужные)? что-то я пропустил момент когда их ктото компилил из исходников для мипс архитектуры ведра.. 
Vlad55123
./cramfsck: 3: Syntax error: "(" unexpected
такие вопросы обычно говорят о недостаточной подготовленности для распотрошивания прошивок уж сорри
Но если таки сильно хочется.. то можно выдать сюда что показывает ls -l  (и плюс на какой системе выполняется)
И не следовало бы смешавать методы разных постеров, следовать какойто одной (это я глядя на содержимое папки).
__________________
WD TV Live (1.02.21-..-0.4.7.3)
Для пива: WM R161810775332(руб);WM Z114867333413($);WM U219453404899(грн); Я.Money:410011402801986
Filmsonline, русский поиск ->Мэйл<- IPTV

Поделитесь со своими друзьями в соцсетях:

WDTV Forum / Форум про WD TV Live / Полезная информация / Разборка и сборка прошивки WDTV Live