きょうのかんぱぱ

デジモノが大好きなかんぱぱの日記です。

タグ「Flame」が付けられているもの


KitKatベースのFirefox OS 2.1 Flameに日本語IMEをいれてみた

  • 投稿日:
  • by
  • Category:

FlameのベースイメージがBase image v180.zipに変わっていたので、これを使ってリカバリしてみたら、どうもKitKatベースのシステムになったようです。
そういえば、Flameのページに載っているnightly buildも2.0、2.1、2.2といつの間にか変わっていました。しかも、このnightly buildは最初から日本語表示ができるようになっています。これを使えば簡単に日本語IMEの組み込みまでできるのではと考えました。

以下の手順で進めました。(作業環境はubuntuを使っています。)

1. Base image v180.zipをインストールして、FlameをKitKatの環境にする。

$ ls
Flame_2.0_v180_1.zip
$ unzip Flame_2.0_v180_1.zip
Archive: Flame_2.0_v180_1.zip
creating: Flame_2.0_v180_1/
inflating: Flame_2.0_v180_1/#flash.sh#
inflating: Flame_2.0_v180_1/boot.img
 :
$ chmod +x flash.sh
$ ./flash.sh


KitKatベースのFirefox OS 2.0で、Flameが立ち上がります。この時点では日本語は表示されません。

2. Engineering buildsのLatest aurora builds (currentry 2.1)をFlameに入れる。

最初はcurrentry 2.2で試していたのですが、たまに落ちたりしてまだ不安定に見えましたので、今回はcurrentry 2.1を使いました。また、2.1だとAPNパッチがなくても動作しました。

$ ls
b2g-34.0a2.en-US.android-arm.tar.gz gaia.zip shallow_flash.sh
$ ./shallow_flash.sh -ggaia.zip -Gb2g-34.0a2.en-US.android-arm.tar.gz
Are you sure you want to flash
Gaia: gaia.zip
Gecko: b2g-34.0a2.en-US.android-arm.tar.gz
to your Device? [y/N]y
### Waiting for device... please ensure it is connected, switched on and remote debugging is enabled in Gaia
### Restarting adb with root permissions...
  :(省略)
24 files pushed. 0 files skipped.
3135 KB/s (39144521 bytes in 12.193s)
### Push Done.
### Shallow Flash Successful!
$

これで、Firefox OS 2.1になります。何もしなくても日本語表示が可能です。でも、日本語IMEは使えないです。

3. Firefox OS 2.1のソースを落としてきて、gaiaだけbuildし、日本語キーボードを組み込む。

$ cd ~
$ git clone git://github.com/mozilla-b2g/B2G.git $ cd ~/B2G $ BRANCH=v2.1 ./config.sh flame-kk $ cd gaia/locales/ $ hg clone http://hg.mozilla.org/gaia-l10n/ja $ cp languages_dev.json languages_ja.json $ vi languages_ja.json { "en-US" : "English (US)", "ja" : "日本語" } $ cd ~/B2G $ vi .userconfig ## Gaia export LOCALE_BASEDIR=$PWD/gaia/locales export LOCALES_FILE=$PWD/gaia/locales/languages_ja.json export GAIA_DEFAULT_LOCALE=ja export GAIA_KEYBOARD_LAYOUTS=en,jp-kanji $ ./build.sh gaia including device/qcom/common/vendorsetup.sh including device/generic/armv7-a-neon/vendorsetup.sh  :(省略) real 0m43.356s user 0m38.001s sys 0m6.989s Run |./flash.sh| to flash all partitions of your device $

4. gaiaだけFlameに書き込む。

$ ./flash.sh gaia
Detect GAIA_INSTALL_PARENT ...
 :(省略)
Push to /system/b2g ...
$

これで、日本語IMEが組み込まれたFirefox OS 2.1 Flameができあがります。

gaiaのビルドはそんなに時間がかからないので、この方法で行うと短時間で日本語IMEが動くようになります。

日本語IMEを組み込んだFirefox OS 2.1をFlameに書き込んでみた

  • 投稿日:
  • by
  • Category:

Firefox OS 2.1をビルドして日本語IMEを組み込みFlameに書き込んでみました。
ビルド環境はubuntu 14.04 LTS (64bit) です。
以下手順の抜粋です。抜け漏れあるかもしれません。
思考錯誤で行いましたので、手順でおかしなところがあるかもしれませんが、そこは自己責任でお願いします。

まずは、Firefox OS 2.1のNightlyをBuildする環境をつくります。

$ 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
$ cd
$ git clone git://github.com/mozilla-b2g/B2G.git
$ cd B2G
$ ./config.sh flame
$ ./build.sh

ここでビルドしたFirefox OS 2.1をFlameに書き込んで動作することを確認します。

次に日本語辞書を入手します。
http://sourceforge.jp/projects/naist-jdic/releases/
naist-jdic-0.4.3.tar.gzをダウンロード

ダウンロードした日本語辞書を適当なところに展開します。

$ cd ~
$ zcat naist-jdic-0.4.3.tar.gz | tar xvf -
$ cd naist-jdic-0.4.3
$ ls -l *.dic

dicファイルをコピーして辞書を作ります。

$ cd ~/B2G/gaia/apps/keyboard/js/imes/jskanji
$ cat README
$ cd dict
$ mkdir ipadic
$ cp ~/naist-jdic-0.4.3/*.dic ipadic/.
$ make

dict.jsonができているはずです。

Makefileに日本語キーボードを指定する。

$ cd ~/B2G/gaia
$ cp Makefile Makefile.org
$ vi Makefile
$ diff Makefile.org Makefile
*** Makefile.org	2014-08-12 01:19:13.466204000 +0900
--- Makefile	2014-08-12 02:18:46.746204000 +0900
***************
*** 395,401 ****
GAIA_CONCAT_LOCALES?=1
# This variable is for customizing the keyboard layouts in a build.
! GAIA_KEYBOARD_LAYOUTS?=en,pt-BR,es,de,fr,pl,zh-Hans-Pinyin,en-Dvorak
ifeq ($(SYS),Darwin)
MD5SUM = md5 -r
--- 395,402 ----
GAIA_CONCAT_LOCALES?=1
# This variable is for customizing the keyboard layouts in a build.
! #GAIA_KEYBOARD_LAYOUTS?=en,pt-BR,es,de,fr,pl,zh-Hans-Pinyin,en-Dvorak,jp-kanji
! GAIA_KEYBOARD_LAYOUTS?=en,jp-kanji
ifeq ($(SYS),Darwin)
MD5SUM = md5 -r

日本語リソースの組み込み
https://hg.mozilla.org/releases/gaia-l10n/v2_0から日本語リソースをダウンロード
ダウンロードした日本語リソースをホームディレクトリに展開

$ cd
$ unzip ja-7222e75b66ca.zip
$ ls -l ja-7222e75b66ca/
$ cd
$ mv ja-7222e75b66ca ~/B2G/gaia/locales/ja
$ cd ~/B2G/gaia/locales/
$ cp languages_dev.json languages_own.json
$ vi languages_own.json
$ diff -rc languages_dev.json languages_own.json
*** languages_dev.json	2014-08-11 07:51:24.924547000 +0900
--- languages_own.json	2014-08-12 02:24:28.094204000 +0900
***************
*** 1,39 ****
{
- "ar" : "عربي",
- "bg" : "български",
- "bn-BD" : "বাংলা (বাংলাদেশ)",
- "ca" : "Català",
- "cs" : "Čeština",
- "da" : "Dansk",
- "de" : "Deutsch",
- "el" : "Ελληνικά",
"en-US" : "English (US)",
! "es" : "Español",
! "eu" : "Euskara",
! "fr" : "Français",
! "gl" : "Galego",
! "hr" : "Hrvatski",
! "hu" : "Magyar",
! "it" : "Italiano",
! "ja" : "日本語",
! "km" : "ខ្មែរ",
! "ko" : "한국어",
! "lt" : "Lietuvių",
! "mk" : "Македонски",
! "ms" : "Melayu",
! "ne-NP" : "नेपाली",
! "nl" : "Nederlands",
! "pa" : "ਪੰਜਾਬੀ",
! "pl" : "Polski",
! "pt-BR" : "Português (do Brasil)",
! "ro" : "Română",
! "ru" : "Русский",
! "sk" : "Slovenčina",
! "sq" : "Shqip",
! "sr-Cyrl" : "Српски",
! "sr-Latn" : "Srpski",
! "sv-SE" : "Svenska",
! "tr" : "Türkçe",
! "zh-CN" : "中文 (简体)",
! "zh-TW" : "正體中文 (繁體)"
}
--- 1,4 ----
{
"en-US" : "English (US)",
! "ja" : "日本語"
}

環境変数を設定

$ export LOCALE_BASEDIR=$PWD/gaia/locales
$ export GAIA_DEFAULT_LOCALE=ja
$ export LOCALES_FILE=$PWD/gaia/locales/languages_own.json

APNのパッチを行う。

$ cd $ unzip firefoxos-patch-master.zip $ cd ~/B2G/gaia/shared/resources $ patch apn.json ~/firefoxos-patch-master/apn.json.diff

gaiaを再ビルドする。

$ cd ~/B2G
$ ./build.sh gaia

Flameに書き込み

$ cd ~/B2G
$ ./flash.sh

これで日本語入力ができるようになります。
ここではまだFMラジオパッチを組み込んでいませんが、このビルドツリーに反映してしまえば毎回パッチも不要です。

fxos21_kanji_ime.jpg

Firefox OS FlameにNightly buildをいれて日本語表示をしてみた

  • 投稿日:
  • by
  • Category:

Firefox OS Flameを手に入れました。でも、購入時点だとFirefox OS 1.3で日本語画面ではありませんでした。

FlameのページにNightly build (Firefox OS 2.1)がリンクされていましたので、これと入れ替えてみました。

私はMacBook Airを使っていますので、adb-fastboot-installをインストールしてadbやfastbootが動く状態にしています。

以下の3つの必要なファイルをMacにダウンロードして、適当なフォルダにいれておきます。

  • b2g-34.0a1.en-US.android-arm.tar.gz (ファイル名はその都度変わります)
  • gaia.zip
  • shallow_flash.sh

作業の前にFlameの環境設定でリモートデバッグを有効にしておくことと、途中で端末ロックがかからないように画面ロックを無効にしておきます。

Macのターミナルを立ち上げて、先ほどのフォルダに移動します。

$ cd ~/Desktop/Flame

実行権限をつけます。

$ chmod +x ./shallow_flash.sh

書き込みのスクリプトを実行します。

$ ./shallow_flash.sh -g gaia.zip -G b2g-34.0a1.en-US.android-arm.tar.gz
Are you sure you want to flash
Gaia: gaia.zip
Gecko: b2g-34.0a1.en-US.android-arm.tar.gz
to your Device? [y/N]y ←Yと入力。
### Waiting for device... please ensure it is connected, switched on and remote debugging is enabled in Gaia
### Restarting adb with root permissions...
adbd is already running as root
### Remounting the /system partition...
remount succeeded
### Stopping b2g process...
### Processing Gaia: gaia.zip
### Unzip gaia.zip to /var/folders/83/rk2h8hb12fs8ft2v0f68zyqm0000gn/T/shallowflashgaia.XXXXXXXXXXXX.CorEeLCJ ...
### Cleaning Gaia and Profiles ...
rm failed for /data/local/svoperapps, No such file or directory
rm failed for /data/local/user.js, No such file or directory
rm failed for /data/local/indexedDB, No such file or directory
### Cleaning Done.
### Pushing Gaia to device ...
push: /var/folders/83/rk2h8hb12fs8ft2v0f68zyqm0000gn/T/shallowflashgaia.XXXXXXXXXXXX.CorEeLCJ/gaia/profile/webapps/bluetooth.gaiamobile.org/manifest.webapp -> /system/b2g/webapps/bluetooth.gaiamobile.org/manifest.webapp
push: /var/folders/83/rk2h8hb12fs8ft2v0f68zyqm0000gn/T/shallowflashgaia.XXXXXXXXXXXX.CorEeLCJ/gaia/profile/webapps/bluetooth.gaiamobile.org/application.zip -> /system/b2g/webapps/bluetooth.gaiamobile.org/application.zip
:
:(中略)
:
push: /var/folders/83/rk2h8hb12fs8ft2v0f68zyqm0000gn/T/shallowflashgecko.XXXXXXXXXXXX.sH1PJPqC/b2g/b2g -> /system/b2g/b2g
push: /var/folders/83/rk2h8hb12fs8ft2v0f68zyqm0000gn/T/shallowflashgecko.XXXXXXXXXXXX.sH1PJPqC/b2g/application.ini -> /system/b2g/application.ini
24 files pushed. 0 files skipped.
3746 KB/s (38943826 bytes in 10.151s)
### Push Done.
error: protocol fault (no status) ←エラーのようですが問題なさそうです。
### Shallow Flash Successful!
$

これで、リブートするとFirefox OS 2.1が立ち上がります。

環境設定で確認すると2.1.0.0-prereleaseとなっていました。

初期設定で日本語が選択できますので、それを選択するとホーム画面や各種表示が日本語になります。

残念ながら日本語IMEは組み込まれていないので、自分でビルドするしかありませんが、手っ取り早く最新の環境を使ってみるのも面白いのではと思います。

なお、すでに公開されているAPNパッチとFMラジオパッチはそのまま使えました。

ホーム画面のスクリーンショットを撮ってみましたが、Firefox OS 2.1では音量を下げるボタンとホームボタンの同時押しに変更になっています。

flame_fxos21_screen.jpg

警告とメッセージ