1 мая 2010 г.

rockbox on cowon

Не так давно мне предоставилась счастливая возможность пополнить ряды обладателей, не побоюсь этого слова, самого лучшего портативного плеера в мире марки cowon. Для непросвященных могу лишь сказать что cowon d2 стал обладателем нескольких наград в престижных интернет и печатных изданиях. Собственно говоря, поэтому мой выбор пал на обновленный d2 - d2+.
Как на любом другом плеере в cowon прошивка проприетарная. Однако, как мне стало известно, существуют и открытые прошивки для таких портативных устройств как муз. плееры. Покопавшись в сети, ничего подобного даже близко к RockBox-у я не нашел. Масштабность и мощь проекта впечатляет. RockBox стартовал аж в 2001 году - на тот момент я о mp3 плеерах вовсе ничего не слышал :) . Так вот, обсуждать встроенную прошивку мы конечно не будем (должен заметить прошивка сделана вполне с умом) - это тема для "других" блогов. Сегодня я поделюсь о первом использовании rockbox-а на cowon d2+.
Есть несколько способов поставить rockbox. Первый из них - это скачать автоматический инсталлятор RockBox Utility со всевозможными визардами. Второй - скачать билд для определенной модели плеера и пропатчить родную прошивку загрузчиком. Ну и третий способ - по которому собственно я и пошел - это скачать сорцы и скомпилить :)
Что нам для этого нужно:
  1. Собственно исходы rockbox. Я взял последний релиз. Для любителей всего самого свежего есть доступ к svn.
  2. GCC компилятор собранный под архитектуру процессора плеера. В моем случае это arm.
  3. Линкер из пакета binutils так же собранный под архитектуру процессора плеера.
  4. Родная проприетарная прошивка. Можно взять туже самую что была установлена на плеере. К примеру 2.13.
  5. Патчер прошивки. Необходим для внесения изменений в родную прошивку, с целью загрузки rockbox-а. Патчер есть в исходниках rockbox-а.
Теперь обо всем поподробнее.
Скачиваем сорцы, распаковываем:
wget http://download.rockbox.org/release/3.5.1/rockbox-3.5.1.7z
p7zip -d rockbox-3.5.1.7z
cd rockbox-3.5.1/tools
Далее нужно собрать gcc для arm архитектуры. Можно собирать самому, а можно воспользоваться скриптом из поставки сорцов. Скрипт выкачивает и собирает "предпочтительные" версии gcc-core и binutils:
./rockboxdev.sh (выбираем arm) 
Ставим переменные окружения нового компилятора:
export PATH=$PATH:/usr/local/arm-elf/bin
Собираем собственно rockbox:
cd ..
./tools/configure (выбираем 33, потом N)
make
make zip
Собираем загрузчик для rockbox:
mkdir btldr
cd btldr
./../tools/configure (выбираем 33, потом B)
make
Теперь нужно собрать утилиту для патчинга родной прошивки собранным загрузчиком rockbox:
cd ../rbutil/mktccboot
make
Скачиваем родную прошивку:
wget http://www.cowonglobal.com/download/Firmware/cowonD2+/D2N_P_2.13.zip
unzip D2N_P_2.13.zip
Патчим:
cp ../../btldr/bootloader.bin bootloader.bin
./mktccboot D2N_P.bin bootloader.bin D2N_P_patched.bin
Получившуюся патченную прошивку кладем в корень плеера (как при обычномобновлении).  Распаковываем rockbox.zip в корень SD-карты. Теперь при включении резко ставим рычажок в положение hold (блокировка) до появления логотипа rockbox.
Осталось только воспользоваться всеми "прелестями" опенсорцной прошивки.

Комментариев нет: