Cygwin も mintty を採用するようになったので、久しぶりに Rockbox の環境を再構築してみました。
基本的にはRockbox をコンパイルする#1の内容でいいのですが、やはり少しずつ変わってきているので、そのあたりを言及しつつ、まとめておくことにします。例によって iPod Video を対象としているので、iPod Video 用のバイナリを作成するのに必要なもののみにとどめています。
前回更新からかなり期間経ってますが気にしちゃ負けです。
今回は Rockbox 自体をコンパイルするためのネタではないのですが、WPS 関連のコンパイルネタです。
現行バージョン(3.6)用の WPS を、現在開発中のバージョンの新しいフォーマットに簡単に変換できます。
Rockbox の r26769 から、ARM CPU 向け(iPod 等が対象)のコンパイラが EABI gcc になった模様です。コンパイラが変更になったことで、EABI gcc がインストールされていない環境でビルドしようとすると警告が出るようになっています。ただし、警告は出ていても従来のコンパイラを使用してコンパイルはできるらしいです(未確認)。
コンパイラが変更になったターゲット用の configure を実行すると、EABI gcc がインストールされていない環境では以下のような警告が表示されます。
[WARNING] The compiler you must use (arm-elf-eabi-gcc) is not in your path! [WARNING] this may cause your build to fail since we cannot do the [WARNING] checks we want now.
EABI gcc がなくてもコンパイルできるらしいですが、警告を見る限りかなり怪しそうです。そこで、EABI gcc をインストールすることにします。
Rockbox をコンパイルする#1でインストールしたパッケージでは足りないパッケージがあるため、cygwin のインストーラから以下のパッケージを追加インストールします。
なお、takkaさんの公開されているfnt ファイル日本語化ツールが便利なので、これを実行するのに必要なパッケージもついでにインストールしておくといいかもしれません。
cygwin のパッケージのインストールが完了したら、cygwin のコンソールから以下のコマンドを実行します。
$ cd ~/rockbox/tools $ ./rockboxdev.sh e
最後の e は、インストールする対象(arm-eabi)を選択しています。コマンドを実行すると、必要なパッケージのダウンロード、パッチ当て作業、コンパイル、インストールまで自動で実行されます。なお、このコンパイルは非常に時間がかかるので注意。Intel Core 2 Duo E6600 で4時間くらいかかっています。
インストールが正常に終了すれば、あとは今まで通り configure、make としていくだけです。なお、simulator と実機バイナリのコンパイラが異なるため、それぞれのコンパイル実行前に make clean しないとコンパイルが失敗するようです。
Rockbox をコンパイルする#3の続きです。rockbox のシミュレータを起動するための設定になります。
rockbox のソースコード修正を行う際、デバッグ作業が発生するかと思いますが、cygwin 上で gdb コマンドを利用したコマンドラインでのデバッグは面倒だと思われます。そこで、rockbox と eclipse を連動させて、デバッグを楽に行おう、という趣旨のエントリです。
当然ながら、毎回実機にインストールしてテストするわけにもいかないので、Windows 上で動かせるようにしたシミュレータを利用したテストを行います。
なお、Rockbox をコンパイルする#1とRockbox をコンパイルする#2に基づいた rockbox のコンパイル環境を利用することを想定しています。