2011年11月19日土曜日

IS01 OSアップデート顛末記 - BB16でroot奪取!(BB16)

僕でもイケた!
BB16で root化できました☆


くれぐれも、自己責任でお願いします。

※ 注意 ※
rootした結果、3G/Wifi ともに使用できなくなりました。(T^T)



■解決しました。
設定 > リセット > 設定リセット を実行すると、3G/Wifi 共に復活しました!



現時点で最新の BB16 でroot化に成功しました。


手順は、下記「100円玉の対価」様を参照しました。
8以降の手順をそのまま実施して root化できました。


◆「100円玉の対価」様 IS01 BB16でのroot化
http://www.hlt.jp/cgi-bin/sfs6_diary.cgi?ction=article&year=2011&month=11&day=14&mynum=192

自分用のメモとして、root化までの手順を要約+画像付きで記載します。




1.AndroidSDKをインストールしPCとIS01を接続可能にする。

こちらを参照。

◆IS01 OSアップデート顛末記 - 画面キャプチャ





2.bb12_s、bb13 をダウンロードし、解凍する。
庵怒露慰怒さんのサイトから、[BB12_S] と [BB13] をダウンロードします。
拡張子[7z]は、「7-Zip」などのツールで解凍できます。




3.BB12_S フォルダ内 「autoexec.sh」 を編集する。
①25行目「mount -o remount,rw~」の下に、次の行を1行追加します。
mount -o remount,rw,suid,dev /dev/block/mmcblk0p2 /sbin

②4行目(setprop rild.libpath `getprop rild.libpath2`)を削除します。

③修正後、上書き保存します。


★★ 重要 ★★★

 改行コードは [LF]  にして下さい。





4.BB13 フォルダ内に、 [adbd] ファイルを作成する。
①テキストエディタをダウンロードする。(ここでは[TeraPad]前提でメモします)

②ファイルをテキストエディタで新規作成する。ファイル名は [adbd] とします。

③下記内容を、テキストエディタに記述(コピー&ペースト)します。
#!/system/bin/sh
/data/root/autoexec.sh
exec /sbin/adbd_


★★ 重要 ★★★
④ファイル保存時、改行コードを[LF]に設定し、保存する。
  ファイル > 文字/改行コード指定保存 > 改行コードを[LF]に設定する。

Windowsの改行コードは[CR+LF]ですが、Unix系OSでは[LF]が基本なのです。





5.BB13 フォルダ内に、 [mount.sh] ファイルを作成する。
①テキストエディタをダウンロードする。(ここでは[TeraPad]前提でメモします)

②ファイルをテキストエディタで新規作成する。ファイル名は [mount.sh] とします。

③下記内容を、テキストエディタに記述(コピー&ペースト)します。

#!/system/bin/sh
mount -o remount,rw /dev/block/mmcblk0p2 /data/ro
cat /data/root/adbd > /data/ro/adbd
chmod 0755 /data/ro/adbd
cat /sbin/adbd > /data/ro/adbd_
chmod 0755 /data/ro/adbd_
cat /data/root/autoexec.sh > /data/ro/autoexec.sh
chmod 0755 /data/ro/autoexec.sh
umount /data/ro
/data/root/busybox rm -rf /data/ro
ln -s /sbin /data/ro
/data/root/recache.sh

★★ 重要 ★★★

④ファイル保存時、改行コードを[LF]に設定し、保存する。
  ファイル > 文字/改行コード指定保存 > 改行コードを[LF]に設定する。

Windowsの改行コードは[CR+LF]ですが、Unix系OSでは[LF]が基本なのです。




6.[BB12_S]、[BB13]を、[platform-tools]へ移動する。







6.[BB12_S] を実行する。

<PC>

①コマンドプロンプトを起動し、[BB_12S] のフォルダに移動して、[install.cmd] を実行します。

②su の種類は「0(Superuser)」を選択。




★★ 重要 ★★★
③「Press any key to reboot」と表示されたら、Ctrl+Cでバッチ処理を中断します。 




7.BB13 を実行する。

<PC>

①[BB13]のフォルダに移動し、下記コマンドを実行
adb push adbd /data/root
adb push mount.sh /data/root



②[cmd.cmd]を実行



③最後まで実行すると、IS01が再起動します。





8.IS01 の ID を確認する。

<IS01>

①Terminal Emulatorを起動して[id]を実行し、結果を確認する

$ id
uid=1000(system) gid=1000(system) ・・・←と表示されることを確認

② [chcache.sh]を実行
$ /data/root/chcache.sh



9.IS01をリブートする。

<PC>

①[adb reboot]を実行



②IS01が再起動します。





10.rootを取得します。

<IS01>


① TerminalEmulatorを開き、下記コマンドを実行します。$ /data/root/getroot.sh



②stop しますので、enter を押して terimnal を shutdown します。



11.rootを取得するためのコマンドを入力します。

<IS01>


①idを確認します。
# id
uid=0(root) gid=1000(system) …プロンプトの#、uid=0でrootの作業権限を確認します

② 下記コマンドを実行して、[chache.sh]を実行可能にする。
chmod 777 /data/root/mount.sh

③下記コマンドを入力します。
# /data/root/mount.sh



12.終了処理を実行します。


<PC>

①[finish.cmd] を実行します。


★★ 重要 ★★★
②「Press any key to reboot recovery」と表示されたら、Ctrl+Cでバッチ処理を中断します。

③[adb reboot]を実行し、IS01をリブートします。





13.root化確認

<IS01>

①[IS series]のロゴの後に [autoexec.sh] 内の echo 内容が表示されれば、とりあえずOK

②Terminal Emulator を起動し、「au」コマンドで root になれたら root 化成功





これでようやく 2.2 への目処が立った。
次こそは悲願達成したい。



25 件のコメント:

  1. こんにちわ ROOT化工程の7番目なんですが
    7.BB13 を実行する。
    <PC>
    ①[BB13]のフォルダに移動し、下記コマンドを実行
    adb push adbd /data/root
    adb push mount.sh /data/root

    このコマンドプロントはいったいどこのファイルから起動してBB13をどのように実行するのかよくわかりません ご教授願いたいです

    返信削除
  2. ■イナバさん

    >このコマンドプロントはいったいどこのファイルから起動してBB13をどのように実行するのかよくわかりません ご教授願いたいです

    コメントを拝見すると、工程6([BB12_S]を実行する)は実施できた、と解釈します。

    もし、工程6が実施できたのであれば、コマンドプロンプトの起動方法はご存知だと考えます。

    ちなみに、コマンドプロンプトは、下記手順で起動できます。

    [スタート] >[すべてのプログラム] > アクセサリ > コマンドプロンプト

    恐らく「>adb push …」を実行してもエラーになる、と解釈しました。であれば、「1.AndroidSDKをインストールしPCとIS01を接続可能にする。」を実施していないように考えます。

    --------------------------------------

    ご質問内容から一生懸命推察した結果、上記の内容かと考えます。できれば、「XXを実行したら、XXというエラーが出た」といった質問をして頂けると、的確な回答ができますので、ご留意をお願いします。
    m(_ _)m

    返信削除
  3. 11工程の# /data/root/mount.sh
    を実行しましたら
    # /data/root/mount.sh:permission denied
    と出ました

    idを実行したら
    uid=0(root) gid=1000(system)
    になっていました

    このまま12工程に移ってもよいのでしょうか?

    返信削除
  4. ■匿名さん

    「permission denied」とは、「実行権限がありません」という意味です。なので、「mount.sh」に実行権限を与えてみてください。
    具体的には下記コマンドを実行すればOKです。

    # chmod 777 /data/root/mount.sh

    これでダメなら、工程5の⑤を一行づつ実行してください。

    返信削除
  5. macでもできました。大変参考になりました、ありがとうございます!

    *.cmdの実行はテキストエディタで開いて、コピペでやりました。
    勢い余って「6.[BB12_S] を実行する。」でadb rebootしちゃいましたけど大丈夫でした。

    返信削除
  6. ■oritaさん

    おめでとうございます。
    MACでもでできるんですね~。
    感動しました!!

    返信削除
  7. 11のrootを取得するためのコマンドを入力しますの時、
    idと入力すると、

    android.process.mediaが予期せず停止しました。やり直してください。
    と表示されてしまいます。

    どうしたら良いでしょうか?

    返信削除
  8. ■匿名さん

    >どうしたら良いでしょうか?

    「どうしたら良いのでしょうか?」というのは、「id」を入力して、「……やり直してください。」が表示さず、きちんとrootも取得するためにはどうすればいいか?という意図だと解釈しました。

    匿名さんが、rootを取得できない要因と、対策を書いて置きます。
    -------------------------------------------
    (1)IS01がBB16ではない
     → 残念ながら、ここでは「BB16」しか扱っていません。

    (2)手順が間違っている
     → もう1度、手順を見直してみてください。

    (3)一度失敗し、IS01内の状態が、正しくない
     → オールリセット後、再チャレンジして下さい。
    -------------------------------------------

    因みに、ここに記載している内容は、「root化の成功を100%保障している」訳ではありません。面倒で、手間がかかり、1文字間違えても正常に作動しなくなる、とても敷居の高い内容です。おまけに、何が起こっても自己責任です。

    それを理解された上で、root化を挑戦なさっている匿名さんは、とても勇気ある方だと思いますし、なんとか助言できればと願っています。

    しかし、匿名さんが書き込んで頂いた情報量では、上記(1)~(3)以外、お答えしようがありません。また、上記(1)~(3)の対策が間違っているかもしれませんが、ご自分で判断の上、適切な行動を選択下さいませ。

    m(_ _)m

    返信削除
  9. 初めまして。
    ブログ・100円玉の対価の管理人、ほるとと申します。
    「IS01 BB16でのroot化」記事へリンクして下さりありがとうございます。

    さて、参照して頂いている記事を下記URLに移転しました。

    ttp://www.hlt.jp/cgi-bin/sfs6_diary.cgi?action=article&year=2011&month=11&day=14&mynum=192

    恐れ入りますが、リンク先URLを修正願えれば光栄です。

    では今後ともどうぞよろしくお願い申し上げます。

    返信削除
  10. 6.[BB12_S]を実行する。の所で表示された文字をコピー&貼付けで保存しておこうと思って作業していたら、コマンドプロンプトが終了しIS01が再起動してしまいました。
    Ctrl+Cでバッチ処理を中断せずに終わってしまった場合は、どうすれば良いのでしょうか?
    詳しく書いて頂いているのに、この通りに出来ずショックです。
    申し訳ありませんが、対処法を宜しくお願いします。

    返信削除
  11. 上記 6.[BB12_S]を実行する。の件で質問しましたが、
    「100円玉の対価」ぽると 様に教えて頂き、解決しました。

    返信削除
  12. ■ほると様

    お返事遅くなってすみません。m(_ _)m
    リンク先を変更しておきました。

    返信削除
  13. ■匿名様

    問題解決してよかったです。
    おめでとうございます!

    返信削除
  14. 最終工程でautoexec.shが実行されないようなのですが助言をいただけないでしょうか。
    IS series のロゴの後に一瞬左下に入力待ちのような「|」が表示されますが、すぐにandroidのロゴが表示され通常通りの起動してしまいます。
    宜しくお願いします。

    返信削除
  15. 匿名希望さんへ
    「13.root化確認」で、「|」しか表示されないとの事、理解しました。

    もしかしたら、実はroot化できているかもしれません。
    「②Terminal Emulator を起動し、「au」コマンドで root になれたら root 化成功」なので、一度お試し下さい。

    返信削除
  16. できました。ありがとうございます。
    「3.」で autoexec.sh を編集するときも改行コードを LF にしておかなければいけない、と書いておくとよいかもしれません。。。

    返信削除
  17. > すみすみさん

    ご指摘ありがとうございます。m(_ _)m

    早速修正しました!

    返信削除
  18. 工程11の2番chmod 777 /data/root/mount.shを実行するとchmod 777 /data/root/mount.sh:not foundと表示され先に進みません。
    工程5の場面で改行コードLFでBB13内にmount.shは作成してあるのですが、進まないです。
    # idでuid=0(root) gid=1000(system) となることは確認済みです。

    返信削除
  19. >ふぁんさん

    中の人です。

    >> /data/root/mount.sh:not foundと表示され先に進みません。

    単純に、[mount.sh]が見つからないみたいですね。考えられる要因は、次の2つですね。
     (1)ファイル名が違う
     (2)ファイルを別の場所にコピーした

    ちなみに、linuxは、大文字/小文字が違っているだけで「異なるファイル」として認識します。もしかして、大文字が混ざってませんか?
     ・Mount.sh とか
     ・mount.SH など。




    返信削除
  20. 初めまして。
    手順10.rootを取得します。terimnal を shutdown を実行した後、エラーandroid processmediaが予期せず停止いたしました・・・と表示が出ます。terimnal を shutdown する前の画面表示で<>6fe0c4d0と6fe0c4e0の値がすべて00 00 ~00になっております。
    エラーが定期的に表示されたときに終了ボタンを消しながら手順最後まで行いましたが、
    手順13①[IS series]のロゴの後に [autoexec.sh] 内の echo 内容が表示されず、push power button to skip・・・と小さく表示され起動します。②Terminal Emulator でrootは、確認できました。
    しかし一度電源を切ると、rootがとれない状況です。見直す手順がおわかりでしたらご説明いただけると幸いです。

    返信削除
    返信
    1. To:匿名さま

      お疲れ様です 中の人です。

      >見直す手順がおわかりでしたらご説明いただけると幸いです。

      ご愁傷様です。
      恐らく、手順2~手順9までの間に、間違いがあったのでしょう。
      症状から、プロテクト領域の解除に失敗している様なので、bb12_s, bb_13の誤りか、修正箇所の誤りである可能性が高いですね。

      参考までに、「僕ならこうする」という内容を記載しますね。
      # あくまで自己責任ですので、実施する・しないは、ご自身で
      # ご判断下さい。

      (1) 手順2~手順9をもう1回実施する。

      (2) 直らなかったら、同じ症状の人が居ないかネットで探しまくる。

      (3) 情報が得られなければ、手順2~手順9に誤りが無いか、手順を印刷して徹底的にチェックする。

      (4) チェックミスを修正し、再度手順2~手順9を実施する。

      (5) それでもダメなら、納得するまで(2)~(3)を繰り返す。

      (6) 他にやり残した手段が無いか考える。思いつかなければ諦めて初期化する。

      削除
  21. 使用したソフト
    JabaSE Development Kit7 update40
    Android SDK r22.0.5-windows.exe
    Superuser V2.3.6.1
    エディター TeraPadとサクラエディター
          文字コード:SJIS
    改行コード:LF
    IS01 BB 01.00.16 
    よろしくお願いいたします。    

    返信削除
    返信
    1. 誤記がありますので訂正しておきますね。

      誤:Jaba
      正:Java

      もがき苦しみ、足掻き、涙を流しながらリセットすることも、色々勉強になるものです。

      root奪取、できれば良いですね。

      削除
  22. アドバイスありがとうございます。
    ネット上で、成功した人のbb12_s, bb_13,SUを入手して行いましたが、同じ症状です。で!文鎮化一歩手前の状態に!オールリセットができなくなりました。”System Clearサービスが利用できないため、リセット・・・・”と出ています。残念です。
    Systemのバックアップは、root化後にとる予定でしたのでとってありません。完全にご臨終です。
    どうもでした。

    返信削除
    返信
    1. ご愁傷様でございます。m(_ _)m

      僕も記事を執筆中、3回ばかしオールリセットしましたので、お気持ちお察しします。

      >Systemのバックアップは、root化後にとる予定でしたのでとってありません。完全にご臨終です。

      この教訓を、是非活かして下さい!

      削除