2013年4月22日月曜日

Galaxy Nexus(SC-04D) 初期ROM バックアップ

開発用端末として購入したGalaxy Nexus。
ROM焼きに失敗したとき用に、初期ROMをバックアップした時の備忘録。

バックアップにはClockWorkModを使うらしい。
ClockWorkModとはバックアップ&リストアが出来るカスタムのbootloaderなのかな?
以下手順。

1. Galaxy Nexusをfastbootモードで起動

Volume +/- を押しながら、電源投入。

2. ClockWorkMod Recoveryをダウンロード

ここから、Google Galaxy Nexus (GSM)のRecoveryをダウンロード。
# ファイル名は recovery-clockwork-6.0.3.1-maguro.img

3. ClockWorkMod Recoveryで起動

 fastboot状態のGalaxy NexusとPCを接続して、下記を打ち込む。

$ fastboot boot ~/***/recovery-clockwork-6.0.3.1-maguro.img

4. ClockWorkModでバックアップ

ClockWorkMod Recoveryで起動した画面で、"backup and restore"を選択。
(選択の移動にはVolumeキー +/- , 決定は電源ボタン)
続いて"backup"を選択すると、backupが始まる。

5. 再起動

バックアップが完了したら、"+++++Go Back+++++"を選択して前の画面に戻り、"reboot"を選択。

6. バックアップしたファイルをPCに保存

手順4で取ったバックアップは本体に保存されるので、これをPCにコピーする。

$ adb pull /sdcard/clockworkmod/backup/日付

以上で、バックアップ完了。

2013年4月20日土曜日

Xperia Sola root化 part2

前回に引き続き、Xperia Sola root化の備忘録。

まず必要なファイルをここから辿ってダウンロードする。
必要なファイルは
  1. Root_with_Restore_by_Bin4ry
  2. 6.1.1.B.1.10と6.1.1.B.1.54のkernel
  3. Flashtool
 手順は
  1. Flashtoolで6.1.1.B.1.10のkernelを焼く
  2. Root_with_Restore_by_Bin4ryでroot化
  3. Flashtoolで6.1.1.B.1.54のkernelを焼く

1. Flashtoolで6.1.1.B.1.10のkernelを焼く

今回はLinuxで試した。まずFlashtoolを起動する前に、
ダウンロードしたtftファイルをFlashtoolディレクトリにあるfirmwareにコピーしておく。
Flashtoolをrootで実行すると下記の画面になる
雷のようなマークをクリック。
そのままOKをクリック。
6.1.1.B.1.10のkernelを選んでOKをクリック。
電源を落としたXperia Solaを接続(Volume downを押しながら?)。
成功後に再起動すると、文字が崩れた状態で起動する。
感覚でロックを解除して次の手順に進む。

2. Root_with_Restore_by_Bin4ryでroot化

これは前回の手順と同じなので省略。
ただ、今回も復元の途中でエラーが起きて再起動になってしまって「失敗か?」と思ったが、
再起動後無事にSuperSuがアプリ一覧に追加されていた。
しかも、再起動後は文字の崩れも治っていて、そのまま利用できる状態になっていた。
# 6.1.1.B.1.54のkernelの焼き直しは必要ないのかしら?

root化自体はこれで完了。
端末情報を見るとkernelのバージョンは6.1.1.B.1.54になっているが、6.1.1.B.1.10を焼いて起動
した直後にも確認したところ6.1.1.B.1.54となっていたので、焼き直してもこの部分の情報は更新がかからないようだ。
なので、多分root化が成功して、画面もちゃんと映るようになっていてもkernel自体は古いままなのだろう。

 3. Flashtoolで6.1.1.B.1.54のkernelを焼く

手順1のkernel選択画面で、6.1.1.B.1.54を選択して、同じ手順を行う。

以上で、Xperia solaのroot化は完了。

Xperia Sola root化

Xperia Solaをroot化した時の備忘録。


android端末のroot化をしたことがなかったので、
色々調べてみるとXperiaのroot化ツールとしてRoot_with_Restore_by_Bin4ryといものが一般的みたい。
早速ダウンロードして、解凍してみるとファイル構成は以下の通り。

              / ---  RunMe.bat
                  |-- RunMe.sh
                  |-- stuff
                  |-- z_rootkit

LinuxでやるにはRunMe.shを使うみたいなので、XperiaをUSBデバッギング状態で接続して早速実行。


 $ chmod +x RunMe.sh 
 $ ./RunMe.sh

エラーが起きて終了してしまう、原因はRunMe.shの改行コードがCRLFになっていること。
なので、LFに変更してから再度実行。

 $ nkf -Lu RunMe.sh > MyRunMe.sh
 $ mv MyRunMe.sh RunMe.sh
 $ chmod +x RunMe.sh
 $ ./RunMe.sh

実行すると入力を促されるので"1"を打ってenter。
するとXperiaで「バックアップと復元」のアプリが起動されるので、「復元」を押下。
何もなく再起動がかかればroot化成功らしいが、エラーが起きて再起動がかかりroot化出来なかった。

ぐぐってみると、kernelのビルドバージョンが「6.1.1.B.1.154」だとこの方法は塞がれてしまっているとのこと。
別の方法でkernelを書き換えてから、root化し、kernelを戻すやり方があるみたいなので、次回はそれを試してみようと思う。

2013年4月17日水曜日

Unlock the boot loader on Xperia Sola

去年xperia solaを購入したが、特に利用機会がなかったので、開発用端末にした際の備忘録。
xperiaは2011年以降の端末だったら公式でunlock方法があるので、それを参考にした。http://unlockbootloader.sonymobile.com/instructions

前提条件

  1. Windows or Linuxに既にAndroid SDKが入っていて、fastbootが打てる状態になっている
  2. 公式手順ではあるが何が起きても自己責任でお願いします

手順

  1. Service Menuの表示
    発信画面で *#*#7378423#*#* を入力
  2. Unlock可能端末か確認
    Service Info -> Configuration -> Rooting Status
    [Bootloader unlock allowed] の項目がYesであればunlock可能。
    Noである場合はunlock不可の端末。
  3. unlock boot loader keyの入手
    ここまできたら、上記のsonyの手順サイトの下にある[continue]を押して次のページに移動する。
    チェックを入れて進んでいくと、ポップアップ画面が出て情報入力を促される。
    IMEIはRooting Statusでも書いてあるし、発信画面で *#06# と入力すると出てくる。
    出てきたIMEIが15文字だったら、最後の1文字を消したものを入力する。
    [OK]を押すと、入力したメールアドレスにkeyが送られてくる。
  4. unlock
    Xperia Solaの電源を落とし、Volume Upを押しながらmicro-usbを挿す。
    ※ この時、もう一方の口をPCと接続しておくことを忘れずに。
    電源ランプが紫に点灯したら成功。続いて下記のコマンドを入力。

    $ fastboot devices

    で端末が認識されていることを確認した後、

    $ fastboot -i 0x0fce oem unlock 0x"先ほど入手したキー"

    成功すると

    ...
    (bootloader) Unlock phone requested
    OKAY[   *.***s]
    finished. total time: *.***s

    と画面に出る。コマンドを打って一瞬で終わる。
以上で完了。

2013年4月16日火曜日

Galaxy Nexus

今更ながらGalaxy Nexusを購入。


FirefoxOSを勉強するにあたり、Pandaboardだと限界があったため。
また、UbuntuPhoneも試してみたかったので今更感が半端ないが購入。
今日届いたばかりで、これから色々試してみよう。

2013年3月13日水曜日

firefoxOS について

今日は firefoxOS についてつらつら、結論もなく書いてみようと思う。

動機

FirefoxOS が思いの外、話題になって、しまいには有名ニュースサイトのトップまで飾るようになっていて正直驚いたことが発端である。
私の見解では FirefoxOS は非常にグレーな mobile OS であって、個人的には一部のギークに受けるが、一般的には全く受けないと思う。
理由は色々あり後日まとめようと思うが、私が思う流行らない理由は以下の 3 つだ。

流行らないと思う理由

  1. OSS の不透明性
    FirefoxOS は media 関連の module 等(native)はまんま android のソースコードだ。あんまり詳しくみてないが、まんま android なんじゃないかな?と思う。
    android は OSS  と言われているが、メーカーが脱 Google と言っているのを耳にすれば、自然と OSS(笑) というのは安易に想像できる。
    個人的にはいつまで Google が黙っているのだろうかと思う、と同時に、Google に指摘された時点でアウトだと思っている。
  2. Eco System
    アプリが書きやすいのは納得できるし、開発者が楽なことはいいことだ。
    しかし、iOS / android でさえ「ハイブリッドアプリは…」となっている時代に、わざわざ違う環境で、しかもあんまり母体数が少ない端末のアプリ開発に情熱を注ぐ人はどれほどいるのだろう?と個人的に思う。
    「HTML5 だから流用できるだろ、情弱が…」と思われるかもしれないし、自分でも流用性の面は全面的にその認識である。
    ただ、現在 HTML5 を使ったアプリが十分な速度で動作するハードウェアが登場するまでに、FirefoxOS は生き残っているのだろうか…と思う。
  3. Apple / Google の脅威
    とここまで、FirefoxOS 観点で理由を説明したが、個人的に一番流行らないと思う理由はこれである。
    現在、HTML5 と native をつなぐ手段を用意していない両者が、「あーっ!Mozilla にやられたわー。もうお手上げだわー。」みたいな状態になるとも思えない。
    個人的には、しれっとそのパスを用意して、FirefoxOS の強みであるアプリの作りやすさを実現してしまいそうな気がしている。

まとめ

以上、ネイティブな話をつらつらと語ってみたが、個人的には非常に面白い OS だと思っている。ただ、トップニュースになるような話かどうかっていうのは疑問だったので、この記事を書いた。
正直、脱 Google と言っているが、もうそれが出来ない状況になっていると思う。ならば、素直に仲良くやっていたほうがよいと思うし、冷静に判断した方がよいと思います。

2013年2月26日火曜日

FirefoxOS on RaspberryPi

Outline

RaspberryPi 上で FirefoxOS を動かした時の備忘録。

手順

まずは大まかな手順を下記に示し、その後、各手順に関して説明する。
  1. RaspberryPi で Raspbian "wheezy" を起動する。
  2. コマンドライン画面になったら B2G をダウンロード
  3. 起動用プロファイルのダウンロード
  4. 起動
という感じである。以下、詳細を記していく。

 1. RaspberryPi で Raspbian "wheezy" を起動する

  Raspbian wheezy とは RasbperryPi 上で動く Debian wheezy である。
  本家の http://www.raspberrypi.org/downloads からダウンロードできる。
  ダウンロードしたら、解凍して出来る img を SD カードに焼く。以下、sdb と認識された場合の手順。
   $ unzip 2013-02-09-wheezy-raspbian.zip
   $ umount sdb*
   $ dd bs=4M if=2013-02-09-wheezy-raspbian.img of=/dev/sdb
  しばらくすると書き込みが終わる。一連の手順は http://elinux.org/RPi_Easy_SD_Card_Setup に記されていて、
  Windows / OSX での焼き方も書いてあるので適宜参考にして下さい。

  上記で作成した SD カードを RaspberryPi に挿入し、microUSB で電源を入れ起動。
  初期設定画面が出てくるが、今回は何もせずに Finish を選択。
  ※ ここで何もしないと、英語配列のキーボードになってしまうので、
  ※ 日本語配列にしたい場合は キーボードレイアウトを変更して下さい。

 2. コマンドライン画面になったら B2G をダウンロード

  コマンドラインが立ち上がったら、以下のコマンドを実行。
   $ mkdir work & cd work
   $tar xvzf b2g-17.0a1.linuxgl-gnueabi-armhf_v6.tar.gz
   $cd b2g/
   $ldd b2g

 3. 起動用プロファイルをダウンロード

  b2g のディレクトリで以下のコマンドを実行。
   $tar xvzf profile.tar.gz

 4. 起動

   b2g のディレクトリに実行バイナリで b2g コマンドがあるので、
  先ほど落としたプロファイルで起動するようオプションを設定し起動。
   $ ./b2g -profile profile

起動画面



起動が成功すると、こんな感じでディスプレイに対して、左下にちょこっと映し出される。

ちなみに、何度が起動に失敗することもあったり、設定アプリケーションを選択した時点で落ちることもあったので不安定な印象。

FirefoxOS を終了させたい時は、Ctrl + c でターミナルに戻ることが出来る。

まとめ

今回は RaspberryPi で FirefoxOS を起動してみた。
すごい簡単に起動できてしまったし、マウスも効くのでとりあえず動かしてみたいという人にはおすすめ。
まぁ、Firefox のアドオンで動かすこともできるので、そっちの方がお手軽ではあるが。
最近 MWC において FirefoxOS が注目を集めているので、今後の動向に注目してみよう。