はじめに
docomo Galaxy S2 (SC-02C) 、docomo Galaxy S3 (SC-06D) に引き続き、Xperia arcとXperia rayに対してFirefox OSをビルドしてみました。
動画はこちら
写真はこちら
Xperia arc
Xperia ray
ビルドの前に
日本版のXperia arcとXperia rayに対して、Firefox OSを含む非公式のロムをインストールするためには
bootloader unlockをする必要があります。私はOmniusというツールを使って行いました。
無料のunlockツールとしてはs1toolというものがあるようなので、そちらでも良いかもしれません。
なお、経験上ですが、Xperia rayを公式の最新OSにアップデートするとbootloader unlockできなくなるように見えました。
古い公式OSに焼きなおしても状況は変わらないので、穴がふさがれる?
古い公式OSに焼きなおしても状況は変わらないので、穴がふさがれる?
なお、新品のrayの白ロムを買えば問題なくbootloader unlockできました。
Xperia arcの場合どうなのかはちょっとわかりません。
というわけで、ビルド法は以下の通りです。これまでと同様、
solaさんによる「Keon と Peak が届かないので、Nexus S を Firefox OS 端末にしてみた」
によるビルド法を踏襲したものになっています。
また、ビルド環境の構築にも上記のsolaさんのページを参考にしてみてください。
なお、以下では通常のFirefox OSとsolaさんによるBoot to JCROMのビルド法の
両方を解説します。
ソースの準備
ソースを下記のようにダウンロードします(環境によりますが30分~1時間くらいかかります)。$ mkdir ~/b2g_work $ cd ~/b2g_work $ export B2G_WORK=`pwd` (arc用にビルドするときは) $ export DEVICE=anzu (ray用にビルドするときは) $ export DEVICE=urushi $ git clone https://github.com/neuralassembly/B2JC.git B2G $ cd B2G
通常のFirefox OSをビルドする場合は下記を、
$ ./config.sh $DEVICE
Boot to JCROMをビルドする場合は下記を実行します。
$ ./config.sh $DEVICE-b2jc
次に、Xperia arcまたはrayの /system ディレクトリのダンプを
ソースツリーに配置するのですが、ここではビルド済みCyanogenMod9のファイルを用いることにします。
$ mkdir $B2G_WORK/B2G/backup-$DEVICE $ cd $B2G_WORK/B2G/backup-$DEVICE (arcの場合、http://download.cyanogenmod.com/?device=anzu から cm-9.1.0-anzu.zip をダウンロードしてここに配置、 rayの場合、http://download.cyanogenmod.com/?device=urushi から cm-9.1.0-urushi.zip をダウンロードしてここに配置) $ unzip cm-9.1.0-$DEVICE.zip $ cd $B2G_WORK/B2G/device/semc/$DEVICE/ $ ./extract-files.sh
以上の操作により、以下が作成されます。
$B2G_WORK/B2G/vendor/semc/anzu/ (arcの場合)
$B2G_WORK/B2G/vendor/semc/urushi/ (rayの場合)
さらに、Xperia rayでは傾きセンサの向きが逆になる(海外版と日本版の違い?)ので、 以下のパッチ当てを行います(rayのみ)。
$ cd $B2G_WORK/B2G/vendor/semc/urushi/proprietary/etc/ $ wget https://dl.dropboxusercontent.com/u/69652790/patch/b2g-urushi-sensors-conf.patch $ patch < b2g-urushi-sensors-conf.patch
高解像度対応、日本語対応など
この章で行う操作はsolaさんによるものを流用させて頂いております。また、この章の内容は、通常のFirefox OSをビルドするときのみ行ってください。
Boot to JCROMをビルドする場合は次の「いくつかの修正」へ進んでください。
下記のように日本語辞書を用意します。
$ cd $B2G_WORK (naist-jdic-0.4.3.tar.gzを http://sourceforge.jp/projects/naist-jdic/releases/ からダウンロードして配置) $ tar zxvf naist-jdic-0.4.3.tar.gz $ cd $B2G_WORK/B2G/gaia/apps/keyboard/js/imes/jskanji/dict $ mkdir ipadic $ cp $B2G_WORK/naist-jdic-0.4.3/naist-jdic.dic ipadic/ $ make json (この命令は環境変数LANGの値によっては失敗します。ja_JP.utf8 にセットすればよいです)
いくつかの修正
Xperia arcとrayに固有な問題の修正を行います。電池残量や充電状況の取得に失敗する点、
画面ON時にHOMEボタン裏のLEDが光りっぱなしになる点を以下で修正します。
以下のようにパッチをあてます。
$ cd $B2G_WORK/B2G/gecko/hal/gonk/ $ wget https://dl.dropboxusercontent.com/u/69652790/patch/b2g-GonkHal.patch $ patch < b2g-GonkHal.patch
また、Xperia arcのみ、下記でOTAアップデートを無効にします。
Xperia rayでは既にこのパッチは適用済みなので不要です。
$ cd $B2G_WORK/B2G/gaia/apps/system/js/ $ wget https://dl.dropboxusercontent.com/u/69652790/patch/b2g-update_manager.patch $ patch < b2g-update_manager.patch
環境変数設定
環境変数設定を行います。$ export LOCALE_BASEDIR=$B2G_WORK/B2G/multilocale/gaia-l10n $ export LOCALES_FILE=$B2G_WORK/B2G/multilocale/languages-japan.json $ export PATH="$PATH:$B2G_WORK/B2G/multilocale/compare-locales/scripts" $ export PYTHONPATH="$B2G_WORK/B2G/multilocale/compare-locales/lib" $ export MOZILLA_OFFICIAL=1 $ export GAIA_DEV_PIXELS_PER_PX=2
kernel のビルド
ここは自分でkernelをビルドしたい人のみ行って下さい。既に日本版のkernelを配置済みなので飛ばしても問題ないです。
kernelはCyanogenMod9のkernelを用います。
$ cd $B2G_WORK $ git clone https://github.com/CyanogenMod/semc-kernel-msm7x30 -b ics $ cd semc-kernel-msm7x30 $ export ARCH=arm $ export CROSS_COMPILE=$B2G_WORK/B2G/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi- $ make cyanogen_$DEVICE_defconfig $ make -j16 $ cp `find drivers net -name "*.ko"` $B2G_WORK/B2G/device/semc/$DEVICE/ $ cp arch/arm/boot/zImage $B2G_WORK/B2G/device/semc/$DEVICE/kernel
ビルドと書き込み
以下のようにビルドを行います。$ cd $B2G_WORK/B2G $ ./build.sh otapackage
ビルドが終わると、
arcの場合 out/target/product/anzu/full_anzu-ota-eng.username.zip
rayの場合 out/target/product/urushi/full_urushi-ota-eng.username.zip
ができていますので、これを焼きます。
ダウンロード
ビルド済みパッケージはこちらXperia arc
- Firefox OS 1.1: full_anzu-ota-eng.neuralassembly_fxos1.1_20131007.zip
- Boot to JCROM: full_anzu-ota-eng.neuralassembly_b2jcrom_20131007.zip
Xperia ray
- Firefox OS 1.1: full_urushi-ota-eng.neuralassembly_fxos1.1_20131007.zip
- Boot to JCROM: full_urushi-ota-eng.neuralassembly_b2jcrom_20131007.zip
書き込み
あらかじめ、端末にfastbootとadbで接続できるよう、ドライバをインストールしておいてください。
まず、ビルドしてできたzipファイルをSDカードに配置しておきます。
また、あらかじめzipファイルからboot.imgを取り出しておき、PC上に置いておきます。
次に、端末の電源を切り、arcの場合はメニューを押しながら、
rayの場合はボリュームアップキーを押しながらPCのUSBポートに接続します。
fastbootモードに入り、arcはUSBポートの横のLEDが、rayはホームボタンの周囲が
青く光るはずです。 そこで
$ fastboot flash boot boot.img
を実行し、boot.imgを焼きます。次に、以下のコマンドで再起動します。
$ fastboot reboot
Free Xperia Projectのロゴが見えている状態で、arcはメニューボタンを連打、
rayはボリュームダウンキーを連打します。 どちらも、成功するとホームキー周囲のLEDが点灯し、
CWM recoveryに入ります。
CWM recoveryにて、wipe data/factory reset を実行後、
install zip from sdcardから、作成したzipファイルを焼いてください。
できることとできないこと
下記のような感じです。ほぼグローバル端末と変わらないからでしょうか、通話と3Gが使えます。アップデートの通知が来ますが、アップデートしないでください。
arcもrayも解像度は480×854なのですが、これくらいの画面サイズが
Firefox OSには適しているようで、結構快適です。
あとはカメラをなんとかしたいですね。
通話 | ○ | - |
3G通信 | ○ | - |
Wifi | ○ | - |
SDカード | ○ | - |
カメラ | × | アプリ起動しないです |
音楽再生 | ○ | - |
動画再生 | ○ | - |
おしまい
日本語化や高解像度の設定、odapackageの作成などにはsolaさんによる変更を
使わせて頂きました。感謝です。
Xperia arcとXperia rayでドッキング
こちらもどうぞ
- docomo Galaxy S2 (SC-02C) 向けにFirefox OSをビルドしてみた
- docomo Galaxy S3 (SC-06D) 向けにFirefox OSをビルドしてみた
- Boot to JCROMをGalaxy S2/S3、Xperia arc/ray向けにビルドしてみた
- Firefox OSとRaspberry Piで三輪オムニホイールロボットを操作してみた
Link to xda developers
このページを元にした議論やビルド成果へのリンク
Discussions and binaries based on this page are available in the following URLs.
Please note that these threads are not offered by me. My account in XDA is neuralassembly.
Many people are reporting that they applied OTA update, but it should not be applied to your device
because this update is for another device (maybe for unagi), not for arc nor ray.
When you applied the OTA update, the resolution of the Firefox OS becomes wrong.
The correct resolution is shown in the pictures in this page.
Discussions and binaries based on this page are available in the following URLs.
Please note that these threads are not offered by me. My account in XDA is neuralassembly.
Many people are reporting that they applied OTA update, but it should not be applied to your device
because this update is for another device (maybe for unagi), not for arc nor ray.
When you applied the OTA update, the resolution of the Firefox OS becomes wrong.
The correct resolution is shown in the pictures in this page.
Make a thread on Xda and build for more devices like Smultron,mango,coconut and you will make a lot of people happy :D
返信削除I found a link to this page in XDA forum :-)
削除i get some eror when try to comile code can you shere your boot.img and system.img of arc ?
返信削除Xperia U?
返信削除Please share your build for Ray (shown in the pic). Thank you.
返信削除My Xperia ray struck after installation its only showing Sony Ericson and couldn't boot firefox os
返信削除Have you tried
削除"fastboot flash boot boot.img"?
boot.img is included in zip file.
Thank You for the response.I have done with "fastboot boot boot.img" then device started with Xperia free project then i changed to cwm recovery mode and installed firefox from zip. On restart my phone unable to boot firefox os. Could you help me please.
削除The other thing is I have not rooted the device i only unlocked the bootloader is that a problem.
削除Flashing the boot.img is required, i.e., "fastboot flash boot boot.img".
削除Thank you Takashi Kanamaru. I will give a try and let you know the status.
削除このコメントは投稿者によって削除されました。
削除Thank you its working fine the only problem is camera please let me know if you have compiled a stable release.
返信削除thotasrinath@gmail.com
このコメントは投稿者によって削除されました。
返信削除このコメントは投稿者によって削除されました。
削除このコメントは投稿者によって削除されました。
削除Thank you for your information. I will check it later.
削除このコメントは投稿者によって削除されました。
返信削除このコメントは投稿者によって削除されました。
返信削除I have tried both "ngiordano/android_hardware_qcom_camera" and "yjwong/android_hardware_qcom_camera", but nothing have changed.
削除Even if crashing camera is avoided, I think that it is not a progress because camera is still not working.
In my opinion, the directory "hardware/qcom/camera" would not be required because CyanogenMod9 for urushi does not use it
(My port is based on CyanogenMod9.)
Finally, I have other works and projects, so please do not ask for ETA.
こんにちは。FireoxOSに憧れ、このブログを見てarcの白ロムを買い、OSを焼くことにに成功したものです。感謝しています。
返信削除ところで、このバージョンで日本語を入力するためにはどうすればよいのでしょうか。
よろしくお願いします。