Login
Immutable PageDiscussionInfoAttachments
why/post/FirefoxOSHacks

MMA

この記事は長い間更新されておらず、情報が古い可能性が高いです。

FirefoxOSHacks

なにこれ

FirefoxOSの世界初商業機であるZTE Openを購入したので、いじってみる。

あくまで本記事はメモ書きであるため、詳細な説明は省かせていただく。

現行ROMのバックアップ

FirefoxOSのkernelはAndroidを元に作られており、

$ adb

系統のコマンドを使用する事が出来る。

事前に、FirefoxOSの方でdebug modeをONしておく必要がある。

Setting→Device information→More Information→Devloper→Remote debugingをタップしてONに

最初は定番である

$ adb backup -f ZTEOPENfirst -shared -all -system

を走らせてみた所、

Now unlock your device and confirm the backup operation.

と怒られてしまった。

Androidであればバックアップ用のROMに付けるパスワードを打ち込む画面が出てくるのだが、そのような画面が出現する様子もない。

本来はこの現象が発生した場合、adb backupを端末側(メーカー側)でロックをかけている事が大抵であり、Android4.0.x以前の端末であれば泣き寝入りするしか方法が無かった。

Android4.0.x以降にはAndroidシステムの中にフルバックアップが容易に行える機構が完成しているので、もうadb backupはあまり使わせる気が無いのかもしれない…。

そんな事無かった。むしろ

$ adb backup -f hogehoge -all

を使っていく事が推奨されていくようだ。

Androidユーザーはどんどん使いましょう。

why@www: ~$ grep 純粋な初期ROM | ls -l 
why@www: ~$ 
why@www: ~$ grep 一応キャリアROMになるやつ | ls -l
why@www: ~$ 一応あったよ!

焼いてみよう

rootedROMは見つけた。

これROMじゃない。rooted用のパッチのような物でした。(よく見てなかった…)

AndroidROMを探そうとすればzipのみで見つかる物だが、Githubが最初にヒットする所に触った人間の少なさを感じる

http://pof.eslack.org/2013/07/05/zte-open-firefoxos-phone-root-and-first-impressions/

動作確認済み。suコマンドがきちんと通ったのでrootedになった。


まだ実行してない壁

日本語環境を構築。

下の実験の項で実施しているビルドが通らないので悩み中。

→家に転がってるAndroid端末でテストしてみる予定

http://neuralassembly.blogspot.jp/2013/06/xperia-arcxperia-rayfirefox-os.html

CyanogenModのkernelを持ったAndroid端末を焼き込む技術は既に確立されているようですね(勿論Mozilla保証外でも)。

正直よく分かっていないですが、特定デバイスしかやっぱり出来ないようです…?

とはいえ、折角実機なのだからZTE Open ROMを使いたい所…。

やはりROMを作る所をしっかりさせないといけないですね。

B2JCの力を借りるしかないのかなぁ…

くぅ〜お疲れ様でしたwこれにて終了ですw

http://www.slideshare.net/cch-robo/zte-open-japanizationbuild


メモ

Telefonica公式のUIをリリースした際のMailActive

http://www.mail-archive.com/dev-b2g@lists.mozilla.org/msg03673.html

恐らくZTE Openにおいては中身は完全なPureFirefoxOSであり、UIだけを少々訂正を加えている。

なのでバックアップは取れないものの、公式が提供している物を組み合わせた上で十分な復元が出来る事が判明した。(未検証であり、完全に再現出来ているかの判定は難しいので"再現出来ている"という事にする)

$ adb devices

を走らせると、

List of devices attached
roamer2 device

と出る。

これはどうやら ZTE roamer の時からZTE端末はほぼ(内部?kernel?)統一されているようで、仕様がそこまで変わらないらしい。分かりやすいけど明言されてないので最初理解に時間がかかった。

実験

ZTE OpenのROMを再現してみる。

https://github.com/telefonicaid/firefoxos-gaia-spain

https://github.com/mozilla-b2g/B2G

この辺を組み合わせて適当にすればFirefoxOS for ZTE Openの完成だよ!やったねたえちゃん!

Mozillaが公開しているビルド用ファイル郡を持ってくる。

$ git clone https://github.com/mozilla-b2g/B2G

これ自体にはFirefoxOSのソースコードは入っておらず、導入用のシェルのまとめ。

$ cd B2G
$ ./config.sh

シェルを走らせると、実装可能なデバイス一覧が参照出来る。

この中にZTE Openは無かったので、とりあえずdefaultFirefoxOSであるkeonを選択しておいた。

$ ./config.sh keon

,,後でソースコード本体から持ってきてビルドしよう…,

ソースコード取得が終わったのでビルドする。一回そのままビルドしたら失敗したので、エラーメッセージに出た通り使用するCPUコア数を制限する。

$ ./build.sh -j1

<色々>

> Build failed! <

通らなかった。

何故通らないか

環境作りにはMac SDK 10.6が必要なのを忘れていた。(10.7,10.8は導入済みだった)

→この辺よく理解出来てない。10.5も必要な気がしてきている…

【注意】Mac SDK 10.5を導入する為にXcode3.1.2を入れると大変な事(kernel panic)になりました。

既知の不具合だそう。

この記事の通りにやっても症状が回復しなかった。(あくまで私が試した結果ですが)

GeniusBarに持ち込みましたが、結局解決せず。Time Machineから復帰した。

あまりに情報不足なので、勉強しなおす事にする。

Coming Soon...

独り言

FirefoxOSの開発環境には、Ubuntu12.04がMozillaは推奨しています。

仮想PCじゃそろそろ限界を感じてきた。

                   ,'⌒,ー、           _ ,,..  X
                 〈∨⌒ /\__,,..  -‐ '' " _,,. ‐''´
          〈\   _,,r'" 〉 // //     . ‐''"
           ,ゝ `く/ /  〉 /  ∧_,. r ''"
- - - -_,,.. ‐''" _,.〉 / /  . {'⌒) ∠二二> -  - - - - - -
  _,.. ‐''"  _,,,.. -{(⌒)、  r'`ー''‐‐^‐'ヾ{} +
 '-‐ '' "  _,,. ‐''"`ー‐ヘj^‐'   ;;    ‐ -‐   _- ちょっと秋葉原行ってくる
 - ‐_+      ;'"  ,;'' ,''   ,;゙ ‐-  ー_- ‐
______,''___,;;"_;;__,,___________
///////////////////////

why/post/FirefoxOSHacks (last edited 2016-09-13 01:12:58 by why)