P-01D root の取得とか仕込み関係 (2012/05/21版アップデート対応)
fastboot で shell root 取ったり、そっから ROM イメージのバックアップ取ったりする方法。
まだ情報が揃いきってないので、随時内容は追加します。ここで掲載している情報には比較的古い情報も混ざっています。検証が中途半端だったり怪しい部分もありますので、参照される方は眉に唾をつけて読んで下さい。素人さんにはtoolkitの利用をお勧めします。
※ まとめwikiにも情報投下してます。よろしければそちらもどうぞ。
【警告】
お手持ちの P-01D が素敵な文鎮になる可能性を秘めた作業を紹介しています。
文鎮になったとしても、絶対にdocomoショップに駆け込んだりしない人だけ先に進んで下さい。
端末の root 取得には文鎮化が付き物です。
【キーワード】
Panasonic, P-01D, P01D, root, fastboot, Ver 0.62, Ver 0.65,
2011年12月6日, 2011年12月22日, 2012年3月26日, 2012年5月21日
07.0087.0062, 07.0093.0065, 07.0096.0065, 07.0102.0065, 07.0105.0065
一般ピーポーは廻れ右してお帰り下さい。
fastboot による shell root の取得
執筆時点の最新版ビルド 07.0105.0065 (ベースバンドバージョン Ver 0.65) にて動作を確認しています。fastboot が使える限り、zergRush が使えないビルドでも対応できると思います。
大まかな手順
1. デバッグモードから fastboot モードを起動
2. 編集済み boot.img*1 を P-01D に読み込ませて起動する
これだけですが、boot.img の入手が rooted でないと難しいので、ちょっと面倒。
http://www5216u.sakura.ne.jp/p01d/20120624/boot.rebuild_no-rosecure.img
/dev/mtd からの boot.img の取得用にどうぞ。(えっ?
※ ビルド番号により boot.img は異なるので、異なるバージョンの boot.img の上書きは推奨しない。上記は実機からの boot.img の取得等の目的に限って使用すること。
作業手順
- fastboot モードへの移行
デバッグモードで接続した PC から、コマンドプロンプトで以下を実行。docomoロゴで停止するのは正常。
D:\#P-01D\Custom> adb reboot bootloader
D:\#P-01D\Custom> fastboot devices
? fastboot
- boot.img の転送・起動
docomo ロゴの表示が一瞬消えたりを繰り返しながら起動すればおk。
D:\#P-01D\Custom> fastboot boot boot.img
downloading 'boot.img'...
OKAY [ 0.999s]
booting...
OKAY [ 0.133s]
finished. total time: 1.134s
- 確認
adb で shell を開き、プロンプトの表示を確認する。
【成功例】
D:\#P-01D\Custom>adb shell
#
【失敗例】
D:\#P-01D\Custom>adb shell
$
stock ROM の生イメージ取得
後からの初期化とかに使うので、su とかを突っ込む前に取得を強く推奨。shell root から下記を実行。
# mkdir /mnt/sdcard/p01d/
# mkdir /mnt/sdcard/p01d/raw_dump/
# cd /dev/mtd
# dd if=mtd0 of=/mnt/sdcard/p01d/raw_dump/mtd0.bin bs=4096
# dd if=mtd1 of=/mnt/sdcard/p01d/raw_dump/mtd1.bin bs=4096
# dd if=mtd2 of=/mnt/sdcard/p01d/raw_dump/mtd2.bin bs=4096
# dd if=mtd3 of=/mnt/sdcard/p01d/raw_dump/mtd3.bin bs=4096
# dd if=mtd4 of=/mnt/sdcard/p01d/raw_dump/mtd4.bin bs=4096
# dd if=mtd5 of=/mnt/sdcard/p01d/raw_dump/mtd5.bin bs=4096
# dd if=mtd6 of=/mnt/sdcard/p01d/raw_dump/mtd6.bin bs=4096
# dd if=mtd7 of=/mnt/sdcard/p01d/raw_dump/mtd7.bin bs=4096
# dd if=mtd8 of=/mnt/sdcard/p01d/raw_dump/mtd8.bin bs=4096
# dd if=mtd9 of=/mnt/sdcard/p01d/raw_dump/mtd9.bin bs=4096
# dd if=mtd10 of=/mnt/sdcard/p01d/raw_dump/mtd10.bin bs=4096
# dd if=mtd11 of=/mnt/sdcard/p01d/raw_dump/mtd11.bin bs=4096
# dd if=mtd12 of=/mnt/sdcard/p01d/raw_dump/mtd12.bin bs=4096
# dd if=mtd13 of=/mnt/sdcard/p01d/raw_dump/mtd13.bin bs=4096
# dd if=mtd14 of=/mnt/sdcard/p01d/raw_dump/mtd14.bin bs=4096
# dd if=mtd15 of=/mnt/sdcard/p01d/raw_dump/mtd15.bin bs=4096
# dd if=mtd16 of=/mnt/sdcard/p01d/raw_dump/mtd16.bin bs=4096
# dd if=mtd17 of=/mnt/sdcard/p01d/raw_dump/mtd17.bin bs=4096
# dd if=mtd18 of=/mnt/sdcard/p01d/raw_dump/mtd18.bin bs=4096
# dd if=mtd19 of=/mnt/sdcard/p01d/raw_dump/mtd19.bin bs=4096
# dd if=mtd20 of=/mnt/sdcard/p01d/raw_dump/mtd20.bin bs=4096
# dd if=mtd21 of=/mnt/sdcard/p01d/raw_dump/mtd21.bin bs=4096
# dd if=mtd22 of=/mnt/sdcard/p01d/raw_dump/mtd22.bin bs=4096
# cat /proc/mtd >/mnt/sdcard/p01d/raw_dump/proc_mtd.log
/system と /data のバックアップ
消しちゃいけないファイル消しちゃった時とか、特定のファイル復元する時に使う。tgz で固めるだけだが、P-01D には busybox とかが入ってないくさいので、どっかから落としてくること。
下記は、busybox を /data/local/tmp/ に配置したものと仮定した場合の手順。
# chmod 755 /data/local/tmp/busybox
# mkdir /mnt/sdcard/p01d/
# /data/local/tmp/busybox tar cvzf /mnt/sdcard/p01d/system.tgz /system
# /data/local/tmp/busybox tar cvzf /mnt/sdcard/p01d/data.tgz /data
作業が多くてめんどい
中に入ってる runme.bat を立ち上げるだけの誰にでもできる簡単なお仕事です。
bootloader 用のドライバとかが必要なので、初めての人は Panasonic のページから adb ドライバを落とし直しておくと幸せになれますね。
root の取得
su とか busybox とか好きなものを /system/bin に、Superuser.apk を /system/app に突っ込むだけ。
面倒な人は shell root 取った状態で Xperia 2011 Easy rooting toolkit あたりを実行すれば全部入るはず。
手動でやりたい人も、これ落としてきて .bat ファイルの中身見れば何となく分かる。zergRush の作業は飛ばしてOK。
全部まとめてやってほしい
上の shell root 取得キットと Xperia 2011 Easy rooting toolkit をミックスしてくれた人達がいるのでご紹介。
- P-01Dをroot化する - ごりぽんソフトウェア (system.tgz と mtd0.bin と mtd6.bin のバックアップ付き)
- http://www1.axfc.net/uploader/Ne/so/135918 (root 取るだけ)
大多数の人は、これ一つで事足りるはず。(system.tgz からの system.img の生成手順は wiki に落としてあります。使い方は自分で調べてね)
まとめてtoolkit化しました。root 取得の他、下記で説明する CWM Recovery や、system.tgz を使ったリカバリというかリストアっぽい事ができます。
boot.img の編集
やるべき事は、boot.img に含まれる ramdisk/default.prop の ro.secure を 0 に書き換えること。ついでに ro.debuggable とか persist.service.adb.enable あたりも 1 にしておくと良いかもしれない。但し意味は無いかもしれない。
boot.img の解体手順とかは先行日記を参照のこと。
boot.img の詰め直しには、次のようにパラメータを指定するとよさげ。
./mkbootfs ramdisk |gzip -c >boot.img-ramdisk_rebuild.gz
./mkbootimg --kernel boot.img-kernel --ramdisk boot.img-ramdisk.gz --cmdline 'console=ttyMSM1 androidboot.hardware=qcom' --base 0x13800000 --pagesize 4096 --ramdiskaddr 0x14800000 -o boot.rebuild.img
CWM Recovery の作り方とか焼き方とか
Factory Reset の手順
recoveryの復帰には「stock ROM の生イメージ取得」の手順で得た生イメージ(mtd0.binmtd6.bin)が必要。
system および data の復帰には CWM Recovery のバックアップが必要(system.tgz 等でも代用可)。
system のリカバリ
【対象】system, data (通常ブートで読み書きが生じるパーティション全般)
shell rooted な recovery イメージを焼いておくこと。「CWM Recovery の作り方とか焼き方とか」で配布するイメージでも可。
- shell root が利用可能な recovery を本体に焼く。flash_image は P-01D の stockROMに入ってる。
# cd /mnt/sdcard/p01d
#flash_image recovery mtd6.rebuild.cwm-recovery.test11.cm-ics_based.key-fix.img
# flash_image cwm-recovery.test27.cm-ics_based.fb-rgbx_8888.no-swap.img
- recovery モードで立ち上げる(「起動モードまとめ」参照)。
recovery と同様の手順で flash_image で system を焼く。焼くのは「stock ROM の生イメージ取得」で得た生イメージ。
ここで配布してる CWM Recovery は flash_image 入りなので、下記の手順はそれを使う前提。
# umount /sys
# mount -t vfat -o rw /dev/block/mmcblk0p1 /sdcard
# cd /sdcard/p01d
# flash_image system mtd1.bin
recovery
【対象】recovery, boot (通常ブートで読み書きが生じないパーティション)
起動モードまとめ
好きなの選んで起動して下さい(一部手順を間違えて掲載してました)。
- 通常起動
- recovery モード
- 電源キー長押し/USB接続で電源投入⇒(振動直後)音量下キー⇒recovery が立ち上がる *2
- adb reboot recovery
- fastboot reboot
- fastboot モード