четверг, 7 октября 2010 г.

HDX BD-1. Hack. Исследуем upgrade.zip. (1)

Новая версия прошивки распространяется в файле, который называется примерно так: "HDX BD1 Firmware 4.20.zip"

Немного поразбираемся с устройством этого файла.
Что там внутри zip-а?
akhromov@x200s:~/stuff/bd/firmware/4.20$ unzip "HDX BD1 Firmware 4.20.zip" Archive: HDX BD1 Firmware 4.20.zip creating: upgrade/ inflating: upgrade/upgrade_data.img inflating: upgrade/imaterial.romfs inflating: upgrade/zbimage-linux-xload_safemode.dat inflating: upgrade/zbimage-yamon-xload inflating: upgrade/phyblock0-0x20000padded.957-E1.dat inflating: upgrade/zbimage-linux-xload.dat inflating: upgrade/xmaterial.romfs inflating: upgrade/zbimage-linux-xload inflating: upgrade/sigma.bin inflating: upgrade/zbimage-linux-xload_safemode inflating: upgrade/phyblock0-0x20000padded.957-E1 akhromov@x200s:~/stuff/bd/firmware/4.20$ cd upgrade akhromov@x200s:~/stuff/bd/firmware/4.20/upgrade$ ls -la total 197852 drwxrwxrwx 2 akhromov akhromov 4096 2010-08-13 13:11 . drwxr-xr-x 3 akhromov akhromov 4096 2010-10-07 12:54 .. -rwxrwxrwx 1 akhromov akhromov 3837952 2010-08-11 13:36 imaterial.romfs -rwxrwxrwx 1 akhromov akhromov 131072 2010-08-11 13:36 phyblock0-0x20000padded.957-E1 -rwxrwxrwx 1 akhromov akhromov 131348 2010-08-11 13:36 phyblock0-0x20000padded.957-E1.dat -rwxrwxrwx 1 akhromov akhromov 8388608 2010-08-11 13:37 sigma.bin -rwxrwxrwx 1 akhromov akhromov 162529280 2010-08-11 13:37 upgrade_data.img -rwxrwxrwx 1 akhromov akhromov 138240 2010-08-11 13:37 xmaterial.romfs -rwxrwxrwx 1 akhromov akhromov 7697408 2010-08-11 13:37 zbimage-linux-xload -rwxrwxrwx 1 akhromov akhromov 7697684 2010-08-11 13:37 zbimage-linux-xload.dat -rwxrwxrwx 1 akhromov akhromov 5911552 2010-08-11 13:37 zbimage-linux-xload_safemode -rwxrwxrwx 1 akhromov akhromov 5911828 2010-08-11 13:37 zbimage-linux-xload_safemode.dat -rwxrwxrwx 1 akhromov akhromov 194560 2010-08-11 13:37 zbimage-yamon-xload akhromov@x200s:~/stuff/bd/firmware/4.20/upgrade$
По мере надобности разберемся со всем, но сейчас нам наиболее интересен файл upgrade_data.img. В нем как раз и находится новая версия прошивки HDX BD-1. Он представляет собой RAW архив обычных файлов.

Ну а раз так, то:
$ sudo mount -o loop upgrade_data.img img
Смотрим, что внутри:
akhromov@x200s:~/tmp/img$ ls -la total 6002 drwxr-xr-x 8 root root 2048 2010-08-11 13:35 . drwxr-xr-x 3 akhromov akhromov 4096 2010-10-07 15:02 .. drwxrwxrwx. 4 root root 2048 2010-08-11 13:35 bdj -rwxrwxrwx. 1 root root 5821617 2010-08-11 13:35 bin.dat -rwxrwxrwx. 1 root root 144 2010-08-11 13:35 bootscript -rwxrwxrwx. 1 root root 2225 2010-08-11 13:35 check_dsp.bash -rwxrwxrwx. 1 root root 359 2010-08-11 13:35 fw_reload_t3.bash -rwxrwxrwx. 1 root root 157084 2010-08-11 13:35 imaterial.romfs_upgrade.tar drwxrwxrwx. 4 root root 6144 2010-08-11 13:35 lib drwxrwxrwx 2 root root 16384 2010-08-11 13:35 lost+found -rwxrwxrwx. 1 root root 338 2010-08-11 13:35 mbox_version.sh drwxrwxrwx. 10 root root 2048 2010-08-11 13:35 netapp drwxrwxrwx. 5 root root 2048 2010-08-11 13:35 qt -rwxrwxrwx. 1 root root 3273 2010-08-11 13:35 run.env -rwxrwxrwx. 1 root root 3128 2010-08-11 13:35 run_mbox drwxrwxrwx. 2 root root 2048 2010-08-11 13:35 sample_config -rwxrwxrwx. 1 root root 204 2010-08-11 13:35 setting.cfg -rwxrwxrwx. 1 root root 204 2010-08-11 13:35 setting.cfg_org -rwxrwxrwx. 1 root root 2832 2010-08-11 13:35 sigma.bin.tar -rwxrwxrwx. 1 root root 1122 2010-08-11 13:35 unload_imat.bash -rwxrwxrwx. 1 root root 25763 2010-08-11 13:35 unzipuppkg -rwxrwxrwx. 1 root root 1411 2010-08-11 13:35 upgrade.sh -rwxrwxrwx. 1 root root 317 2010-08-11 13:35 which_chip.bash -rwxrwxrwx. 1 root root 2310 2010-08-11 13:35 xlu_load_t3.bash -rwxrwxrwx. 1 root root 1519 2010-08-11 13:35 xlu_unload_t3.bash akhromov@x200s:~/tmp/img$
Смотрим в каком формате записан .img:
akhromov@x200s:~/tmp$ mount . . . . . . . . . /dev/loop0 on /home/akhromov/tmp/img type ext2 (rw)

Поскольку файловая система смонтирована на чтение и запись, мы можем свободно редактировать и изменять файлы.

Осталось только размаунтить устройство: $ sudo umount /home/akhromov/tmp/img
Все изменения автоматически сохраняются в файле upgrade_data.img

Вуаля! А не какая не "Виола".

Что это нам дает?
Мы можем по взрослому делать кастомные прошивки для нашего HDX BD-1!


PS. Планирую открыть проект создания репозитория для HDX BD-1 аналогичного, как для Asus WL500gP.
В принципе все понятно. Компилятор есть, image мы править можем.
Что думаете? Есть желание присоединиться?


PPS. Хочу побладарить участников конференции HD плеер HDX BD-1 с iXBT.com, благодаря которым многое стало ясным.


Полезные ссылки:

четверг, 30 сентября 2010 г.

Midnight Commander для HDX BD-1

Да благословенен Великий Google, с помощью которого я собрал midnight commander для HDX BD-1. Это пока ночная сборка, с отключенными фичами и вообще никакая, но работает. Позже отлакирую. А пока берите, что есть.

Архив и инсталлятор скачивайте по ссылкам:
mc-bd1.tar.gz


Для желающих повторить, углубить и расширить даю ссылку на мои неполные how to: http://antisclerosis.forumup.com/viewtopic.php?t=39&mforum=antisclerosis

Права на файлы проверьте сами. Если что, поменяйте.

Для инсталляции:
  1. скачайте архив
  2. запишите его, например, на флешку
  3. подключите флеш к bd-1
  4. выполните следующие команды
# cd /USB_Media/sdc1 # tar -zxvf mc-bd1.tar.gz # cd mc-bd1 # chmod 777 install-mc.sh # ./install-mc.sh
PS. В зависимости от того, куда вы вставите флешку в первой команде может быть придется использовать путь /USB_Media/sda1 или /USB_Media/sdb1.
Если по какой либо причине (неверные права на файлы) не скопировались линки, то выполните следующие команды:
# cd /usr/lib # ln -s libslang.so.2.2.2 libslang.so.2 # ln -s libgmodule-2.0.so.0.2200.5 libgmodule-2.0.so.0 # ln -s libglib-2.0.so.0.2200.5 libglib-2.0.so.0
В директории /usr/lib должны быть такие файлы:
# ls -la /usr/lib drwxrwxrwx 2 3043 default 0 Dec 31 17:25 . drwxrwxrwx 7 3043 default 0 Dec 31 1999 .. lrwxrwxrwx 1 root root 23 Dec 31 17:25 libglib-2.0.so.0 -> libglib-2.0.so.0.2200.5 -rwxr-xr-x 1 root root 1514509 Dec 31 17:06 libglib-2.0.so.0.2200.5 lrwxrwxrwx 1 root root 26 Dec 31 17:25 libgmodule-2.0.so.0 -> libgmodule-2.0.so.0.2200.5 -rwxr-xr-x 1 root root 18205 Dec 31 17:06 libgmodule-2.0.so.0.2200.5 lrwxrwxrwx 1 root root 17 Dec 31 17:24 libslang.so.2 -> libslang.so.2.2.2 -rwxr-xr-x 1 root root 1427427 Dec 31 17:06 libslang.so.2.2.2 #
После перезагрузки плеера midnight commander будет удален из памяти

пятница, 24 сентября 2010 г.

HDX BD-1. Вышла прошивка версии 4.21-rc2

Эксперементаторы могут скачать здесь: upgrade.zip_hdx_4.21.0.rc2.zip

Китайцы говорят, что этот релиз прибавил в стабильности, и решил вопросы с неработающей Samba предыдущей версии. По поводу Samba ни подтвердить, ни опровергнуть не могу, поскольку не использую, а в остальном - да.

Кроме того есть небольшие достаточно серьезные улучшения изменения интерфейса.

Релиз 4.20 был изрядно тормознутым. Здесь эта проблема решена.
Четыре темы, что и в предыдущем релизе:


Настроийки теперь выглядят вот так. Поскольку это промежуточный релиз, китайского языка слишком много.




Музыка, фильмы и фотографии проигрываются из того места, где найдутся. Опять слишком много китайского. Русские теги, записанные в кодировке UTF-8 декодируются неправильно.
Ресурсы NFS открываются сразу, без паролей, если они принадлежат пользователю 1000 из группы 1000.
Если же пользователь или группа будут отличаться от указанных выше, будет запрошен логин/пароль на подключение.


С браузером почти ничего не изменилось. Китайцы убрали панель меню и теперь непонятно как его закрыть.




В общем получается очень хорошая вещь. Только долго очень.