2012年7月31日火曜日

XPERIA acro HD (KDDI IS12S)にICSがやって来た! だったらrootも維持してアップデートしましょ♪

ついに本日午後(2012年7月31日 16:00ごろから?)、XPERIA acro HDに待望のAndroid 4.0.4 (ICS)へのアップデートがやってきました!
といってもKDDI IS12Sだけですが…。
docomo SO-03Dな方々、ゴメンナサイ。
※ドコモ版については、ケータイ watchの記事にキナ臭い話も上がっててチト心配ではあります。

ICSが来たんだから、せっかく2.3.7で奪取したrootを維持したままアップデートしてやろうというのが今回の趣旨です。

※※※ root維持の何らかの対策しないで4.0.4にアップデートしちゃった方へ ※※※
4.0.4の脆弱性を突くには、/data/local/tmpが書き換え可能な状態である必要があります。
ですが、4.0.4では shellユーザに/data/localの書込権限が無いため、これはできません。
したがって、2.3.7の状態でrootを取得してから再度アップデートになります。(残念ですが初期化込みです)
ただし、/data/local.propが有って、書き込み可能なら望みはありますよ。バッチを改造してみてくださいね♪

【注意事項】
メーカー及びキャリアの保証外の行為です。何があってもキャリアショップに駆け込むような厄介行為はやめてください。
全て自己責任にて実施してください。
※ 毎度ですが、絶対のお約束ですよ♪

root keeper for IS12S GB to ICS (ver 1.0.0)
http://www.mediafire.com/?jm09ql65inavjx3

【前提条件】
・ Android 2.3.7の状態でrootを取得していること

【事前準備】
(1) root keeperのzipファイルを適当なフォルダに展開
(2) 必要ファイルをfilesフォルダにコピーする
※例によってfilesフォルダはカラなので、"rooting toolkit for XPERIA acro HD (ver1.0.1) KDDI IS12S / docomo SO-03D 両対応版"の実施時に集めたファイル達をそのまま置きます。
(3) 端末側設定「提供元不明アプリ」の有効化
(4) 端末側設定「USBデバッグ」の有効化
(5) CWMをインストール済みなら、フルバックアップを取っておきましょう♪

【手順の概要】
(1) Android 2.3.7の状態でshell root維持のための準備
(2) PCを使ってAndroid 4.0.4へのアップデート
(3) root keeperの実行

※ Sony Update Service (旧SEUS)を使う手順になっていますが、PC Companionでも初期化しないでアップデートはできるはず
※ SEUSの方が好みなのです…

【実施手順】
(1) acro HDをPCに接続してstep1.batを実行

(2) 一旦、acro HDの電源を切り、PCと繋いでいるUSBケーブルを抜く

(3) Sony Update Serviceを起動

(4) Xperia acro HDを選択して、「次へ」 ボタンを押下

(5) acro HDのボリュームダウンキーを押しながらPCと接続

(6) 「アップデート(推奨)」を選択し「インストール」ボタンを押下 ※初期化しません!!

(7) アップデートファイルのダウンロードと適用が始まるので完了までしばし待つ

(8) アップデートが完了したら「終了」ボタンを押下

(9) acro HDの電源を入れ、起動するまでしばし待つ

(10) acro HDをPCに接続した状態でstep2.batを実行 ※もしかしたら再起動しちゃうかも?

(11) acro HDをPCに接続した状態でstep3.batを実行

(12) 再起動し終わったら作業完了です♪

【作業後の確認】
ちゃんとrootが維持されているか確認してみます♪ 

カーネルバージョン: 3.0.8+1.0.21100-30145-01939-gdb61f60
ビルド番号: 6.1.D.0.170

※※最後に重要注意事項※※※
これまでAndroid 2.3.7用にリリースした12トグルやカーネルモジュールは使えません!!
12トグルを適用すると 文鎮するかと思いますので絶対ダメですよ!!!

XPERIA mini pro SK17iを今更ながら輸入してみた。

今更ながらXPERIA mini pro SK17iを輸入してみました。

注文したところは、その界隈では有名な 1ShopMobile.com
結構粗相があるというのが気になるところですが、結構な円高になっているのと日替わりの値引きが$18にもなっているのもあり注文してみました。


金曜のお昼休みに注文、通関は土曜で日曜早朝には地元郵便局に到着していて受取とか、ヘタな国内通販より海外通販の方が早いってどういうことでしょうか?w

その昔、Smart Qという Android端末をDXで注文してから受取までに2ヶ月かかったのを考えると信じられないスムーズさで、正直驚いてます。

2012年7月29日日曜日

自宅がいつの間にかXiエリアになっていた

いつの間にか自宅がXiエリアになってました。
L-09Cを使い始めて初めて気付いたので、いつから対応になったのかはわかりません…。

というのは、L-09Cが来るまで我が家唯一のXi端末だったArrows Tab LTE (F-01D)は、自宅や最寄駅近辺ではLTE表示にならなかったので全く気が付きませんでした。
※L-09Cでは「LTE」アイコンになりますが、F-01Dは「3G」のまま

元々7月末までにエリア化予定の地域なんでいつからだろう?と思ってましたが、L-09C買って無かったら気付かずドコモにクレームするところだったよ♪

2012年7月25日水曜日

Motorola Electrifyの裏ブタが届いた♪

記憶から忘れ去られていた Motorola Electrifyの裏ブタが届きました♪


Motorola Electrifyとは、US Cellularから発売されている端末で、Photonと微妙に配色が違うくらいの機種です。
中身は WiMaxが無い劣化版ですがw

実を言うと発注したのは今年の1月末。
Sprint版の裏ブタに交換するのが回りで流行っていて、みんなと同じだと面白くないのでElectrifyのをcnn.cnに発注していましたが、今頃になって…。


なんでこんなに遅くなったのには訳があって…。
香港のCellular Nationwide Network(cnn.cn)に注文したのは1/29。旧正月なこともあり到着は2/8
しかし、届いたのはSprint版の裏ブタという粗相!
cnn.cnに問い合わせたら、在庫が無いけど入荷したら代品送るし、Sprint版は返却しなくても良いということで待ってましたが、待てど暮らせど来ないんで、代品が来ることするら忘れていましたw

こっちが忘れるくらいの時間が経ったものの、ちゃんと約束守って代品を送ってきたcnn.cnはエラいぞw
まぁ、大幅納期遅延だけどナーw

2012年7月22日日曜日

IS12SのKernel Moduleをビルドする

XPERIA acro HD KDDI IS12Sのカーネルモジュールをビルドしたので備忘録。
CentOS 6でやってます。Debianとかもで大丈夫かと。

今回作ったもの
・ nls_utf8.ko
・ ntfs.ko
※IS12Sではcifs, slow-work, tunなど欲しいものは意外と組み込み済みだったります。

用意するもの


クロスコンパイラの導入

ウチでは /optにandroid-ndk-r5c-linux-x86.tar.bz2を展開しました。
# cd /opt
# tar jxvf ~huhka/android-ndk-r5c-linux-x86.tar.bz2

ソースの準備

ウチではホームディレクトリ以下に android/kernel/6_0_D_0_274を作って展開しました。
※基本的には展開場所はどこでも大丈夫
$ mkdir -p /home/huhka/android/kernel/6_0_D_0_274
$ cd 6_0_D_0_274
$ tar jxvf ../6_0_D_0_274_tar.bz2

実機のカーネルバージョンにあわせるためパッチあて
パッチあて対象:kernel/arch/arm/configs/fuji_hayate_defconfig
*** fuji_hayate_defconfig.org 2012-06-13 20:00:33.000000000 +0900
--- fuji_hayate_defconfig 2012-07-15 23:37:22.000000000 +0900
***************
*** 36,42 ****
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
! CONFIG_LOCALVERSION="-307005"
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_LZMA=y
--- 36,42 ----
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
! CONFIG_LOCALVERSION="-307005+"
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_LZMA=y

ビルド

まずは.configを作る
$ ARCH=arm CROSS_COMPILE=/opt/android-ndk-r5c/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/arm-eabi- make fuji_hayate_defconfig
※実際は1行で改行なし

次はmenuconfig
$ ARCH=arm CROSS_COMPILE=/opt/android-ndk-r5c/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/arm-eabi- make menuconfig
※実際は1行で改行なし

File systems → Native language support → NLS UTF-8 を"M"(モジュール)に
File systems → DOS/FAT/NT Filesystems → NTFS file system support を"M"(モジュール)に
NTFS file system support配下のものも選択
・ NTFS debugging support
・ NTFS write support

モジュール個別にビルド
$ ARCH=arm CROSS_COMPILE=/opt/android-ndk-r5c/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/arm-eabi- make prepare
$ ARCH=arm CROSS_COMPILE=/opt/android-ndk-r5c/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/arm-eabi- make scripts/mod/
$ ARCH=arm CROSS_COMPILE=/opt/android-ndk-r5c/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/arm-eabi- make M=fs/nls/
$ ARCH=arm CROSS_COMPILE=/opt/android-ndk-r5c/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin/arm-eabi- make M=fs/ntfs/
※実際は各1行で改行なし

nls_utf8.koとntfs.koができたので端末に持って行って読み込ませればOK♪
# insmod nls_utf8.ko
# insmod ntfs.ko

koを読み込んだ時に
insmod: init_module 'nls_utf8.ko' failed (Exec format error)
などとエラーになったら、dmesgしてみましょう♪

2012年7月21日土曜日

XPERIA acro HD KDDI IS12S関連ファイル置き場

Android 2.3.7向けCWM用ZIPファイル


通知領域12トグル
※ SystemUI.apk,SystemUI.odex,framework-res.apkを置き換えるのでオリジナルは要バックアップ
設置方法
自力でapkを弄る人へのガイド

ビルド番号 6.0.D.0.272 / カーネルバージョン 2.6.35.11-307005+ 向けファイル


nls_utf8.ko
※cifsとslow-workはカーネルに組み込まれています

ntfs.ko

※カーネルモジュールは対象のカーネルバージョン専用です


2012年7月8日日曜日

12トグル設置方法

XPERIA acro HD KDDI IS12Sの通知領域に12トグルを設置した件、CWM用のzipにしました。
acroHDStatusBar12Toggles4IS12S-6.0.D.0.274.zip
※ docomo SO-03Dでは試してません。
※ docomo SO-03Dでは再起動ループになっちゃうようなので使えません!!
※ うまく行かない人が多いようなのでリンクは削除しました (7/12)

【注意事項】
オリジナルの下記ファイルを削除するのでCWMでバックアップを取ってから実行してね♪
・ /system/app/SystemUI.apk
・ /system/app/SystemUI.odex
・ /system/framework/framework-res.apk


【実施手順】
zipファイルを/sdcardに置いてCWMを起動。
メニューから "install zip from sdcard" を選択。

[CWMでの操作方法]
・上下の移動はボリュームキー
・決定はホームキー
・戻る場合は戻るキー


"choose zip from sdcard" を選択。

sdcardから "acroHDStatusBar12Toggles4IS12S-6.0.D.0.274.zip" を選択。

確認されるので "acroHDStatusBar12Toggles4IS12S-6.0.D.0.274.zip" を選択。

ここでコンデジのバッテリー切れw

1回目は、なぜか失敗してしまう。
UOTのファイルとかでも失敗するので、なんとも…。
ウチの環境だけ???

そのまま、もう一回やり直す。

2回目は、ちゃんと成功した。
なんでかな?
マウントのタイミングとかが有るのかもしれないけど詳細不明。

CWMから再起動で設置完了♪

【参考】updater-scriptの中身抜粋

--------------- ここから ---------------
ui_print("## Mount File Systems");
run_program("/sbin/busybox", "mount", "/system");
run_program("/sbin/busybox", "mount", "/data");
ui_print("## Copying Files");
show_progress(1.2, 60);
delete("/system/app/SystemUI.apk");
delete("/system/app/SystemUI.odex");
delete("/system/app/QuickPanelSettings.apk");
delete("/system/framework/framework-res.apk");
package_extract_dir("app", "/system/app");
set_perm(0, 0, 0644, "/system/app/SystemUI.apk");
set_perm(0, 0, 0644, "/system/app/QuickPanelSettings.apk");
package_extract_dir("framework", "/system/framework");
set_perm(0, 0, 0644, "/system/framework/framework-res.apk");
ui_print("## done!");
show_progress(0.14, 3);
run_program("/sbin/busybox", "rm", "-rf", "/data/dalvik-cache");
ui_print("## Unmount File Systems");
run_program("/sbin/busybox", "umount", "/system");
run_program("/sbin/busybox", "umount", "/data");
show_progress(1, 0);
ui_print("## Finish!!");
--------------- ここまで ---------------

XPERIA acro HD (KDDI IS12S) 通知領域12トグル設置

やる気無いとか言いつつ、無いと不便なので、通知領域トグルを作りましたw

トグルスイッチ周りは、XPERIA P用のKTG-mod163v0からパクってます。




SystemUI.apkをビルドし直すのに手間取って徹夜してしまったw
apktool if SemcGenericUxpRes.apk
するのが抜けてたよ…。

2012年7月2日月曜日

rooted後の XPERIA acro HD KDDI IS12Sでやったこと

1. Titanium Backupのインストール

CMWがacro HDに未対応な以上、現在はコレしか選択肢無し。


2. カメラのシャッター無音化

飲み会にて食事やお酒の写真を撮るのに必要です。
ほーたーるーいーかー♪とかツイートするので…


3. 不要なアプリの凍結

Titanium Backupで凍結したもの
いまのところ支障無し。
※おサイフ使ってないので、その辺は未検証です。










4. 現時点のアプリ一覧








あとは、バッテリーのパーセント表示と通知領域にトルグ設置くらいかな?