攻撃は最大の防御なり

50代おやじの適当なブログです。

HTC SensationのS-OFF手順

2011-08-09 19:20:41 | HTC Sensation
S-OFFを行なう利点と必要性はそのうち書きますが、これを行なわないと何も出来ません。
という事でそんな難しい作業じゃないですけど、一応HTC SensationをS-OFFする手順を書いておきます。
本当ならここでお決まりの文鎮になる可能性もあるので自己責任で云々と書く所ですが
実はこれの説明のため俺のsensationを一旦S-ONの状態に戻しています。
S-OFFにするのもS-ONに戻すのも内部的に行われるのは同じ様なことで
HTCのRUUやOTAで普通に行われている処理内容です。(今回はOTA使ってS-ONに戻しました。)
それをリスクと捉えるかどうかはその人次第と言うことで。

さて、それでは先ずRevolutionaryのサイトから物をダウンロードしましょう。
俺の常用はLinuxですが、windows版の方が需要が高いと思われるのでそちらを説明します。

レジストキーを発行してもらうのにHBOOTのバージョンとシリアルナンバーが必要になります。

・HBOOTバージョンを調べる

bootloaderを起動します。
HTCデバイスお決まりの電源OFFでボリューム下キーを押しながら電源ONですが
高速ブートが有効になっているSensationだと普通の電源OFFからじゃ起動できません。
再起動を選んで立ち上がって来る所を見計らってボリューム下を押すのが一番簡単だと思います。



当然ですがS-ONですね。この例だとバージョンは1.17.0011です。
ちなみに俺みたいに再S-OFFする場合ですがHBOOTのバージョンが変わっても
Revolutionaryのサイトから発行されるキーは変わりません。
HBOOTバージョンはRevolutionaryチームが統計やサポートのために収集しているだけだと思います。

・シリアルナンバーを調べる

設定→この携帯電話について→電話ID→デバイスのシリアル番号



これです。

・レジストキーを取る

RevolutionaryのサイトにHBOOTバージョンとシリアルナンバーを入力します。
ちなみにこのキーはいつやり直しても同じものが表示されるので、控えておく必要は無いと思います。





・USBデバッグをONにする。

設定→アプリケーション→開発→USBデバッグ



・ドライバーを当てる

ここからドライバーをダウンロードしてインストしておきます。
Windows 7の場合はadbドライバーがsensationから自動でインストされる様ですが
fastbootのドライバーは自動で入らないのでここで当てておきましょう。

・S-OFF作業に入る

さて、いよいよS-OFFです。
PCとSensationをUSBケーブルで繋ぎRevolutionaryを起動しましょう。
ここでこのようにSensationのシリアルナンバーが表示されていればOKです。



こんな風にデバイスを探している状態から進まない様だったら、Sensationを繋ぎ直すとかRevolutionaryを再起動したりしてみましょう。



レジストキーを入力して先に進みます。



もし、上記のドライバーを当てていない場合はこの画面でだんまりになります。
その場合はドライバーを入れ直してRevolutionaryを再起動。

数回再起動後この画面になります。



ここでYを選ぶとClockworkMod Recoveryがインストされます。
別に後からでも出来ますがインストしておいた方が無難でしょう。
ここで入るClockworkMod RecoveryはRevolutionaryチームお手製みたいです。

この後いつのまにかdos窓が閉じていて、bootloaderのまま放置されて終わりましたよ的なお知らせは何もありません。



ちゃんとS-OFFになりましたね。
bootloaderでの操作は音量キーがメニュー上下、電源ボタンが決定です。
Rebootを選べば作業終了です。お疲れ様でした。

次はroot取りの作業について書く予定です。

[Android]Androidのファイルシステム

2011-08-09 09:50:43 | Android
Androidのファイルシステムはこんな感じのツリー状になっています。
(あくまでも一例で全てのデバイスが同じ構成とは限りません)

/─┬ cache
 ├ data
 ├ dev
 ├ mnt
 ├ proc
 ├ root
 ├ sbin
 ├ sys
 └ system

この中でSDカードは/mnt/sdcardにあります。
windowsで2機のHDDが乗ったPCがあった場合にはCドライブ,Dドライブ等、別ドライブに分かれた状態になりますよね。
しかし、LinuxやAndroidには別ドライブと言う概念が存在しません。
全ての記憶デバイスが「/」(rootディレクトリと呼ぶ)から始まるツリー上に乗った形になります。

特定の記憶デバイスをツリー上で使えるようにする事を「マウントする」と言います。
実際に試して見ましょう。
「アストロファイルマネージャー」を使って/mnt/sdcardを見てみます。



バッチリSDカードの中身が見えていますね。
これは「SDカードがマウントされた状態」です。

次に[設定]→[SDカードと本体のメモリ]→[SDカードのマウント解除]を実行します。





SDカードの中身が見えなくなりました。



「SDカードがアンマウントされた状態」です。

この状態では/mnt/sdcardは単なる空のディレクトリですが、
OSとしてSDカードをマウントする場合にはこのディレクトリを使用する事に決まっています。
このような特殊な用途に使用するディレクトリの事を「マウントポイント」と呼びます。

ここで良く考えて見て下さい。上記の「SDカードがマウントされた状態」では
同一ディレクトリツリー上にありながら実際は中身のデバイスが違っていたりしますよね。
もしSDカードにファイルを保存し過ぎて一杯になってしまったらどんな状態になるんでしょうか?
答えは/mnt/sdcardには書き込めないが、その他の/cacheや/dataには書き込める状態となります。
何か変な感じですけど、これは実際に触ってみないと理解しにくいのではないかと思います。

更にAndroidではcache,data,systemは内臓ディスクでも別パーティーションに分かれた物がマウントされています。
状態によってcacheには書けるけどdataには書けない等の場合が発生するわけです。