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
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
こんな画面が起動する。

United Kingdom & Irelandになっているのでそのまま選択し、Confirm EnglishもOK、Palm License Agreementを読んだらAcceptする。
次にこの画面が出るので、左側の音量を上げるボタンを押しながらUSBを接続する。

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

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

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での実装はあっても、スマートフォンで実際にすぐ試せる実装が無かった、というのが現状だったので、まさにうってつけのタイミングだったという訳です。
ちなみに今回、最速で脱稿できたのは、
twitterでざっと検証した内容をtweet
本ブログでtweetを整理
ブログを元ネタとして構成を推敲して書き下ろし
というやり方を(たまたま)取ったおかげです。ああ、こういうやり方もありだなぁと発見。
そんな訳で、今回の記事を読んだ方にCouchDBを使って何か面白いことが出来そうだと思って頂ければ、今回の記事の狙いは成功です。後半となる次回に向けて検証していますが 3 、何か苦労話になりそうな悪寒。ム、いつかの記事と似た状況?
CouchDB JPの方では、definitive guideの翻訳も再開しそうな感じなので、興味持った方は是非MLに参加してみてください。
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