|
現: 2020-12-26 (土) 15:07:53 yuji |
| + | *パーテーションとブート [#sbb06cef] |
| + | **HT-03Aのパーティション [#qdd82c24] |
| + | Dwangを入れた後だけど,HT-03Aのパーティションは,~ |
| + | -Flash ROM |
| + | mtd0: 00040000(256K) "misc" |
| + | mtd1: 00500000(5120K) "recovery" |
| + | mtd2: 00280000(2560K) "boot" |
| + | mtd3: 05a00000(92160K) "system" |
| + | mtd4: 05000000(81920K) "cache" |
| + | mtd5: 127c0000(302848K) "userdata" |
| + | まだよくわかっていないのだが, |
| + | VolumeDown+電源で起動すると,HBOOTモード("boot"かな)でブートする。~ |
| + | Home+電源で起動すると,Recoveryモード("recovery")でブートする。~ |
| | | |
| + | -bootパーテーションには,Linux Kernelとinitrdが入っている。 |
| + | -systemパーテーションには,Linuxコマンド,Androidプラットフォーム,アプリが入っている。 |
| + | -recoveryパーテーションには,システムをrebuildしたりアップデートするためのファイルが入っている。 |
| + | -Recovery Flasherが書き換えるのは,Recoveryパーティション。 |
| + | -Recoveryモードを書き換えた後,Recoveryモードを起動すると,systemパーティションのバックアップが取れるようになる。 |
| + | -Factory Resetを行うと,userdataとcacheパーティションの中身を削除するのかな? |
| + | -"system"は,/systemにmountされる。 |
| + | -"userdata"は,/dataにmountされる。 |
| + | |
| + | **HT-03Aのブートプロセス [#wd6aac6a] |
| + | +CPUリセット~ |
| + | Qualcomm MSM7201Aがリセットされると,内蔵mask romの0xFFFF0000から実行される(PBL)。~ |
| + | いくつかのハードウェアをイニシャライズ後,SBL(Secondary Boot Loader)とOSBL(Operating System Boot Loader)をEBI2(External Bus Interface 2)につながっているFlash ROMから,RAMへ読み込む(2048byte x64page =128kb)。~ |
| + | REXと呼ばれる電話機能用DSPのためのファームウェアも読み込まれ,SD0で実行される。~ |
| + | PBLはセキュリティチェック機能を持っていて,SBL,OSBLとREX実行前にそれをチェックしている。~ |
| + | この後,HBOOT(Host Boot loader)をRAMに読み込んで,SD3でHBOOTが起動される。~ |
| + | たぶん,スプラッシュ画面を表示しているのもこのシーケンス内で行っていると思われる。~ |
| + | +HBOOT~ |
| + | ハードウェアの設定,各種の設定,OSのロードと実行などを行う。~ |
| + | 端末のファームウェアのバージョンアップ対応なども行えるように出来ている。~ |
| + | HBootは,いくつかのモードを持っている。 |
| + | ++Fastbootリスタート~ |
| + | 通常電源OFF-ONした場合3分ぐらい起動にかかるが,電源OFF直後6秒までならFastbootと呼ばれる高速モードで起動できるようにするため。 |
| + | ++OSのロード・起動~ |
| + | "boot"パーテーションをロードして(vmlinux+initrd),linuxをブートする。 |
| + | ++リカバリーシステムのロード・起動~ |
| + | "recovery"パーテーション(linux+リカバリツール等)をロードして,システム修復のためのモードを起動する。 |
| + | ++HBootメニューとリモートコマンドパーサー~ |
| + | 対話形式で,HOSTと接続してリモート操作が出来る。 |
| + | ++Fastbootメニューとリモートコマンドパーサー~ |
| + | 対話形式で,HOSTと接続してリモート操作が出来る。 |
| + | ++リモート・アップデート・ユーティリティ(RUU)ファイル転送モード |
| + | bootイメージのCID((キャリアID: スマートフォンにはキャリアのIDが登録されていて,キャリアのROMしか受け付けないようなカラクリがある。ほかのキャリアのROMを焼きたい時にはCIDのアンロックをしないといけない。ちなみにHT-03AのCIDは,DOCOM801))や署名をチェックした後,エントリへジャンプ~ |
| + | +ファイルシステムのマウント~ |
| + | linuxが起動した後,最初のプロセスであるinitが動き,init.rcにしたがって初期化,ファイルシステムのマウント,サービスの起動等を行っていく。~ |
| + | +JAVA VMの起動~ |
| + | |
| + | **nandroid [#sdce0d44] |
| + | HT-03Aを使い始めたのは4月からなんで,Googleで検索しているとそこらじゅうで「nandroid」っていう言葉が出てくる。どうもCyanogenmodっていうカスタムROMの作者がCyanogenさんって言う人らしく,その人が作成したツールがnandroidっていうものだそうだ。機能は,本体Flashメモリ(NAND ROM)のバックアップをSDカードのFAT領域に保存するツールなんだけど,カスタムrecoveryモードに組み込まれている。~ |
| + | nandroidは,現在のFlashROMのスナップショットを保存できるんで,なんかいじっていておかしくなった時なんか,保存した状態に書き戻せる。~ |
| + | 違うバージョンのAndroidをいれたらnandroidバックアプしたSDに保存しておけば,いつでもそれに書き換えることが出来るってこと。俺のHT-03AはカスタムROMになってるんだけど,この機能を使ってdocomoオリジナルROMに戻すことが出来る :) |