|
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!
|