iPod改造 その2 Rockboxを書き換える

◆前回のあらすじ◆
iPodで使用可能な240GB HDDを入手したみんは、無事に愛機iPod VideoのHDDを240GBへと交換終了し、これで容量3倍だーっ!と喜んだのも束の間、実装したRockboxがブートエラーを起こし、起動不能状態となってしまったのだ。

PANIC
Unsupported physical sector size: 4096

こりゃあ困った。と、早速調べたところ、RockboxのMAX_PHYS_SECTOR_SIZEというパラメーターを1024から4096に書き換えれば良いとのこと。ふーん、どっかにそんなiniファイルでもあったかいな?と思いあちこち覗いてみたが見当たらず。よくよく読んでみると、iniやconfigファイルの編集とかではなく、ソースファイルから編集してプログラム自体をコンパイルしろという事態となっている事が判明。

ええええーっ、たった4文字のためにソースをダウンロードして変更の上コンパイルするんですかあ?なんかハゲシク面倒くさいことになったよ、と思ったものの、Rockboxなしではせっかくの240GB環境もヌカにクギ(違)なので、腰を据えて対応しましたよ。

コンパイル方法については本家サイトのドキュメントを始め、あちこちに情報提供サイトがあるんですが、物の分かっていないみんは失敗にも直面し、完了までちょっと手間取りました。とはいえ日々新しくなってゆくRockboxですので、新しいバージョンに対応する際にはまた同じアクションが必要となるため、今後のために手順を記録しておくこととしました。

そんな訳で、以下はRockboxコンパイルのための備忘録です。

rockboxのドキュメントインデックス
Rockbox Documentation Index
For Developers/Getting Started & Compiling

Cygwinをインストールする
http://www.rockbox.org/wiki/CygwinDevelopment

rockboxコンパイルは本来はUnix/Linuxで行うが、Windows環境ではCygwinのランタイムライブラリを使用してコンパイルすることができる。

  1. www.cygwin.comからsetup.exeをダウンロードする
  2. setup.exeを実施。missing .sig fileエラーが出たので、コマンドからオプション -X を追加して再実施
  3. Root Install Directory --> デフォルトでC:\Cygwin
  4. Local Package Directory(パッケージのダウンロード先) --> C:\Cygwin\Installation
  5. リストされた中から任意のサイトを選んで、以下のパッケージをインストール
      • Archive - zip
      • Archive - unzip
      • Devel - binutils
      • Devel - gcc
      • Devel - gcc-mingw-core
      • Devel - gdb (if you want to debug simulator code)
      • Devel - make
      • Devel - mingw-runtime
      • Devel - patchutils
      • Devel - subversion
      • Editors - nano (to change the cross compiler path)
      • Interpreters - perl
      • Text - tetex-base (if you want to build the manual)
      • Text - tetex-extra (if you want to build the manual)
  6. setup.exeを再実施。URLにhttp://download.rockbox.org/cygwin/を追加してAdd
  7. 追加されたhttp://download.rockbox.org/から以下のパッケージをインストール
  8. /etc/profileファイルの「PATH=」行に、cross compiler directoryパスを追加
    • -->$PATH の前に :/opt/sh/bin:/opt/m68k/bin:/opt/arm/bin をインサート。viにて編集。

Cygwinの環境は一度作ってしまえばいいのだけど、PCが潰れてHDD入れ替え&全ソフト再インストールというような事態が私のPCではままある事(考えてみれば恐ろしい事だ)なので、ちゃんと1から再構築できるようにうるさいぐらいにメモ。

◎ソースファイルの取得・コンパイル
http://www.rockbox.org/wiki/HowToCompile

  1. Cygwinを起動し、以下のコマンドを実施
    • -----------------------------------------
    • $ svn co svn://svn.rockbox.org/rockbox/trunk rockbox
    • -----------------------------------------
      • svnを使用して自動ビルドのためのソースをダウンロード
      • ダウンロード先に「rockbox」フォルダが作成され、ソースが保存される。
      • ダウンロード先はカレントフォルダ。デフォルトはhome/個人フォルダ
      • ダウンロード先フォルダ名にはスペース使用不可
  2. /rockbox/firmware/export/config/ipodvideo.hファイルのMAX_PHYS_SECTOR_SIZEを書き換え
    • -----------------------------------------
    • #define MAX_PHYS_SECTOR_SIZE 1024 --> 4096。viにて編集。
    • -----------------------------------------
  3. /rockboxフォルダにビルド用のフォルダを作成する。今回のソースRevは25600だったため、ノーマル用に25600_built、ブートローダー用に5600_bootloader、と2つのフォルダを作成
  4. Cygwin上で25600_builtフォルダへ移動し、コンパイルを実施 --> $ make
      • Platform種類は、iPod video (22)
      • メモリサイズは 64MB
      • コンパイルは (N)ormalで実施
  5. そのままzipファイルを作成 --> $ make zip
  6. 25600_builtフォルダに作成されたrockbox.zipの.rockboxフォルダをiPodへ上書きコピー
  7. Cygwin上で25600_bootloaderフォルダへ移動し、コンパイルを実施 --> $ make
      • Platform種類は、iPod video (22)
      • メモリサイズは 64MB
      • コンパイルは (B)ootloaderで実施
  8. ipodpatcher.exeをダウンロード(http://www.rockbox.org/wiki/IpodPatcher)し、25600_bootloaderフォルダへコピー
  9. Cygwin上で以下のコマンドを実施 --> $ ./ipodpatcher.exe -a bootloader-ipodvideo.ipod

これで完了。無事RockboxiPodが起動し、ディスクサイズが223GBとして認識されるようになりました。まだ170GB以上空いてます。mp3よりはサイズの大きなコーデックを使用しているにもかかわらず、あと2、3年ぐらいは楽勝で持ちそうです。
と言いつつ、それまでには、より大容量のSSDに移行できるような時代になっていそうな気配。筐体自体がダメにならないように大事に使うことにします(笑)。