Kindle Fireを手に入れたので、とりあえず標準状態で1日使ってみた。
・・・あまり面白くない。
そこで、普通のAndroidタブレットとして使おうと試みた。
その場合、2つやり方がある。
その1:標準のAmazon Kindle Fire OSのAndroid部分を表に出すようにする
その2:標準OSは消して、別のAndroid OSを入れる
まず、必要な情報集め
・日本のKindle Fireは、海外のKindle Fire 2/Kindle Fire 2nd Genに相当するRAM 1GBモデル
・海外のKindle Fire 2の開発コードは「otter2」?
・海外のKindle Fire(RAM 512MB)と、海外のKindle Fire 2(RAM 1GB)は別のfirmwareを使う
(以下、「Kindle Fire」を表記した場合は、日本のKindle Fire=海外のKindle Fire 2をさす)
・Kindle FireにKindle Fire HDのfirmwareは使えない
・Kindle Fireに別OSを入れる場合はロックされているbootloaderを解除する必要あり(bootloader unlock)
・bootloader unlockには、標準OSでroot取得できるようにする必要がある
・Androidスマートフォン向けで有名なCynanogenmodからKindle Fire向けも出ている
・その他、いろんな情報はxda-developersの「Kindle Fire 2 Android Development」にある
今回は、とりあえず、「root取得」と「firmwareバックアップ」までの記事とします。
(警告: Kindle Fire 10.4.3_user_4308520で「[ONE-CLICK] Automated Freedom-Boot and TWRP installer」を使ったら失敗し、赤画面から進まなくなりました)
手順1: rootの取得
まず、現状、手元のKindle Fireは、firmwareが2013/06/20段階での最新 10.4.3_user_4308520になっている。
これに対して、root取得が可能かどうかが最大の問題となる。
「[Root][Working 10.3.1]Kindle Fire 2 Root made easy」で紹介されているroot取得ツールのうち、「Bin4ry’s Root(Root MANY ANDROID! [Upd: 18.06.2013] – Switched to improved method)」を使って実施。
Z:\android\kindle\Root_with_Restore_by_Bin4ry_v31>RunMe.bat
======================================================================
= This script will root your Android phone with adb restore function =
= Script by Bin4ry (thanks to Goroh_kun and tkymgr for the idea) =
= Idea for Tablet S from Fi01_IS01 =
= (18.06.2013) v31 =
======================================================================
Device type:
1) New Standard-Root (thx Ariel Berkman)
2) New Xperia Root by Goroh_kun (Xperia Z, Xperia V [JellyBean] ...)
3) Old
4) Old-Special (for example: Sony Tablet S, Medion Lifetab)
G) Google Glass Mode (thx Saurik for the ab file)
x) Unroot
Make a choice: 1
Please connect Device with enabled USB-Debugging to your Computer
Doing a Backup first, please confirm this on your device!
Now unlock your device and confirm the backup operation.
Done!
続行するには何かキーを押してください . . .
Kindle Fireの画面に、バックアップしますか?という表示が出るので、バックアップを実施する。
バックアップ完了の表示が出たら、パソコン側でキーを押す
Please select the RESTORE MY DATA option now on your device!
Now unlock your device and confirm the restore operation.
Please press any Key when restore is done.
続行するには何かキーを押してください . . .
Kindle Fireの画面に、リストアしますか?という表示が出るので、リストアを実施する。
リストア完了の表示が出たら、パソコン側でキーを押すと、Kindle Fireが再起動する。
Going to reboot now ...
4644 KB/s (380532 bytes in 0.080s)
5069 KB/s (1500495 bytes in 0.289s)
4948 KB/s (1165484 bytes in 0.230s)
remote object '/system/bin/ric' does not exist
.
Going to copy files to it's place
Rebooting again, please wait!
Z:\android\kindle\Root_with_Restore_by_Bin4ry_v31\ric が見つかりませんでした。
ここまで出たところで、再度、Kindle Fireが再起動。
画面ロックが出たら、ロック解除を実施。
Z:\android\kindle\Root_with_Restore_by_Bin4ry_v31\ric が見つかりませんでした。
Restoring previous Backup! Please select the RESTORE MY DATA option now on your
device!
Now unlock your device and confirm the restore operation.
Please press any Key when restore is done.
続行するには何かキーを押してください . . .
今度はKindle Fire上に「完全な復元」という画面が表示される。
「データを復元する」を選択する。
そして、パソコン側で何かキーを入力すると、Kindle Fireが再起動する。
Going to reboot last time now ...
You can close all open command-prompts now!
After reboot all is done! Have fun!
Bin4ry
続行するには何かキーを押してください . . .
そして、Kindle Fireにロック解除画面が出てきたら、処理完了。
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb shell
shell@android:/ $ su
su
shell@android:/ #
手順2:バックアップ取得
いろいろバックアップを取得します。
手法は「[BOOTLOADER] 2nd-Bootloader/Recovery unlock process for KFire 2 [04/02 TWRP update]」を元に実施。
上記のページには↓な風に書かれているのですが、このままやったところ、全然動きませんでした。
adb pull /dev/block/mmcblk0boot0
adb pull /dev/block/platform/omap/omap_hsmmc.1/by-name/boot
adb pull /dev/block/platform/omap/omap_hsmmc.1/by-name/recovery
adb pull /dev/block/platform/omap/omap_hsmmc.1/by-name/system
うちで実施した手順は以下のようになります。
C:\Program Files (x86)\Android\android-sdk\platform-tools>adb shell
shell@android:/ $ su
shell@android:/ # cd /mnt/sdcard
shell@android:/mnt/sdcard # mkdir backup
shell@android:/mnt/sdcard # cd backup
shell@android:/mnt/sdcard/backup # dd if=/dev/block/mmcblk0boot0 of=mmcblk0boot0.img
4096+0 records in
4096+0 records out
2097152 bytes transferred in 0.479 secs (4378187 bytes/sec)
shell@android:/mnt/sdcard/backup # dd if=/dev/block/platform/omap/omap_hsmmc.1/by-name/boot of=boot.img
16384+0 records in
16384+0 records out
8388608 bytes transferred in 1.955 secs (4290848 bytes/sec)
shell@android:/mnt/sdcard/backup # dd if=/dev/block/platform/omap/omap_hsmmc.1/by-name/recovery of=recovery.img
16384+0 records in
16384+0 records out
8388608 bytes transferred in 1.904 secs (4405781 bytes/sec)
shell@android:/mnt/sdcard/backup # dd if=/dev/block/platform/omap/omap_hsmmc.1/by-name/system of=system.img
1814528+0 records in
1814528+0 records out
929038336 bytes transferred in 271.368 secs (3423536 bytes/sec)
shell@android:/mnt/sdcard/backup # ls -l
-rw-rw-r-- root sdcard_rw 8388608 2013-06-20 10:06 boot.img
-rw-rw-r-- root sdcard_rw 2097152 2013-06-20 10:05 mmcblk0boot0.img
-rw-rw-r-- root sdcard_rw 8388608 2013-06-20 10:06 recovery.img
-rw-rw-r-- root sdcard_rw 929038336 2013-06-20 10:11 system.img
shell@android:/mnt/sdcard/backup # exit
C:\Program Files (x86)\Android\android-sdk\platform-tools>z:
Z:\android\kindle>c:adb pull /mnt/sdcard/backup/mmcblk0boot0.img
3373 KB/s (2097152 bytes in 0.607s)
Z:\android\kindle>c:adb pull /mnt/sdcard/backup/boot.img
3232 KB/s (8388608 bytes in 2.534s)
Z:\android\kindle>c:adb pull /mnt/sdcard/backup/recovery.img
3472 KB/s (8388608 bytes in 2.359s)
Z:\android\kindle>c:adb pull /mnt/sdcard/backup/system.img
3646 KB/s (929038336 bytes in 248.811s)
Z:\android\kindle>
以上で、完了です。