Amazon Kindle Internationalで日本語を表示してみる。

大人の事情でAndroid関係の書き込みができない状態なのでしばらくおとなしくしていた。
そんな時、Amazon KindleのInternational版が出るとのことだったので、とりあえずAmazon.comで予約してみた。
でも、やっぱり買うのをやめようかと思い、予約をキャンセルしようと思ったのだが、そういうときに限ってやたらと仕事が忙しくてAmazon.comにアクセスできずにいたら、発送したよとのメールが来てしまった。

腹をくくって使い倒すことにした。まずは日本語表示から。いろいろ紆余曲折があったが、結局うまくいった方法だけ書くことにする。

Jail Break

まずはいろんなパッチをアップデータとして適用できるようにするためにJail breakをする。

  • ここhttp://blogkindle.com/unicode-fonts-hack/からupdate_freekindle-k2i.binをもらってくる。
  • (KindleをPCにマウントして)Kindleのルートディレクトリにupdate_freekindle-k2i.binを置く。
  • (KindleをPCからアンマウントして)HOME→MENU→Settings→MENU→Update Your Kindle
  • OKを選ぶとインストールが始まり、終わると勝手に再起動される。

Unicode Hack

次にUnicodeハックを適用する。

  • ここhttp://blogkindle.com/unicode-fonts-hack/からupdate_ufh_droid_install-k2i.binをもらってくる。
  • (KindleをPCにマウントして)Kindleのルートディレクトリにupdate_ufh_droid_install-k2i.binを置く。
  • (KindleをPCからアンマウントして)HOME→MENU→Settings→MENU→Update Your Kindle
  • OKを選ぶとインストールが始まり、終わると勝手に再起動される。
  • (KindleをPCにマウントして)Kindleのルートディレクトリにある*.orgファイルをPCにバックアップしておく。

これで終わり。

日本語表示

KindleのdocumentsディレクトリにUTF8の日本テキストファイル(拡張子.txt)を入れるとこんな感じで表示される。

f:id:linuzau:20091031222623g:image

感想

Kindle InternationalはDoCoMo回線にローミングインしており、日本でも本のサンプルのダウンロードやWebの閲覧(制限有り)が無料で行える。
予約キャンセルをしそこなって買っちゃったのだが、日本語も表示できるようになった現在、もしかして当たりだったかもと思い始めている。

またcupcakeがビルドできなくなったので調べてみる。

7/19にcupcakeのビルドエラーについての対処法を書いたが、その後、またいろいろ変わっているようで追記をしてみる。

解決策

これまで.repo/local_manifest.xmlに書かなければならなかった記述が、標準のmanifest.xmlに追加されたらしい。android-platformグループのやりとりを見ても、結局どうしたらよいかはっきり書いていない。
結局いろいろ試して、

.repo/local_manufest.xmlを削除する。

という結論に行き着いた。

他の方々の情報を見てもこの対処で正しいらしいが、こういう話はちゃんと公式にアナウンスして欲しいものだ。

cupcakeがビルドできなくなったので調べてみる。

いろいろいじったりする必要があったので、最新のソースでcupcakeをビルドしようとしたら、エラーが出るようになってしまったので調べてみた。

エラー

自分の過去のメモ
http://d.hatena.ne.jp/linuzau/20090223/1235398140
あたりを見ながら進める。

ところが、

Initializing project platform/vendor/htc/dream ...
fatal: The remote end hung up unexpectedly
error: Cannot fetch platform/vendor/htc/dream

のようなエラーが出てrepo syncが止まってしまう。

解決策

android-platformグループのやりとりを見てると、カーネルソースの整理中らしく、このようなエラーが出てしまうらしい。
回避策としては、.repo/local_manufest.xmlを、


 
 
 
 

となっているのを、remove-projectの行を消すのと、platform/vendor/htc/dreamをplatform/vendor/htc/dream-openにすると良いらしい。すなわち、


 
 
 

のように書き直す。うまくビルドできているようなのでこれで良いことにする。

HTC Dream(aka T-Mobile G1, Android Dev Phone 1)でwifi-tetheringを試してみる

愛用キャリアであるドコモよりHT-03A(HTC Magic)が出るとのこと。これまで夢の中でしか使えなかったのが、ついに現実の世界で使えるようになるということで、喜んでドコモショップに予約しに行ったが、断られた。発売日が決まるまで予約は受け付けないとのこと。
悔しいので夢の中(HTC Dream)で遊ぶことにした。HT-03Aでは恐らく封印されているであろうWifi Tetherを試してみることにした。

Wifi Tetherと言うのは、GSMやUMTS(3G)回線上のIP接続をWifi接続した機器にシェアすることである。下記よりWifi Tetherパッケージと、対応カーネルをもらってきてインストールすると使えるようになる。
http://code.google.com/p/android-wifi-tether/

インストール

まずは素直に使ってみる。下記の手順はcpucake専用なので注意。
ここhttp://code.google.com/p/android-wifi-tether/downloads/listからsigned_andTether_0_97_1.apkをもらってきて普通にインストールする。

$ adb install signed_andTether_0_97_1.apk

それから、adp-1_5-kernel-update.zipももらってきて、SDカードに書き込み、

$ adb push adp-1_5-kernel-update.zip /sdcard/update.zip
$ adb shell sync

リカバリモードでインストールする。

  • 赤(終話)ボタンを長押しして電源オフ。
  • ホームボタンを押しながら電源オンでリカバリモードに突入。
  • ALT+Lでヘルプ画面が出る。
  • ALT+Sでファームの書き込み。
  • 終わったらホーム+バックで再起動。

使い方

Wifi Tether for Root Usersを起動。メニューからWEPキー等を設定しておく。準備が終わったらトップ画面のアイコンを押してTether開始。
接続する端末側は、Wifiをadhocモードにする。
後はadhocモードで接続すれば、つながって、3G上のIP接続を利用できる。

改造

せっかくなのでクロックアップをしてみた。
まずはオリジナルwifi-tether対応のカーネルからconfigを取り出す。

$ adb pull /proc/config.gz .
$ gunzip config.gz

できたconfigをkernelディレクトリに.configとしてコピーしてから、いつものパッチを当てる。

--- arch/arm/configs/msm_defconfig      2009-03-21 23:01:52.000000000 +0900
+++ .config     2009-05-01 15:29:15.000000000 +0900
@@ -35,8 +35,8 @@
 CONFIG_BROKEN_ON_SMP=y
 CONFIG_LOCK_KERNEL=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_LOCALVERSION=""
-CONFIG_LOCALVERSION_AUTO=y
+CONFIG_LOCALVERSION="-00392-g8312baf"
+# CONFIG_LOCALVERSION_AUTO is not set
 CONFIG_SWAP=y
 # CONFIG_SYSVIPC is not set
 # CONFIG_POSIX_MQUEUE is not set
@@ -221,8 +221,8 @@
 CONFIG_MSM_CPU_FREQ=y
 CONFIG_MSM_CPU_FREQ_ONDEMAND=y
 # CONFIG_MSM_CPU_FREQ_SCREEN is not set
-CONFIG_MSM_CPU_FREQ_ONDEMAND_MAX=384000
-CONFIG_MSM_CPU_FREQ_ONDEMAND_MIN=245760
+CONFIG_MSM_CPU_FREQ_ONDEMAND_MAX=528000
+CONFIG_MSM_CPU_FREQ_ONDEMAND_MIN=128000
 CONFIG_MSM_HW3D=y
 CONFIG_MSM_ADSP=y
 CONFIG_WIFI_CONTROL_FUNC=y

出来上がったカーネルを下記に置いといた。
http://tetsu.homelinux.org/android/index.html
http://tetsu.homelinux.org/android/update-1.5-v5.zip

カーネルイメージの書き込み

adp1とUSBでつながっている状態で、

  • カーネルイメージをSDカードにコピー
$ adb push update-v5.zip /sdcard/update.zip
$ adb shell sync

として、SDカードにカーネルイメージをコピーする。

  • 赤(終話)ボタンを長押しして電源オフ。
  • ホームボタンを押しながら電源オンでリカバリモードに突入。
  • ALT+Lでヘルプ画面が出る。
  • ALT+Sでファームの書き込み。
  • 終わったらホーム+バックで再起動。

HTC Dream(aka T-Mobile G1, Android Dev Phone 1)の公式cupcake用クロックアップカーネルの下限クロックを下げてみる

cupcake(1.5)用クロックアップカーネルが安定しているようなので、もう少しいじってみた。
下限クロックが246MHzになっているのを、どこまで下げられるかやってみた。

下限クロック

いろいろ変えて試してみた。

クロック [MHz] 正確な値 [kHz] 起動結果
246 245760 OK
176 176000 OK
128 128000 OK
123 122880 起動せず

128MHzが限界らしい。

修正点

今回もカーネルのコンフィグ修正のみ。
arch/arm/configs/msm_defconfigをkernelディレクトリに.configとしてコピーしてから、下記のような修正をする。

--- arch/arm/configs/msm_defconfig      2009-03-21 23:01:52.000000000 +0900
+++ .config     2009-05-01 15:29:15.000000000 +0900
@@ -35,8 +35,8 @@
 CONFIG_BROKEN_ON_SMP=y
 CONFIG_LOCK_KERNEL=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_LOCALVERSION=""
-CONFIG_LOCALVERSION_AUTO=y
+CONFIG_LOCALVERSION="-00392-g8312baf"
+# CONFIG_LOCALVERSION_AUTO is not set
 CONFIG_SWAP=y
 # CONFIG_SYSVIPC is not set
 # CONFIG_POSIX_MQUEUE is not set
@@ -221,8 +221,8 @@
 CONFIG_MSM_CPU_FREQ=y
 CONFIG_MSM_CPU_FREQ_ONDEMAND=y
 # CONFIG_MSM_CPU_FREQ_SCREEN is not set
-CONFIG_MSM_CPU_FREQ_ONDEMAND_MAX=384000
-CONFIG_MSM_CPU_FREQ_ONDEMAND_MIN=245760
+CONFIG_MSM_CPU_FREQ_ONDEMAND_MAX=528000
+CONFIG_MSM_CPU_FREQ_ONDEMAND_MIN=128000
 CONFIG_MSM_HW3D=y
 CONFIG_MSM_ADSP=y
 CONFIG_WIFI_CONTROL_FUNC=y

出来上がったカーネルを下記に置いといた。
http://tetsu.homelinux.org/android/index.html
http://tetsu.homelinux.org/android/update-v4.zip

カーネルイメージの書き込み

adp1とUSBでつながっている状態で、

  • カーネルイメージをSDカードにコピー
$ adb push update-v4.zip /sdcard/update.zip
$ adb shell sync

として、SDカードにカーネルイメージをコピーする。

  • 赤(終話)ボタンを長押しして電源オフ。
  • ホームボタンを押しながら電源オンでリカバリモードに突入。
  • ALT+Lでヘルプ画面が出る。
  • ALT+Sでファームの書き込み。
  • 終わったらホーム+バックで再起動。

HTC Dream(aka T-Mobile G1, Android Dev Phone 1)の公式cupcake用クロックアップカーネルを作ってみる

adp1用のcupcake(1.5)がちゃんと使えるようなのでクロックアップをしてみた。

修正点

ソースの修正は不要。カーネルのコンフィグだけでクロックが変更できる。だいぶ進化している。
arch/arm/configs/msm_defconfigをkernelディレクトリに.configとしてコピーしてから、下記のような修正をするだけ。

--- arch/arm/configs/msm_defconfig	2009-03-21 23:01:52.000000000 +0900
+++ .config	2009-04-30 01:02:47.000000000 +0900
@@ -35,8 +35,8 @@
 CONFIG_BROKEN_ON_SMP=y
 CONFIG_LOCK_KERNEL=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_LOCALVERSION=""
-CONFIG_LOCALVERSION_AUTO=y
+CONFIG_LOCALVERSION="-00392-g8312baf"
+# CONFIG_LOCALVERSION_AUTO is not set
 CONFIG_SWAP=y
 # CONFIG_SYSVIPC is not set
 # CONFIG_POSIX_MQUEUE is not set
@@ -221,7 +221,7 @@
 CONFIG_MSM_CPU_FREQ=y
 CONFIG_MSM_CPU_FREQ_ONDEMAND=y
 # CONFIG_MSM_CPU_FREQ_SCREEN is not set
-CONFIG_MSM_CPU_FREQ_ONDEMAND_MAX=384000
+CONFIG_MSM_CPU_FREQ_ONDEMAND_MAX=528000
 CONFIG_MSM_CPU_FREQ_ONDEMAND_MIN=245760
 CONFIG_MSM_HW3D=y
 CONFIG_MSM_ADSP=y

出来上がったカーネルを下記に置いといた。
http://tetsu.homelinux.org/android/index.html
http://tetsu.homelinux.org/android/update-v3.zip

カーネルイメージの書き込み

adp1とUSBでつながっている状態で、

  • カーネルイメージをSDカードにコピー
$ adb push update-v3.zip /sdcard/update.zip
$ adb shell sync

として、SDカードにカーネルイメージをコピーする。

  • 赤(終話)ボタンを長押しして電源オフ。
  • ホームボタンを押しながら電源オンでリカバリモードに突入。
  • ALT+Lでヘルプ画面が出る。
  • ALT+Sでファームの書き込み。
  • 終わったらホーム+バックで再起動。

HTC Dream(aka T-Mobile G1, Android Dev Phone 1)の公式cupcakeをインストールしてみる

HTCよりadp1用のcupcake(1.5)が配布されていたのでインストールしてみた。
(手順が間違ってたので修正)
http://www.htc.com/www/support/android/adp.html

ファイル取得

http://www.htc.com/www/support/android/adp.htmlからAndroid 1.5用のイメージファイルを2つもらってくる。

  • ラジオファーム: ota-radio-2_22_19_26I.zip
  • リカバリイメージ: signed-dream_devphone-ota-147201.zip または システムイメージ: signed-dream_devphone-img-147201.zip

以下の手順で、

  • ラジオファーム+リカバリイメージ または ラジオファーム+システムイメージ

を書き込む。

ラジオファームの書き込み

adp1とPC/MacがUSBでつながっている状態で、

  • ラジオファームをSDカードにコピー
$ adb push ota-radio-2_22_19_26I.zip /sdcard/update.zip
$ adb shell sync

として、SDカードにラジオファームをコピーする。かわりにmicroSDカードリーダ等を使っても良い。

  • 赤(終話)ボタンを長押しして電源オフ。
  • ホームボタンを押しながら電源オンでリカバリモードに突入。
  • ALT+Lでヘルプ画面が出る。
  • ALT+Sでファームの書き込み。
  • 終わったらホーム+バックで再起動。
  • 再起動後にファームウェアの書き込みが実行される。

リカバリイメージの書き込み

手順はラジオファームと同様。adp1とPC/MacがUSBでつながっている状態で、

  • リカバリイメージをSDカードにコピー
$ adb push signed-dream_devphone-ota-147201.zip /sdcard/update.zip
$ adb shell sync

として、SDカードにリカバリイメージをコピーする。システムイメージと名前が似ているので注意。

  • 赤(終話)ボタンを長押しして電源オフ。
  • ホームボタンを押しながら電源オンでリカバリモードに突入。
  • ALT+Lでヘルプ画面が出る。
  • ALT+Sでファームの書き込み。
  • 終わったらホーム+バックで再起動。
  • 再起動後にファームウェアの書き込みが実行される。

システムイメージの書き込み

adp1とPC/MacがUSBでつながっている状態で、

  • システムイメージの書き込みと再起動
$ fastboot update signed-dream_devphone-img-147201.zip


これですっかりcupcakeになった。何も問題がないのでしばらく使い続けることにする。