日別アーカイブ: 2014/03/10

FirefoxOS on Android Stick (現状報告)

いろいろ試行錯誤した結果,「mk808b」に FirefoxOS を載せてなんとなく動いています.技術的な解説は別の機会でするとして,今のところ確認できてることは以下の通りです.

  • Recovery 上の Linux 経由での FirefoxOS v1.3 起動 (Recovery 起動 のため Android 起動必要)
  • homescreen 表示と USBマウス/キーボード操作
  • USB Ethernet でネットワーク接続(Wi-Fi は×)
  • webm(動画) と ogg(音楽) の ソフト再生,Gallery App の画像表示
  • MarketPlace からの App インストール

fxos-home fxos-web fxos-marketplace fxos-movie

試行錯誤の途中には,色がおかしくなる問題・メディアストレージが見えない問題・Console 表示問題などを解決しています.一見素直に動いているのですが,裏では大量のエラーを吐いている状態のため時間経過と共に動作が不安定になってきます.これはバイナリで供給している部分(kernel や Android ライブラリなど)があり,ソースから build した部分と不整合があるためです.これだとちょっとまだ実用には遠そうです.

kernel の不整合は,公開 git があるので config を今動いているものに合わせて driverを有効にし, build と ROM化すれば解決しそうなのですが,config 情報や build 条件が見つかっていないためうまくいっていません.これができれば Wi-Fi なども突破できそうなのですが…

Android ライブラリの不整合は,バイナリ供給元がソース非公開にしていることや,FirefoxOS がベースにしている Android バージョンと元のバージョンが合っていないことが原因です.これもなかなか一筋縄ではいかなさそうです.

ベースにしている PicUntu の開発ストリームはすでに次の世代のSoCである RK3188 に移行しています.kernel や driver の追従には RK3188 搭載 Stick をターゲットにした方がいいかも知れません.手元には搭載 Stick の「mk908」も準備中です.

 

FirefoxOS on Android Stick (準備)

最近は次世代 Web platform として ChromeOS, Tizen そして FirefoxOS が熱いのですが,その中でも Community 活動が活発な FirefoxOS に注目しています.

しかしいざ試してみようとしても端末はまだ手に入りにくく,Simulator で遊ぶか build 環境を整えて Emulator で試すくらいだったのですが,build 環境が Android ベースだったので Android が自由にいじれる環境があれば試せるなぁとおぼろげに思っていました.
Android 環境といえば手元には Nexus7(2012)があるのですが,Android の build や ROM 事情をよく知らないこと,そもそも実用で使ってるので環境をつぶすわけにもいかず,結局 Nexus7 を生贄にするのは断念しました.

その後, Android Stick の紹介を偶然見て割と安く手に入るということを周回遅れで知り,
「これで動かせるんじゃないの?」ということでちょっと足を突っ込んでみたのが始まりです.

Android Stick でメジャーなものとして「mk808」があり, 登場して結構経っていて,技術的には枯れていて情報が出回っているだろうということで選択してみました.とはいえ実際に情報を漁ってみるとまずメーカー情報自体がほとんどなくClone製品まであるということやソフト環境も野良情報ばかりで結構大変でしたが.

  • SoC は Rockchip RK3088,内部に Cortex-A9 Dual を抱えてて,Android を動かせるだけのスペックは備えている
  • HDMI 出力専用で FullHD まで出せて USB, Wi-Fi, Bluetooth に対応.

しかし Bagleboard や Pandaboard のように full build で試せるわけではないので,それに近い環境を探す必要があります.この SoC では Ubuntu ベースの Linux Distribution 「PicUntu」の開発が活発で,それをベースに Emulator 環境を載せていけばなんとかなりそうな気がします(本当か?).