русская сторона шу - Прошивка Rockbox: личный опыт [entries|archive|friends|userinfo]
shoo

[ website | sh.blog ]
[ userinfo | ljr userinfo ]
[ archive | journal archive ]

Прошивка Rockbox: личный опыт [Nov. 11th, 2006|03:07 pm]
Previous Entry Add to Memories Tell A Friend Next Entry
Disclaimer: нижеследующий материал ни в коем случае не следует рассматривать, как рекомендацию попробовать выполнить описанную процедуру лично. Если в ходе прочтения возникнет подобное желание, я снимаю с себя всякую ответственность за результат, который может радикально отличаться от полученного мной.


Речь пойдёт о моих личных впечатлениях от альтернативной прошивки Rockbox для популярных моделей персональный аудиоустройств. В данном случае я буду говорить применительно к iPod, однако стоит иметь в виду, что данная прошивка существует также для ряда моделей плееров Archos, iRiver и iAudio. Прошивка добавляет дополнительную функциональность (прямая загрузка музыки на плеер, дополнительные форматы файлов, кроссфейдинг, скиннинг — смена интерфейса и т.д.), прошивка не является заменой оригинальной, она её всего лишь дополняет, однако для её работы необходимы деструктивные (”хакерские”) действия с оригинальным загрузочным сектором плеера. Также говорят, что эта прошивка сильнее кушает батарею, но вот этого я проверить, к сожалению, не смог. Я и на оригинальной никогда до конца батарею не выпользовал, не было случая, хотя и заряжаюсь всего раз в два-три дня, а слушаю часов по пять в день.

Забегу вперёд — это типичный опенсорс-проект со всеми характерными таким проектам проблемами. Впрочем, обо всём по порядку.

Ставится эта прошивка очень нетривиально. Процесс не может быть автоматизирован в принципе, по крайней мере, для iPod. Почему? Да потому, что оригинальная прошивка iPod nano (на котором я ставил эксперимент), начиная с версии 1.2 (когда в него добавили спортивную функциональность от Nike) и далее, к версии 1.3 (текущая) в области загрузочного сектора несколько менялась с каждым шагом версии, учесть всё это для инсталлятора было бы довольно сложно — приходилось бы сделать несколько дампов прошивки, приходилось бы её тестировать каждый дамп… так что создатели прошивки целиком полагаются на пользователя. И это правильно, я считаю. Меньше ответственности.

Как ставил это чудо инженерной мысли я? Сначала я скачал образ загрузочного сектора для iPod nano, затем две утилиты — ipodpatcher и ipod_fw. При помощи ipodpatcher я определил цифровой маркер для подключенного iPod, который далее задавался в качестве параметра при дампе и возврате в устройство оригинальной прошивки. После определения цифрового маркера, я слил загрузочный сектор, затем я вырезал из него фрагмент с операционной системой, далее, постольку поскольку версия прошивки у меня была 1.3, мне пришлось отделить от результата Broadcom’овский фрагмент, далее из фрагмента загрузочного сектора, предоставленного Rockbox и оригинальной операционной системы я собрал новый загрузчик (при этом, постольку, поскольку у меня была прошивка версии 1.3 в качестве опции формовщика мне пришлось указывать не “nano”, а очень даже “video” — это совсем другой класс iPod’ов, убейте, не знаю почему так, но так сказано в инструкции, и это сработало), и, наконец, влить это всё обратно.

Нетривиальная последовательность для среднего пользователя, не правда ли? К чести разработчиков — вся последовательность очень хорошо документирована.

Дальше веселее. Мы установили только загрузочный сектор. Сам дистрибутив системы ставится в корневую директорию носителя проигрывателя и выглядит, как ядро (в моём случае, rockbox.ipod) и директория с файлами и настройками (.rockbox). И вот с этим самым дистрибутивом очень весёлая ситуация. Официально он делится на три ветви — Stable, Daily и CVS. Вроде бы, всё нормально, но… Stable — только для Archos. Для всех остальных нужно ставить Daily. Это потенциально нестабильно, поскольку считается (и порой это подтверждается на практике), что каждая перекомпиляция потенциально опасна. Это как с лампочкой — она обычно перегорает в момент включения или выключения. Что касается CVS-сборки (в которой обновления происходят “на лету”, в ходе, непосредственно, разработки), так это вообще страх и ужас, постольку, поскольку разработчики хоть и большие асы, но и на старуху бывает проруха.

Но повергающая в уныние картина была бы неполной, без упоминания того факта, что в официальной сборке отсутствуют многие интересные вещи. Например, демонстрация обложек проигрываемых альбомов, работа с last.fm, некоторые минорные функции, такие, как настройки скорости джог-дайла… и тут на сцену выходят неофициальные сборки. Любой Вася с бугра может взять официальный дистрибутив и накладывать на него любые патчи, свободно распространяя его. На форуме разработчиво я таких Вась насчитал голов 15. У 5 из 15 в треде стонали пользователи “Вася, ты где, реши мою проблему — плеер стёр все мои файлы, выпил всё моё пиво и ушёл с моей женой в неизвестном направлении, ты не мог бы это пофиксить в следующей версии?” Остальные десять на плохом английском завлекали пользователей огромными надписями “Э, СЛЮЩАЙ, ПО ТВОЕЙ ПРОСЬБА НАЛОЖУ ЛЮБОЙ ПАТЧ, НА КОТОРЫЙ ТЫ МНЕ ДАЩЬ ССЫЛКА”. И, судя по всему, так и делают. Я выбрал одного такого джигита, который заманчиво обещал взаимодействие с last.fm, но в итоге никакого взаимодействия я не получил, ибо обещанный файл .scrobbler.log в корневом каталоге так и не создавался — я устал слушать музыку вдоль и поперёк, а файла всё не было. В ветке форума, посвящённой этой сборке, я обнаружил, что я не одинок в своём горе, а автор на все вопросы разводил руками и говорил: “Э, НЕ ЗНАЮ, СЛЮШАЙ, МОЖЭТ, У ТЕБЕ ЭМПЕТРЯ НЕПРАВИЛЬНЫЙ, ДА?”

Теперь немного о юзабилити. По умолчанию Rockbox загружается с такой темой, что хоть вешайся. Русских букв нет, всё мелкое, всё в тексте — ну, прям, как первая итерация установки RedHat 6.2 в своё время. Настроек столько, что в них начинаешь путаться, а навигация по ним радикально отличается от навигации в оригинальной прошивке, причём не в лучшую сторону — в частности, кнопка “Menu” возвращает не на один шаг назад, а сразу на все, что сильно сбивает поначалу. Впрочем, мы ставим какую-нибудь понравившуюся тему (выбор кажется большим, но хороших, неглазоломных и эргономичных, в действительности, очень мало), компилируем адекватный русский шрифт из bdf в fnt (здравствуй, здравствуй линуксовый X11R6, ранние версии!), и всё у нас, вроде бы, в порядке. В оригинальную прошивку мы можем вернуться при помощи соответствующей опции меню Rockbox.

А теперь слушайте музыку, но будьте готовы к неясным проблемам. Я не знаю, почему у меня завис плеер при переходе с Freestylers на Ассай — хотя подлозреваю, что завис он на чтении русского тэга. Я не знаю, почему не писался .scrobbler.log — оставлю это на совести автора. Я не знаю, почему плеер выключился через 10 минут воспроизведения — вернее, я не знаю, почему это запрограммировано в конфиге по умолчанию. Я не знаю, почему вместо этого он по умолчанию не прочитал iTunesDB с плеера, хотя такая опция есть в настройках — я хорошо представляю себе какого-нибудь Петю из Техаса с вопросом после такого выкрутаса “Ай донт эрейз энифинг, со вез май факинг мьюзик?” (примерный перевод “Nifiga sebe, — сказал я себе. — Gde moi zapasy na zimu?”)

По совокупности поставленных вопросов я удалил директорию .rockbox, файл rockbox.ipod и вернул на место оригинальный загрузочный сектор.

Nevermore!


 * оригинал записи находится на sh.blog. Там сейчас комментариев. Вы можете комментировать здесь, в ЖЖ, или комментируйте это непосредственно в блоге, используя OpenID или зарегистрировавшись.
LinkLeave a comment

Comments:
[User Picture]
From:[info]xeonium@lj
Date:November 11th, 2006 - 08:33 am
(Link)
On Planet Linux its always 1994.
[User Picture]
From:[info]ex_ex_5h001@lj
Date:November 11th, 2006 - 09:16 am

RE: Reply to your post...

(Link)
Да здравствуют ОС, скачивающие коммунизм.
[User Picture]
From:[info]ex_foxthrottle@lj
Date:November 11th, 2006 - 08:44 am
(Link)
вах, как всё знакомо!
[User Picture]
From:[info]magni_t@lj
Date:November 11th, 2006 - 12:29 pm
(Link)
хмм...

использую рокбокс на айривер Н10.
сначала использовал дэйли, потом поставил кустомный билд сделанный умельцами с форумов misticriver.net (с наложенными патчами на альбумарт, ластфм и еще какието функции которыми я не особенно пользуюсь)
были многочисленные глюки - перепрыгивания посреди песен, прерывания звука, "зависания" плеера.
я недели две не менял прошивку изза красиво заскиненого интерфейса. а потом меня задолбало и я перешел обратно на дэйли билды. интерфейс хоть и убогий но не глючит ничего.

почему использую рокбокс? оригинальная прошивка айривер Н10 дико тормозная - это бесит(