Makoto Katoさんのこの記事@won't fixを見てから一度動かしてみたいと思っていたので試しました。
必要パッケージの追加
ちょぼちょぼパッケージが足りなかったので、こちらを参考に不足分のパッケージを追加しました。
個人的に不足していたパッケージは下記の通り。
- ccache
- bison
- flex
$ 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動かしたい訳では無いので別に良いかと。。。