&tag(Android); #contents *sdboot とは [#ha06d590] 本体の NAND に代えて、SD をシステムとアプリのデータ領域として使う手段。 -メリット --SD に空きさえあれば、割と自由にメモりを増やすことが出来る。 --root 取得出来る。その上、システムも SD に複製した領域を使うので、本体のシステム領域を直接弄って文鎮化するリスクが低い。(運用上のはなしであり、sdboot 化する過程では、相応のリスクはある) -デメリット --保証が効かなくなる。 --SD のクラスにもよるが、基本、読み書きが遅い。が、通常使用では支障無し。 --バッテリーの保ちは悪くなるような。 --SD カードの耐久性は? *SH-03C の sdboot、root取得方法 [#o46ba6d9] LYNX 3D SH-03C (Android 2.2 ビルド番号 02.01.01) を sdboot化し、rootを取得する方法の覚え書きです。 &color(RED){※ 以下の作業を行うと、DoCoMoおよびメーカーの保証対象外となります。また、これにより発生するいかなる事態に対しても、筆者はその責任を負いません。ご利用は自己責任にてお願いします。}; **準備 [#y542354a] +PC に [[Android SDK>http://developer.android.com/sdk/]] をインストール。 +必要なファイルを用意。 --[[こちら>http://ftake.xrsp.net/blog/2012/02/21/482]] から [[how2NANDUNLOCK_sh03c.zip>http://ftake.xrsp.net/blog/wp-content/uploads/how2NANDUNLOCK_sh03c.zip]] をダウンロードし、解凍。 --[[sdboot>http://www1.axfc.net/uploader/Sc/so/302287]] をダウンロード。(上記アーカイブに含まれる sdboot_r2 でも可。ただし、このページに記載の手順とは若干違うので readme に従うこと。) +ダウンロード・解凍したファイルの中から、SHBreakV2、ISTweak、ae2break、busybox、flash_image、ubi-sh03c-bootkit.img、sdboot.zip(''zipのまま'')を1つのフォルダに集めておく。 --ae2break は フォルダ BB_02_01_00 のもの。(ビルド番号 02.01.01の場合) --ubi-sh03c-bootkit.img は、フォルダ bootkit-sh03c_rev2 または bootkit-sh03c_overclock_rev2 のどちらでも可。 --この作業は必須ではないが、ファイルを PC から SH-03C に転送するときに楽。 --各ファイルの簡単な説明は[[こちら>#z4823772]]。 +SH-03C を USBデバッグモードにする。~ 設定 > アプリケーション > 開発 > "USBでバッグ" を ON。 **一時 root の取得 [#j5b27013] +SH-03C の WiFi接続を切る((WiFiがONのまま一時rootを取ると、rootを外した時にWiFiが繋がらないなどの不具合が出る可能性があるため。))。~ 設定 > 無線とネットワーク > "Wi-Fi" を OFF。 +SH-03C と PC を USB で接続。 +PC のターミナル(コマンドプロンプト)を起動。 +PC から SH-03C に SHBreakV2 と ISTweak をインストール。 > cd ファイルを保存したディレクトリ > adb install SHBreakV2.apk > adb install ISTweak.apk +SH-03C で 一時root を有効化。 ++SHBreakV2 を起動し"Break!"をタップ。英語のアラートを"OK"で抜け、"閉じる"。 ++ISTweak を起動し"suコマンドを有効にします"をタップ。 以上で、一時的に root 権限を取得出来ます。 **bootkit からの起動準備(リカバリイメージ書き換え) [#j89ec9d0] (ae2brek_for_sh03c 付属の readme.txt を参照) +必要なファイルを SH-03C に転送。 > adb push ae2break /data/local/ > adb push busybox /data/local/ > adb push flash_image /data/local/ > adb push ubi-sh03c-bootkit.img /sdcard/ +ADBで接続し、シェルを準備、root権限を取得。 > adb shell $ au +転送したファイルに実行権限を与える。 # chmod 555 /data/local/ae2break # chmod 555 /data/local/busybox # chmod 555 /data/local/flash_image +NANDロックを解除する。 # 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 に転送(( > adb pull /sdcard/NANDUNLOCK/recovery_org.img))して保存しておく。 +リカバリイメージを bootkit に書き換える。 # /data/local/flash_image recovery /sdcard/ubi-sh03c-bootkit.img ~(エラーが出たら、再度同じコマンドを実行してみる。) **bootkit で起動 [#r13d3451] +su権限でリカバリイメージから起動する。 # reboot recovery +SH-03Cが再起動し、カウントダウンが始まったら bootkit での起動に成功。 フォーカスキー(カメラアプリのシャッターボタン)を''軽く''((押し込み過ぎるとカメラボタンを押したことになり、通常の起動となってしまうので注意。起動後に、SHBreak で "Break!"、ISTweak で "再起動" → "リブート" で bootkit で起動し直す。))押し、自動起動を停止させる。 **sdboot 化 [#n934e751] (sdboot 付属の readme.txt を参照)~ sdboot_r2 を使用する場合は、以下 readme.txt に従うこと。 (sdboot 付属の readme.txt を参照。sdboot_r2 を使用する場合は、付属の readme.txt に従うこと。) +ADBで接続し、シェルを準備する。 > adb shell $ _su # /bin/sh +SDCARDを準備 # sd # rw /mnt/sdcard +SDCARDにsystemとdata領域を共に384MB、battlogとcalllog領域を2MBで用意する。~ (データ領域を標準より拡張したい場合は、下記の "count=384" を "count=サイズ(MB)" に変更する。) # 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 +SDCARDに用意した領域をext2でフォーマットする。 # 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 +SDCARDの領域をマウントする。 # 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 +MTDのsystem、dataをSDCARDにコピーする。(sharp_moviesは除外) # 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で起動スクリプト等を転送する。(ココは、別のターミナルを起動して下記コマンドを実行。または、bootkit 起動前に転送しておく。) > adb push sdboot.zip /mnt/sdcard/ +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 となります。 **root 権限の管理 [#ue572dc7] +SH-03C に [[Superuser>https://play.google.com/store/apps/details?id=com.noshufou.android.su]] をインストール。 +リカバリイメージとしてオーバークロックカーネル(bootkit-sh03c_overclock_rev2)を導入した場合は、以下のコマンドを実行することで Superuser から suバイナリの更新が出来るようになる。 ++ADBで接続し、シェルコマンドを実行する。 > adb shell $ /bin/suu # rw /system # cp /bin/suu /system/bin/su ++SH-03C で Superuser を起動し、info > su binary vx.x.x "tap to check for updates" をタップし、"アップデート"をタップして su バイナリを更新する。 *運用 [#i4b90696] -通常起動(NANDからの起動): 電源OFFからON。エラーなどで勝手に再起動した時など。 -sdboot (SDからの起動): SHBreakV2 で "Break!"、ISTweak で "再起動" → "リブート"。 *補足 [#z4823772] 必要なファイルの個別リンクなど -一時rootを取得するアプリ --[[SHBreakV2>http://marijuana.ddo.jp/is01/index.php?moddir=downloads&action=single&cid=1&lid=62]] -suコマンドの有効化などが出来るアプリ --[[ISTweak>http://marijuana.ddo.jp/is01/index.php?moddir=downloads&action=single&cid=3&lid=45]] -NANDロックを解除するツール --[[ae2break_for_sh03c>http://ftake.xrsp.net/blog/2011/12/14/442]] > [[ダウンロード1(BB 02.01.00向け)>http://ftake.xrsp.net/blog/wp-content/uploads/ae2brek_for_sh03c.zip]] -sdboot スクリプト --[[sdboot>http://www1.axfc.net/uploader/Sc/so/302287]] --[[sdboot_r2>http://www1.axfc.net/uploader/Sc/so/308370]] -bootkit での起動を可能とするリカバリイメージ --[[bootkit-sh03c_r2>http://www1.axfc.net/uploader/H/so/150545]] --[[SH-03C オーバークロックカーネル>http://jis.orz.hm/?p=47]] -UNIXコマンドを提供する実行ファイル --busybox -ROM焼き実行ファイル --flash_image
AND OR