本体の NAND に代えて、SD をシステムとアプリのデータ領域として使う手段。
LYNX 3D SH-03C (Android 2.2 ビルド番号 02.01.01) を sdboot化し、rootを取得する方法の覚え書きです。
※ 以下の作業を行うと、DoCoMoおよびメーカーの保証対象外となります。また、これにより発生するいかなる事態に対しても、筆者はその責任を負いません。ご利用は自己責任にてお願いします。
> cd ファイルを保存したディレクトリ > adb install SHBreakV2.apk > adb install ISTweak.apk
以上で、一時的に root 権限を取得出来ます。
(ae2brek_for_sh03c 付属の readme.txt を参照)
> adb push ae2break /data/local/ > adb push busybox /data/local/ > adb push flash_image /data/local/ > adb push ubi-sh03c-bootkit.img /sdcard/
> adb shell $ au
# chmod 555 /data/local/ae2break # chmod 555 /data/local/busybox # chmod 555 /data/local/flash_image
# stop mediayamaha # kill -9 `/data/local/busybox pidof mediayamahaserver` # /data/local/ae2break
# mkdir /sdcard/NANDUNLOCK # cat /dev/mtd/mtd2ro > /sdcard/NANDUNLOCK/recovery_org.img
必要に応じて、"/sdcard/NANDUNLOCK/recovery_org.img"を PC に転送*2して保存しておく。
# /data/local/flash_image recovery /sdcard/ubi-sh03c-bootkit.img
(エラーが出たら、再度同じコマンドを実行してみる。)
# reboot recovery
フォーカスキー(カメラアプリのシャッターボタン)を軽く*3押し、自動起動を停止させる。
(sdboot 付属の readme.txt を参照。sdboot_r2 を使用する場合は、付属の readme.txt に従うこと。)
> adb shell $ _su # /bin/sh
# sd # rw /mnt/sdcard
# mkdir /mnt/sdcard/sdboot # dd if=/dev/zero of=/mnt/sdcard/sdboot/system.ext2 bs=1M count=384 # dd if=/dev/zero of=/mnt/sdcard/sdboot/data.ext2 bs=1M count=384 # dd if=/dev/zero of=/mnt/sdcard/sdboot/battlog.ext2 bs=1M count=2 # dd if=/dev/zero of=/mnt/sdcard/sdboot/calllog.ext2 bs=1M count=2
# losetup /dev/block/loop0 /mnt/sdcard/sdboot/system.ext2 # losetup /dev/block/loop1 /mnt/sdcard/sdboot/data.ext2 # losetup /dev/block/loop2 /mnt/sdcard/sdboot/battlog.ext2 # losetup /dev/block/loop3 /mnt/sdcard/sdboot/calllog.ext2 # mkfs.ext2 /dev/block/loop0 # mkfs.ext2 /dev/block/loop1 # mkfs.ext2 /dev/block/loop2 # mkfs.ext2 /dev/block/loop3
# mkdir /system /data /battlog /calllog # mount -t ext2 /dev/block/loop0 /system # mount -t ext2 /dev/block/loop1 /data # mount -t ext2 /dev/block/loop2 /battlog # mount -t ext2 /dev/block/loop3 /calllog
# mkdir /system0 /data0 /battlog0 /calllog0 # mount -t yaffs2 -o ro /dev/block/mtdblock4 /system0 # mount -t yaffs2 -o ro /dev/block/mtdblock8 /data0 # mount -t yaffs2 -o ro /dev/block/mtdblock7 /calllog0 # mount -t yaffs2 -o ro /dev/block/mtdblock6 /battlog0 # (cd /system0 && tar cf - --exclude sharp_movies .) | (cd /system && tar xvf -) # (cd /data0 && tar cf - .) | (cd /data && tar xvf -) # (cd /battlog0 && tar cf - .) | (cd /battlog && tar xvf -) # (cd /calllog0 && tar cf - .) | (cd /calllog && tar xvf -)
> adb push sdboot.zip /mnt/sdcard/
# cd /mnt/sdcard # unzip sdboot.zip
# cd / # umount /mnt/sdcard # umount /system0 /data0 /battlog0 /calllog0 # umount /system /data /battlog /calllog # reboot recovery
SH-03Cが bootkit で再起動するので、カウントダウンが0になるまで放っておくか、メニューキーを押すと、sdboot となります。
> adb shell $ /bin/suu # rw /system # cp /bin/suu /system/bin/su
必要なファイルの個別リンクなど
AND OR
sdboot とは
本体の NAND に代えて、SD をシステムとアプリのデータ領域として使う手段。
SH-03C の sdboot、root取得方法
LYNX 3D SH-03C (Android 2.2 ビルド番号 02.01.01) を sdboot化し、rootを取得する方法の覚え書きです。
※ 以下の作業を行うと、DoCoMoおよびメーカーの保証対象外となります。また、これにより発生するいかなる事態に対しても、筆者はその責任を負いません。ご利用は自己責任にてお願いします。
準備
設定 > アプリケーション > 開発 > "USBでバッグ" を ON。
一時 root の取得
設定 > 無線とネットワーク > "Wi-Fi" を OFF。
以上で、一時的に root 権限を取得出来ます。
bootkit からの起動準備(リカバリイメージ書き換え)
(ae2brek_for_sh03c 付属の readme.txt を参照)
必要に応じて、"/sdcard/NANDUNLOCK/recovery_org.img"を PC に転送*2して保存しておく。
(エラーが出たら、再度同じコマンドを実行してみる。)
bootkit で起動
フォーカスキー(カメラアプリのシャッターボタン)を軽く*3押し、自動起動を停止させる。
sdboot 化
(sdboot 付属の readme.txt を参照。sdboot_r2 を使用する場合は、付属の readme.txt に従うこと。)
(データ領域を標準より拡張したい場合は、下記の "count=384" を "count=サイズ(MB)" に変更する。)
SH-03Cが bootkit で再起動するので、カウントダウンが0になるまで放っておくか、メニューキーを押すと、sdboot となります。
root 権限の管理
運用
補足
必要なファイルの個別リンクなど
*1 WiFiがONのまま一時rootを取ると、rootを外した時にWiFiが繋がらないなどの不具合が出る可能性があるため。
*2 > adb pull /sdcard/NANDUNLOCK/recovery_org.img
*3 押し込み過ぎるとカメラボタンを押したことになり、通常の起動となってしまうので注意。起動後に、SHBreak で "Break!"、ISTweak で "再起動" → "リブート" で bootkit で起動し直す。