2012年9月3日月曜日

Androidの起動状態

今後記事を書くときに、Androidとは直接関係無いけれど、コンピューター的には一般常識と思われる言葉には緑の色をつけときますね。意味がわからない人はググりましょう。

Androidには4つの起動状態があります。
機種によっては全ての状態になれないものもありますが。。。
1.FastBootモード
2.リカバリーモード
3.通常起動モード
4.セーフティーモード

FastBootモード

ブートストラップ中最初のブートローダーを読み込んだ状態です。
この状態のとき、AndroidOSは読み込まれていません。画面表示も無く、キーも利かない状態です。Linuxとしてもshellが動作できる状態ではありません。
この時にできることは、USBで接続されたPCの上で走る、機種(メーカー)専用のプログラムでROMファイルをAndroid端末に転送し、書き込む事だけです。
携帯電話とは国毎、キャリア毎に使用する電波の周波数や使い方が違います。この設定情報はベースバンド情報と呼ばれていますが、AndroidOSではなくLinux上で管理されているようです。
このベースバンド情報の書き換えは、通常このFastBootモードにて行われます。

Recoverモード

AndroidOSは動作していませんがLinuxがある程度動作している状態です。
Linux上でAndroidが動作するためのファイルシステムは、ほぼマウントされ、SDカードが読み書きできます。
機種によってどのようなリカバリプログラムが入っているか異なりますが、
SDカードに書き込まれたROMのアーカイブを解凍して、各ファイルシステム(/bootや/systemなど)
にファイルとして書き込めます。キャリアが提供するアップデートやカスタムROMの書き込みは、通常このリカバリーモードにて行われます。
カスタムROM書き込みには ClockWorkMod のようなカスタムリカバリプログラムが必要となりますが、通常、FastBootモードにてカスタムリカバリプログラムを書き込んでおきます。

通常モード

説明省略

セーフティーモード

AndroidOSが起動しますが、システムアプリのみを起動し、ユーザアプリを起動しません。
…しかし、これといって使い道が無いモードですよね。

各モードへの入り方は機種ごとに違います。大抵ボリュームキーのどちらかを押しながら電源キーを長押しする…てな感じですが。

カスタムリカバリプログラムはJavaでは無くネィティブコードで書かれています。
つまり、その機種ごとに違うハードキーを認識したうえ、その機種のCPU向けにコンパイルされたコードで書かれているということです。やはりグローバルにユーザーが多い機種のほうが有利ですね。

今日の一言:「やっぱ、国内メーカーじゃなくてグローバルモデルっしょ。」

0 件のコメント:

コメントを投稿