Android 台灣中文網
標題:
sh12c root加kernel變更 日文教學
[打印本頁]
作者:
wahaha118
時間:
2013-9-19 08:48
標題:
sh12c root加kernel變更 日文教學
原文出處
http://www45.atwiki.jp/aquosphonesh12c/pages/28.html
※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。
カーネルを焼きなおすことで常用rootが可能になります。
~はじめに~
Root、カーネル書き換えは保証対象外であり、自己責任です。
ここのまとめを読んでも最終的に実行するのは自分であり、
壊したとしても誰もサポートしてくれません。
不都合が起きた時文句を言うつもりのある人は
rootを取らなくても十分に高性能な端末へ機種変するという選択肢があることを思い出しましょう。
準備
SHBreak、ISTweak、端末エミュレータ、をインストールします。
1.現在のカーネルのバックアップを取る
SHBreakにて、Breakボタンを押す。もう一度起動してCopy AU
ISTweakにてSU有効。
端末エミュレータを起動。
以下のコマンドを順に実行(Enter押下)
su
cat /dev/mtd/mtd3ro > /data/local/recovery.img
cat /dev/mtd/mtd0ro > /data/local/boot.img
mtd0が通常のbootイメージ、mtd3がリカバリー用のイメージとなります。
このバックアップは各自で管理してください。
2.boot.imgの編集
data/localにコピーしたboot.imgをPCへ移動
バイナリエディタで開く。
autoexec.shをサービスとして実行させるための変更を行う。
autoexec.shの入れ方は各自検索して調べる。
一例を載せておきます。
変更前
変更後
変更したら別名(mtd02.binとする)で保存し、SH-12Cのdata/localへコピー
3.nandlock解除、カーネル焼き
SH-12Cにて作業。一時ルートが取れてない場合は再びSHBreakとISTweakでSU有効。
nandunlockshspamp、flash_image、
autoexec.shと一連のファイル群をdata/localへ保存
nandunlockshspamp,flash_image,autoexec.shのパーミッションを755に変更
flash_imageは先頭2048バイトをチェックしないように改変したものを使用したほうがよいでしょう。
端末エミュレータにて以下のコマンドを実行
su
cd data/local
./nandunlockshspamp 0xc08a9648
y
./flash_image recovery ./mtd02.bin
reboot recovery
再起動後、通常のandroidが起動すれば成功です。
4.Root
まずSuperuser.apkをインストールしましょう。
Rootの切り替えはIS03rootswitcherが使えます。ボタンひとつでroot有効、無効切り替え可能。
できること
ほとんどのrootアプリが動きます
system tune
Barnacle wifi tether
root explorer
できないこと
/system以下の書き換え。
nand lockのほかにMIYABI LSMがあるため。
これを無効化したカーネルを用意する必要がある。
おまけ
Homeのoomを1にする。
カーネルをバイナリエディタで開いて次のように編集
変更後
.は 2E=コンマ と 0A=改行 があるので注意。
ホームアプリのoom(優先度)を1にすると
ほかのアプリを立ち上げているときに裏でホームがkillされることが減ります。
Androidにはメモリが足りなくなるとoomの数字が高い順にkillしていく仕組みがあるため。
作者:
wahaha118
時間:
2013-9-19 08:52
http://worldtsunami.blog136.fc2.com/blog-entry-8.html
另一篇,原文出處
前回は準備を進めてきたわけだけど、今回は実際にSH-12Cのroot権を奪取していく。
追記:まず、文鎮のリスク回避等の説明を読んでください。
前回も書いたことだけど、
root奪取するとメーカーサポートを一切受けられなくなるので、全ては自己責任で。
起動時に必要なファイル等をいじるので、失敗すると起動しなくなる可能性もあり。
もし起動しなくなったら、書き初めの時に文鎮として使用することは可能!
手順等間違っている可能性もあるので、そこも自己責任で。
一時的rootを取って、不要アプリ等を凍結するだけにするって手もあるけど、それでは効果は薄いし、自分の場合はやりたいことのほとんどが出来なかったら、常時rootの方法が確立されたときはすごく嬉しかった。
まあ、一時root取得方法が確立された時も、ついに来たか!と喜んだんだけどねw
なので、一時rootを取って、不要アプリの凍結とかの説明はしない。
不安定だし。
さて、本題。
※以下の説明で、C:\って書かれてるけど、\は、¥(円マーク)ね。なんかブログで表示すると、バックスラッシュになっちゃう。直し方調べるのも面倒だし、そのままでw
順序
1,PCとSH-12Cを繋ぎbootイメージのバックアップ。
2,SH-12Cに必要ファイル群をコピー。
3,コピーしたファイルを使用できるようにする。
4,いよいよbootイメージを上書き
5,再起動し、rootが取れているか確認。
大雑把にこんな感じ。
2,3は、間違ったところで起動できなくなる等の不具合は出ないと思う。
1もそんなに慎重になる必要はない。。。かな?w
4はドキドキしながら作業することになるはずw
まあ、何度も焼き直しとかしてるとどうでも良くなってくるんだけどね。
5は、運命の分かれ道w 起動しなかったらご愁傷さま。。。w
では、詳しく。
1,SH-12Cのbootイメージをバックアップ
(1)SH-12CでSHbreakを起動>break1ボタン押下>SHbreakが消える>SHbreak起動>Copy auボタン押下
(2)SH-12CでISTweakを起動>suコマンドを有効にするボタンを押下
(3)PCとSH-12CをUSBケーブルでつなぐ
(4)PCでコマンドプロンプト起動>adb shell と打ちエンター
(5)コマンドプロンプトに $ マーク出現
(6)コマンドプロンプトに su と打ちエンター
(7)コマンドプロンプトに # マーク出現
ここまでやってみて、#マークが出てこない場合は(ないと思うけど)、念の為SH-12C再起動してから、(1)からやり直してみる。
そもそも、adb接続ができていない場合は、”adb shell”と打っても、$マークは出てこない。
PCの準備から見なおしてみる。
以下 # マークが出てきている前提で説明。
コマンドプロンプトにて順番に打ち込みエンターで進んでいく。
cat /dev/mtd/mtd3ro > /data/local/recovery.img
cat /dev/mtd/mtd0ro > /data/local/boot.img
これで、SH-12Cのbootイメージと、recoveryイメージのバックアップが一応取れた。
このファイルをPCに移動していく。
コマンドプロンプトにて、adb shellを抜けるために”Ctrl+C”ボタンを2回押す。
1回押すと # から $ に変わる。
2回目押すと、$から、C:\ とかに変わり、adb shellを抜けだしたことになる。
Windowsにて、C:\Android\backup フォルダを作成しておく。
以下コマンドプロンプトにて順番に打ち込みエンター。
cd C:\Android\backup
adb pull /data/local/recovery.img recovery.img
adb pull /data/local/boot.img boot.img
これで、PCのCドライブのAndroidフォルダの中のbackupフォルダの中に、イメージがコピーされているはず。
バックアップが取れたので、次の手順へ。
※この保存したバックアップイメージは、バイナリエディタ等で編集する用、もしくは、何かの理由で、SH-12Cの/data/local/にあるイメージが消えてしまった時に使用する。
とりあえず、ずっと大事に保存しておくことをお勧めする。
2,SH-12Cに必要ファイル群をコピー
前回のPC準備編で、C:\Android以下に必要ファイル群が展開されていること前提に話を進める。
全てのファイルをC:\Android以下に展開したと言う条件で話を進めるので、違うディレクトリ構造にした場合は、その部分を自分のディレクトリ構造と置き換えて操作すること。
ファイル名とか見ればわかるよね。
以下コマンドプロンプトにて順番に打ち込みエンター。
cd C:\Android
adb push nandunlockshspamp /data/local/nandunlockshspamp
adb push _su /data/local/_su
adb push su /data/local/su
adb push busybox /data/local/busybox
adb push flash_image /data/local/flash_image
adb push sh12c_recovery.img /data/local/boot2.img
adb push autoexec.sh /data/local/bin/autoexec.sh
最後の /data/local/bin/ ディレクトリが無いみたいなこと言われたら下のコマンドを打つ(このディレクトリがデフォルトで有るか無いかが覚えていないw作った覚えもないから、有るのかもしれないけど)
adb shell
su
cd /data/local
mkdir bin
としてから、Ctrl+C を2回押し、
adb push autoexec.sh /data/local/bin/autoexec.sh
とすればコピー出来るはず。
これで全てのファイルが、SH-12Cの、/data/local/以下にコピーされたはず。
確認の仕方は、コマンドプロンプトにて、
adb shell
su
ls
上の7個のファイル名が見れたらOK。(autoexec.shはbinフォルダに入っている)
3,コピーしたファイルを使用できるようにする
AndroidはLinuxから作られており、ファイルとかが権限によって守られている。
パーミッションと言われるもので、上でコピーしたファイルたちにも権限を与えてやらないと実行出来なかったりする。
なので、必要なファイルのパーミッションを変更していく必要がある。
以下、Windowsのコマンドプロンプトにて順番に打ち込みエンター。
adb shell
cd /data/local
chmod 755 nandunlockshspamp
chmod 755 flash_image
cd /data/local/bin
chmod 755 autoexec.sh
※flsh_imageになってましたね…。ご指摘ありがとうございます^^
ここいら辺は戸惑っている所では無いので、以上。
4,bootイメージの上書き
さあ、いよいよbootイメージを上書きする(焼く)工程。
焼く領域は、boot領域か、recovery領域のどちらかになる。
Androidは普通の起動だと、boot領域から起動する。
だから、イメージの編集(ビルドとか)が成功しているかどうかを、まずはrecovery領域に焼いて動作確認等をやった上で、イメージが正常だったらbootに焼くって作業をする。
recovery領域から起動して正常に起動しなかったら、バッテリーを引っこ抜いて再度電源を入れなおせばboot領域からの起動になって、またやり直せる。
まあ、そのままrecovery領域で毎回起動するって言う手もあるけど、再起動とかの際に面倒だし、その後文鎮になるリスクも高いって事で、recovery領域で正常に起動することが確認できたら、boot領域に焼いて、recovery領域には、バックアップしてあるrecoveryのイメージを焼き直したほうがいいと思う。
まあ、グダグダ言ってても進まないので、焼いていくことにするw
上の手順1の(1)(2)をやって、一時rootを取っておく。
(再起動とかしてなければ一時root状態なはずなので、やる必要はない)
全てはコマンドプロンプトにて進めるので、順番に打っていきエンターで進んでいく。
(1)NANDロックを解除する
abd shell
su
cd data/local
./nandunlockshspamp 0xc08a9648
#ここで、本当に正しいの?と聞かれるので、
y
(2)recovery領域に焼く
./flash_image recovery ./boot2.img
これでなんのエラーも出なかったら手順5へ。
何かエラーが出てたら(1)へ戻る(手順4の(1)ね)。
なんでだかは知らないけど、毎回1回目はエラーが出る。。。
2回目はなんのエラーも出ないで進むんだけど。。。
まあ、何のエラーも出なかったら正常に焼けているはずなので次。
5,recovery領域から起動(再起動)
上の手順に続けて、下のコマンドを打ちエンター
reboot recovery
このコマンドでリカバリー領域からの再起動が出来る。
docomoのロゴの画面から、AQUOSのロゴに変わったらとりあえず起動はできている。
逆に、docomoのロゴの画面から、ドロイド君が出てきたり、docomoのロゴからず~っと変わらなかったら失敗しているので、バッテリーを引っこ抜き再度バッテリーを入れなおし、起動して手順4から(もしくは手順1から)やり直し。
まあ、この段階で失敗したことは1度も無いから多分大丈夫だと思うけど。
正常に起動したら、
IS03rootswを起動>ボタンを押す
Superuserが勝手に立ち上がって、IS03rootswを許可しますか?とか聞いてくるので許可。
ここまで来たら、正常にrootが取れている。
IS03rootswを起動した時に、”root権を取得できません”みたいなのが出てきたら、失敗しているので手順1からやり直し。
自分で編集したイメージじゃないし、ここで失敗している可能性は低いけどね。
recoveryから起動して、ちゃんと起動してrootがとれていないのは、手順2のファイル設置がうまくいっていないのだと思う。
ファイルの位置を確認して、再設置して、reboot recovery でもいいかな。
ちなみに、root取得がうまくいっていて、また再起動したい場合は、
アプリ一覧から、”端末エミュレータ”ってのを開いて、
su
reboot recovery
でリカバリーモードで再起動できる。訂正:リカバリー領域から再起動出来る。
端末エミュレータとは、準備の時にインストールしておいたAndroid Terminal Emulator。
あとは、IS03rootswで必要なときにrootをONにしていじくりまくるのみ。
ここで注意。
recovery領域にroot奪取用イメージを焼いている場合、絶対に”オールリセット”はしないこと。
オールリセットって、SH-12Cの設定>プライバシー>オールリセット のことね。
100%文鎮化するから。
これだけを気をつけていれば、システムを変にいじったりしない限り文鎮化はしないはず。
でも、再起動したい時にいちいち端末エミュレータ開いて、su>reboot recovery しないといけないのは面倒だし、リスクは一つでも減らしたいから、recovery領域でうまく行ったら、boot領域に焼き直し、recovery領域には、バックアップ取ってあるrecovery.imgを焼き直したほうがいい気がする。
その場合は、
IS03rootswでルート取得>PCとつなぐ>PCでコマンドプロンプト開く>下記コマンドを打つ
adb shell
su
cd data/local
./nandunlockshspamp 0xc08a9648
y
./flash_image recovery ./recovery.img
./flash_image boot ./boot2.img
#何のエラーも出なかったら、
reboot
何かエラーが出てたら、
./nandunlockshspamp 0xc08a9648
y
./flash_image recovery ./recovery.img
./flash_image boot ./boot2.img
とやり直す。
ちなみに、このbootイメージは、SystemがこわれてもADB接続できるようになっている。
だから、「うを~!起動しなくなっちた~!」ってときも、ADB接続して修復可能ってこと。
詳しくは、必要ファイル群に入っているredme.txtを読むこと。
sh-12c_recovery.zipに入っていたredme.txtね。
以上。
書き始めたときは、もっと詳しく書いていこうと思ってたけど、無理だったwww
時間かかりすぎるし、いくら詳しく書いても、説明が下手すぎて意味がないと途中から思っちゃった。
でも、一応これでヨシとするw
次にSH-12Cネタを書くときには、IS03rootswを使わないでも普通に常にroot状態でいるようにする方法でも書こうかな。
SH-12Cでは、常にroot状態でも不具合でなそうだし、実際出てないっぽいし。
あ、あと、この方法でroot取っても、システムアプリを削除することとかはできない。
プリインストールアプリをアンインストールとかしたい時は、MIYABIロックと言うのを外さないといけないんだけど、それはやってないので、それも後々書いていこうかなと思う。
MIYABIロックは、イメージを編集しないといけないからね。
最初から思い出せばよかったwww
追記:
リカバリーモードって書いちゃってるところがあった。。。
訂正します。すみませんでした。。。
リカバリーモード、リカバリー領域、間違えると全然違う意味になっちゃうからねm(_ _)m
スポンサーサイト
関東のこだわり物件特集 - kodate.homes.co.jp
茨城、埼玉、千葉、東京、神奈川の公園が近い、子育て環境充実の物件あり!
社長がやってはいけないコト - Directbook.jp
成功した経営者が決して口にしない不都合な真実とは?
作者:
jonjon316
時間:
2013-9-20 01:18
看不董日文啊!
謝謝!
作者:
rena570
時間:
2013-10-4 23:40
有中文嗎? 謝謝
歡迎光臨 Android 台灣中文網 (https://apk.tw/)
Powered by Discuz! X3.1