読者です 読者をやめる 読者になる 読者になる

脱線:Boot to Gecko を Galaxy S2で動かす -->挫折

Makoto Katoさんのこの記事@won't fixを見てから一度動かしてみたいと思っていたので試しました。

必要パッケージの追加

ちょぼちょぼパッケージが足りなかったので、こちらを参考に不足分のパッケージを追加しました。

個人的に不足していたパッケージは下記の通り。

$ sudo yum install ccache bison flex

でインストール出来ました。


android-sdkのインストール

ググれば出てくるので省略。adbが要るのでついでに入れました。Tizen SDKを入れてた際にJDKを32bit版に差し替えていたのでalternativeコマンドで64bit版に戻しました。*1

$ sudo alternatives --set java /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java


make config-galaxy-s2

Fedora16 64bitでやると下記のようなエラーが出てbuild errorになりました。

host Executable: adb (out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb)
/usr/bin/ld: skipping incompatible /usr/lib64/libtinfo.so when searching for -ltinfo
/usr/bin/ld: cannot find -ltinfo
collect2: ld はステータス 1 で終了しました
make[1]: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb] エラー 1
make[1]: ディレクトリ `/home/moguris/boot2gecko/B2G/glue/gonk' から出ます
make: *** [/home/moguris/boot2gecko/B2G/glue/gonk/out/host/linux-x86/bin/adb] エラー 2

いつも使ってる Ubuntu 12.04 32bit環境にchrootしてやると*2、buildは成功してadbでfileを取りに行きますが

Extracting binary blobs from device, which should be plugged in! ...
Your device has unknown firmware GINGERBREAD.LA2
make: *** [config-galaxy-s2] Error 1

どうも、日本国内のGalaxy S2は出力スクリプトのリストに無いみたいで弾かれる模様。。。スクリプトの実体は"B2G/glue/gonk/device/samsung/galaxys2"の"extract-files.sh"らしい。
チェックは↓の辺りでやってる。

 27 case "$DEVICE_BUILD_ID" in
 28 "GINGERBREAD.UHKG7")
 29   FIRMWARE=UHKG7 ;;


必要モジュール類...

上記スクリプトの分岐に試しに

 27 case "$DEVICE_BUILD_ID" in
 28 "GINGERBREAD.UHKG7")
 29   FIRMWARE=UHKG7 ;;
--->追加ここから
 30 "GINGERBREAD.LA2")
 31   FIRMWARE=UHKG7;;
--->追加ここまで

を追加したらある程度のモジュールがとってこれたみたいですが、

  • libseccameraadaptor.so
  • libseccamera.so
  • libsecril-client.so
  • libsec-ril.so

辺りのモジュールが無かったので、コメントアウトして

  • gps.GT-I9100.so

が無いと言われたので、FIRMWAREをUHKI2辺りに変えて、

  • copybit.GT-I9100.so

が無いと言われたので、、、諦めました。真面目にLA2の中身を見て必要そうなファイルを取ってこないと意味が無さそう。。。



取りあえず試そうかと思いましたが、無駄に遠回りしてる気がするし、別にB2G動かしたい訳では無いので別に良いかと。。。

*1:じゃないとEclipseに怒られました

*2:make cleanしてrebuildしないとダメでした