Flameにfirefox os2.1を入れてみた+α

50
FlameにFirefoxOS2.1 を入れてみた+α ~関西Firefox OS勉強会 7th GIG~ "フォクすけ" (C) 2008 Mozilla Japan

description

関西Firefox OS勉強会 7th GIGでの発表内容です。

Transcript of Flameにfirefox os2.1を入れてみた+α

Page 1: Flameにfirefox os2.1を入れてみた+α

FlameにFirefoxOS2.1を入れてみた+α

~関西Firefox OS勉強会 7th GIG~

"フォクすけ" (C) 2008 Mozilla Japan

Page 2: Flameにfirefox os2.1を入れてみた+α

自己紹介• 名前  たかなお • 職業  プログラマー等 • 得意  VC++, C#, C, ObjC, Java etc.. • Twitter @uniunix • blog http://uniunix.com/blog

Page 3: Flameにfirefox os2.1を入れてみた+α

もくじ1. ビルド環境(OS等)の準備 2. FirefoxOSのビルド 3. +α 4. 参考資料

"フォクすけ" (C) 2008 Mozilla Japan

Page 4: Flameにfirefox os2.1を入れてみた+α

ビルド環境の準備

"フォクすけ" (C) 2008 Mozilla Japan

Page 5: Flameにfirefox os2.1を入れてみた+α

ビルド環境の準備どんな環境を用意するか? ホストOSの環境が違う事による問題を避けたい ので仮想マシン上で作成。 !

推奨はUbuntu 12.04になっていますが、12.04 の64bit版isoイメージが見つけられなかった& 最新版が好きなので、最新の長期サポート版、 「Ubuntu 14.04の64bit版」を使用。

Page 6: Flameにfirefox os2.1を入れてみた+α

ビルド環境の準備仮想マシン環境の準備 VMWare, Parallels Desktop, Virtual Box, etc..

Page 7: Flameにfirefox os2.1を入れてみた+α

ビルド環境の準備UbuntuのDL

UbuntuのisoイメージをDLします。

http://www.ubuntulinux.jp/download/ja-remix

Page 8: Flameにfirefox os2.1を入れてみた+α

ビルド環境の準備インストール

DLしたisoイメージで、仮想環境にUbuntuを

インストールします。

!

!

HDDは多めに。最低で40GByteくらいは確保しましょう。FirefoxOSのビルドは20GByteでは足りませんでした。

Page 9: Flameにfirefox os2.1を入れてみた+α

ビルド環境の準備Ubuntuの日本語設定

インストール直後は、英語設定になっています

ので、日本語環境に変更します。

!

日本語環境が不要な人は、ちょっとした休憩時間

だと思って聞き流して下さい。

Page 10: Flameにfirefox os2.1を入れてみた+α

ビルド環境の準備「System Settings…」を選択する

Page 11: Flameにfirefox os2.1を入れてみた+α

ビルド環境の準備「User Accounts」を選択

Page 12: Flameにfirefox os2.1を入れてみた+α

ビルド環境の準備ユーザーを選択して「Language」を変更する

Page 13: Flameにfirefox os2.1を入れてみた+α

ビルド環境の準備一旦ログアウトして、再度ログオンする

Page 14: Flameにfirefox os2.1を入れてみた+α

日本語入力の設定

日本語入力の設定もしておきましょう。

!

日本語入力が必要ない人は(以下略

ビルド環境の準備

Page 15: Flameにfirefox os2.1を入れてみた+α

ビルド環境の準備「現在の入力メソッドの設定」を選択する

Page 16: Flameにfirefox os2.1を入れてみた+α

ビルド環境の準備設定の追加を選択する

Page 17: Flameにfirefox os2.1を入れてみた+α

ビルド環境の準備Mozcを選択(他のでも良いかも?)

Page 18: Flameにfirefox os2.1を入れてみた+α

ビルド環境の準備Mozcを上にしておく

Page 19: Flameにfirefox os2.1を入れてみた+α

ビルド環境の準備日本語が入力できるようになりました

Page 20: Flameにfirefox os2.1を入れてみた+α

・・・ということで、ビルド環境として、Ubuntuを

仮想マシンにインストールして、日本語化を行いまし

た。 知らない人は結構はまったりするかな・・?

と思ったのですが参考になるでしょうか?

!

次が本番の、Firefox OSのビルドとFlameへの転送です。

ビルド環境の準備

Page 21: Flameにfirefox os2.1を入れてみた+α

FirefoxOSのビルド

"フォクすけ" (C) 2008 Mozilla Japan

Page 22: Flameにfirefox os2.1を入れてみた+α

端末(ターミナル)を起動

Firefox OSのビルド

Page 23: Flameにfirefox os2.1を入れてみた+α

Firefox OSのビルドMDNを参考に、コマンドを入力していきます

Page 24: Flameにfirefox os2.1を入れてみた+α

Firefox OSのビルドマルチアーキパッケージ対応

$ sudo dpkg --add-architecture i386 $ sudo apt-get update

マルチアーキパッケージとは、マルチアーキテクチャ(64bitや32bit)のアプリケーションで、このコマンドでdpkgにi386(32bit)アプリケーションをサポートするように通知しています(多分。。)

Page 25: Flameにfirefox os2.1を入れてみた+α

Firefox OSのビルド必要なパッケージインストール

$ sudo apt-get install --no-install-recommends autoconf2.13 bison bzip2 ccache curl flex gawk gcc g++ g++-multilib gcc-4.6 g++-4.6 g++-4.6-multilib git lib32ncurses5-dev lib32z1-dev zlib1g:amd64 zlib1g-dev:amd64 zlib1g:i386 zlib1g-dev:i386 libgl1-mesa-dev libx11-dev make zip libxml2-utils $ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 1 $ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 2 $ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 1 $ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 2 $ sudo update-alternatives --set gcc "/usr/bin/gcc-4.6" $ sudo update-alternatives --set g++ "/usr/bin/g++-4.6"

Page 26: Flameにfirefox os2.1を入れてみた+α

Firefox OSのビルドadbインストール

$ sudo apt-get install android-tools-adb

adbとは、Android Debug Bridgeの事で、Androidアプリケーションの開発を支援する為のツールです。 Firefox OSは、カーネル部(Gonk)でAndroidを母体としているため、adbを使用して、デバイスにアクセスする事が出来ます。

Page 27: Flameにfirefox os2.1を入れてみた+α

Firefox OSのビルドudev ルールの設定

$ chmod 777 /etc/udev/rules.d/ $ vi /etc/udev/rules.d/android.rules

udevとは、Linuxのデバイス管理ツールです。USBでFlameを接続する為に、udevの設定を変更します。

rules.dフォルダが読み取り専用になっている為、chmodで読み取り専用を解除しています。(777である必要はないかも。。)

Page 28: Flameにfirefox os2.1を入れてみた+α

Firefox OSのビルドudev ルールの設定

android.rulesに以下の行を追加します。(ファイルがない場合は、新規作成) !SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="9025", GROUP="users", MODE="0666"

usb機器を追加する設定をおこなっています。

Page 29: Flameにfirefox os2.1を入れてみた+α

Firefox OSのビルドudevデーモンを再起動

$ sudo service udev restart

再起動する事でandroid.rulesに記述した設定を有効にします。

Page 30: Flameにfirefox os2.1を入れてみた+α

Firefox OSのビルドFlameのリモートデバッグを有効にする

[Device information] → [More Information] → [Developer Menu] で、リモートでバッグを有効にします。

Page 31: Flameにfirefox os2.1を入れてみた+α

Firefox OSのビルドUSBでFlameを接続してadbで確認

$ adb devices List of devices attached 1da256ab device

Page 32: Flameにfirefox os2.1を入れてみた+α

Firefox OSのビルドFlameのデータをバックアップしておく

$ mkdir flame_backup $ cd flame_backup $ adb pull /system . $ adb pull /data .

adbコマンドで/systemと/dataをバックアップしておきます。/vendorもバックアップしようと思ったのですが、pullできませんでした。。(理由知っている方教えて下さい。)

Page 33: Flameにfirefox os2.1を入れてみた+α

Firefox OSのビルドここから、時間のかかる作業に入ります。

コーヒーブレイク…どころか、たっぷり昼寝が

できるくらい時間がかかるので、時間のあるとき

に行いましょう。

!

寝る前に動かしておいても良いかも。

Page 34: Flameにfirefox os2.1を入れてみた+α

Firefox OSのビルドGitでB2Gレポジトリ取得

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

ここは比較的すぐ終わります

Page 35: Flameにfirefox os2.1を入れてみた+α

Firefox OSのビルドB2GをFlame用に構成

$ ./config.sh flame

これが、かなり時間かかります。実行したら寝てしまっても良いかもしれません・・・というくらい時間がかかります。                ちなみに、MDNにも書かれてありますが./config.shを引数なしで実行すると、サポートされているデバイスの一覧が表示されます。

Page 36: Flameにfirefox os2.1を入れてみた+α

Firefox OSのビルドビルド実施

$ ./build.sh

ここも、かなり時間がかかります。PCの性能にもよると思いますが、2時間程度は覚悟しておいて下さい。

Page 37: Flameにfirefox os2.1を入れてみた+α

Firefox OSのビルドビルドに失敗する場合

$ ./build.sh -j1

-j1は、ビルド時に使用するタスクを1つにするオプションです。(マルチタスクでのビルドをしない)

マルチタスクをやめる事で、エラー原因が特定し易くなります。 ちなみに、これを指定するだけで、エラーが無くなる事もありました。

Page 38: Flameにfirefox os2.1を入れてみた+α

Firefox OSのビルドFlameにビルドしたFirefoxOSを転送

$ ./flash.sh

これだけです。

Page 39: Flameにfirefox os2.1を入れてみた+α

Firefox OSのビルド焼けました!

と、画面は日本語になっています

が、この時点ではまだ日本語を使

える用にしていません。

!

!

Page 40: Flameにfirefox os2.1を入れてみた+α

+α

"フォクすけ" (C) 2008 Mozilla Japan

Page 41: Flameにfirefox os2.1を入れてみた+α

+αという事で、+αとして日本語化の方法を見ていきたいと思います。

!

全てを解説したいところなのですが、、色々な意味で時間がなかったため、本日はgaiaのマルチロケールの設定方法についてを説明します。

Page 42: Flameにfirefox os2.1を入れてみた+α

+αmercurialのインストール

$ sudo opt-get install mercurial

言語関連のファイルは、mercurialというバージョン管理ツールで管理されているようなので、まずはそちらをインストールします。

Page 43: Flameにfirefox os2.1を入れてみた+α

+αgaia-l10nのclone

$ hg clone https://hg.mozilla.org/releases/gaia-l10n/v2_0/ja gaia-l10n/ja

hg はmercurialのコマンド(gitに当たるもの)です。

Page 44: Flameにfirefox os2.1を入れてみた+α

+α言語設定ファイルをgaia-l10nへコピーしておく

$ cp ./gaia/locales/languages_dev.json ./gaia-l10n/

gaiaの下に、選択できる言語を定義したファイルがあるので、それをベースにファイルを作成します。

Page 45: Flameにfirefox os2.1を入れてみた+α

+αファイルを開いて、内容変更

$ vi ./gaia-l10n/languages_dev.json !以下のような感じで。"日本語"の後に,とか残さないように注意。 ---- { "en-US" : "English (US)", "ja" : "日本語" } ----

Page 46: Flameにfirefox os2.1を入れてみた+α

+α環境変数を設定

$ export LOCALE_BASEDIR=$PWD/gaia-l10n $ export LOCALES_FILE=$PWD/gaia-l10n/languages_dev.json $ export GAIA_DEFAULT_LOCALE=ja

本当は、.userconfigで設定するのが良いと思いますが・・

Page 47: Flameにfirefox os2.1を入れてみた+α

+αそしてビルド

$ ./build.sh

この状態でビルドすると、とりあえず見た目は日本語になっています。

という状態のFlame端末を本日は持参していますので、興味のある方は声をかけて下さい。

Page 48: Flameにfirefox os2.1を入れてみた+α

参考資料

"フォクすけ" (C) 2008 Mozilla Japan

Page 49: Flameにfirefox os2.1を入れてみた+α

参考資料MDN:Mozilla Developer Network

https://developer.mozilla.org/ja/Firefox_OS

フォクすけのFirefox情報局(フォクすけ画像)

http://foxkeh.jp/

他にも色々な方のHPを参考にさせて頂きました

http://blog.sola-dolphin-1.net/

http://tech.junkpot.net/ 

Page 50: Flameにfirefox os2.1を入れてみた+α

おわりご清聴ありがとうございました!

"フォクすけ" (C) 2008 Mozilla Japan