webOS 1.4.5日本語化(表示だけ)。

基本的には、 こちらのサイト を参考にさせてもらったが、localeはそのままではダメだったので下記のように実施。 1  ちなみに検証はpalm-emulatorで実施してから、実機で行った。シェルで操作しているのは、言わずもがなだと思うがnovatermを使う。

locale

# mount -o remount,rw /
# vi /etc/palm/locale.txt

/etc/palm/locale.txtに下記のように追記。

# diff -a locale.txtbk locale.txt
--- locale.txtbk        Tue Jun 15 03:20:56 2010
+++ locale.txt  Mon Sep  6 00:21:17 2010
@@ -42,6 +42,13 @@
                                                  {"countryName":"France", "countryCode":"fr"},
                                                  {"countryName":"Canada", "countryCode":"ca"}
                                            ]
+                 },
+                 {
+                         "languageName":"Japanese",
+                         "languageCode":"ja",
+                         "countries":[
+                                                 {"countryName":"Japan", "countryCode":"jp"}
+                                           ]
                  }
              ]
 }

終了したら、読み込み専用でリマウントし直して再起動。

region

ここ を参考に実施。P100UEU WR版のwebOS 1.4.5ではパスが少し変わる。フォーマットは、/usr/palm/frameworks/mojo/submissions/347/formats, リソースは/usr/palm/frameworks/mojo/submissions/347/resourcesになるのと、alternatechars_*_accented.json` というファイルも他の言語ではあったので、合わせてコピーしておいた。

# cd /tmp
# wget http://mini.x0.com/datetime_table.zip
# unzip datetime_table.zip
# cd /usr/palm/frameworks/mojo/submissions/347/resources/ja_jp
# mount -o remount,rw /
# cp -i /tmp/datetime_table.json .
# cd ../en_us
# cp -i alternatechars_*.json ../ja_jp/
# mount -o remount,ro /

で、再起動。

fonts

これは この まま実施。/etc/fonts/local.confの作成や、/etc/palm/{luna,browser}.confの中の設定をVL Gothicやフォントファイル名を適宜設定してみたが、いずれもダメだった。 2 作成し終えたら、リマウントし、再起動を忘れずに。後日、再度フォントファイルのリネームではなくて、設定でどうにかならんか検証してみる予定。

標準アプリの日本語化

Mini’s webOS Localizer を利用。 3

# cd /tmp
# wget http://mini.x0.com/webos/localize145.sh
# sh localize145.sh
1

/usr/lib/luna/customizationというディレクトリ自体が存在しないので。

2

fontconfig入っているのに実際には使ってないのだろうか?

3

ただし、localeの設定しておかないと、日本語化されない。

palm preアクティベーション。

水曜に注文したpalm pre EURO versionが届いた。裏蓋を開けてみると、チャイナモバイルのSIMが挿してあった。Docomoでローミングが出来そうなのだがAPNを設定しないとどうやらダメらしい。通信費を取られたりしたらめんどいので、素直に meta-doctorを使った通常の3G/GSMを用いたアクティベーションを回避する方法 を取ってみた。事前にPalm webOS SDKをちゃんと使えるようにしておけば、Debianでも問題なく出来る。

meta-doctorとROMの入手

リンク先 の方法にそって行うだけなのだが、自分でやったことをちょいちょいメモ。

ROMのバージョンを特定する必要があるのだが、1shopmobileで購入した場合は、EURO Versionとしか表示されていない。ヨーロッパでもいくつかキャリアによって異なるようなので、EURO versionとはどこのかなぁと思ったら、バッテリーの裏側のスペースに型番P100EUEが書いてあった。 O2 Germany, UK and Ireland / Movistar Spain 向けのモデルと分かったので、 webOS 1.4.5のROM をゲト。サーバ側の回線が貧弱なのか、207MBダウンロードするのにほぼ丸々1時間掛かった。

ダウンロードしたら、MD5ハッシュ値チェック後、リネーム。

$ mv webosdoctorp100ueu-wr.jar webosdoctorp100ueu-wr-1.4.5.jar

meta-doctorのMakefileを変更。

各パラメータはMakefile中にちゃんと説明あり。

diff --git a/Makefile b/Makefile
index 56d4e1e..3ab05e6 100644
--- a/Makefile
+++ b/Makefile
@@ -140,27 +140,27 @@
 ########################################

 # Uncomment the features that you wish to enable below:
-# BYPASS_ACTIVATION     = 1
-# BYPASS_FIRST_USE_APP  = 1
-# ENABLE_DEVELOPER_MODE = 1
-# AUTO_INSTALL_PREWARE  = 1
+BYPASS_ACTIVATION     = 1
+BYPASS_FIRST_USE_APP  = 1
+ENABLE_DEVELOPER_MODE = 1
+AUTO_INSTALL_PREWARE  = 1
 # ENABLE_TESTING_FEEDS  = 1
 # INSTALL_SSH_AUTH_KEYS = 1
 # INSTALL_WIFI_PROFILES = 1
 # DISABLE_UPLOAD_DAEMON = 1
 # DISABLE_MODEM_UPDATE  = 1
 # ENABLE_USB_NETWORKING = 1
-# REMOVE_CARRIER_CHECK  = 1
+REMOVE_CARRIER_CHECK  = 1
 # REMOVE_MODEL_CHECK    = 1
 # INCREASE_VAR_SPACE    = 1
 # CHANGE_KEYBOARD_TYPE  = z
 # ADD_EXT3FS_PARTITION  = 2GB

 # Select "pre", "preplus", "pixi" or "pixiplus".
-DEVICE = undefined
+DEVICE = "pre"

 # Select "wr", "sprint", "verizonwireless", "bellmo", "telcel" or "att".
-CARRIER = undefined
+CARRIER = "wr"

 ######################################
 ## END OF AREA FOR END USER CHANGES ##

ROMのビルド

zipコマンドが途中で必要になるので、予めインストールしておく。

$ sudo apt-get install zip

make途中失敗した場合に、きれいな状態でビルドしなおしたければ、make clobberを実行する。

ビルドは、make DEVICE=pre all-wrを実行。

ROMの焼き込み

$ cd build/pre-p100ueu-wr-1.4.5/
$ java -jar webosdoctorp100ueu-wr-1.4.5.jar

こんな画面が起動する。

../../../_images/20100904133652.png

United Kingdom & Irelandになっているのでそのまま選択し、Confirm EnglishもOK、Palm License Agreementを読んだらAcceptする。

次にこの画面が出るので、左側の音量を上げるボタンを押しながらUSBを接続する。

../../../_images/20100904133653.png

palm preの画面にUSBのマークが表示されたらNextを押し、次の画面でNextを押すとROMの書き込みが始まる。

../../../_images/20100904133654.png

書き込みはじまると、palm preにはROMに書き込む画面が、meta-doctorはこんな画面になる。

../../../_images/20100904140015.png

15分くらいかかるのであとは待つのみ。

正常に完了するとmeta-doctorはReset Completeの画面になると同時に、palm preの方も自動的に再起動する。

以上、Debianでの作業は終わり。

palm preでのアクティベーション

起動すると、自動的にTurn on WiFiが出てくるのであとは設定して、First Useからアクティベーションするのみ。WPA2 CCMPでも問題無くできる。アクティベーション後は、チュートリアルが始まるので、後はご自由に、という感じ。

CouchDB on Androidの記事あとがき。

KVMの記事以来で久々に@ITで 記事 を書きました。

CouchDB JPの活動がid:yssk22さんの転職をきっかけにずっと停滞しているのと 1 、そもそもCouchDBって面白そうだけど、使い途難しいよね、という意見をよく見かけるので、何とかこの状況を打破するきっかけないかなぁーと思っていた訳です。そしたら、タイミングよくAndroid版がリリースされたじゃないですか!しかも自分が思っていたよりもかなり早く! 2 このチャンスは逃してはならんと、今までで最速で脱稿したのでした。

今回の記事で触れているモバイルでどこでも、というのは実は初出ではなく、id:yoheiさん、id:yssk22さん、id:z-ohnamiさんが勉強会や既出の記事で触れられています。ただ、そこに焦点を絞ったものというより、話のなかのパーツであったり、そもそもPCでの実装はあっても、スマートフォンで実際にすぐ試せる実装が無かった、というのが現状だったので、まさにうってつけのタイミングだったという訳です。

ちなみに今回、最速で脱稿できたのは、

  1. twitterでざっと検証した内容をtweet

  2. 本ブログでtweetを整理

  3. ブログを元ネタとして構成を推敲して書き下ろし

というやり方を(たまたま)取ったおかげです。ああ、こういうやり方もありだなぁと発見。

そんな訳で、今回の記事を読んだ方にCouchDBを使って何か面白いことが出来そうだと思って頂ければ、今回の記事の狙いは成功です。後半となる次回に向けて検証していますが 3 、何か苦労話になりそうな悪寒。ム、いつかの記事と似た状況?

CouchDB JPの方では、definitive guideの翻訳も再開しそうな感じなので、興味持った方は是非MLに参加してみてください。

1

中心人物が活動出来なくなるとコミュニティって止まるんだなぁと実感。

2

そのうち出る、というのは知ってたのですが、もっと先、少なくとも1年以上は先だと思ってました。

3

というか、それだけが目的では無くて、たまたま他でやろうと思っていたのと重なっているだけなんですけどね。

Android Marketで使用するHigh port。

FONルータの方で使っていたので先送りにしていたのだが、先日OMSで稼働している内部ファイアウォールをssh経由でログインできるようにしたので、dmesgと/proc/net/ip_contrackでパケット観察してみた。tcp/5228なんぞ使っておった。内部ファイアウォールと、外部ファイアウォールのポリシー変更して、FONルータ経由でなくでもAndroid Marketでアップデート、インストールできるようになったぞよ。

palm-novacomd稼働時に出るエラー。

[16781.642971] usb usb4: __pm_runtime_resume()!
[16781.642972] usb usb4: __pm_runtime_resume() returns 1!
[16781.642987] usb usb2: __pm_runtime_resume()!
[16781.642990] usb usb2: __pm_runtime_resume() returns 1!
[16781.643004] usb usb2: __pm_runtime_resume()!
[16781.643006] usb usb2: __pm_runtime_resume() returns 1!
[16781.643023] usb 1-1: __pm_runtime_resume()!
[16781.643025] usb 1-1: __pm_runtime_resume() returns 1!
[16781.643039] usb 1-4: __pm_runtime_resume()!
[16781.643041] usb 1-4: __pm_runtime_resume() returns 1!
[16781.643054] usb usb1: __pm_runtime_resume()!
[16781.643056] usb usb1: __pm_runtime_resume() returns 1!

palm-novacomdを止める 1 とこのエラーも止まる。

[23945.824072] usb usb2: __pm_runtime_suspend() from workqueue!
[23945.824093] usb usb2: __pm_runtime_suspend() returns 0!

とりあえずメモ。

1

sudo stop palm-novacomd