I’d like to start this post by stating the facts: it didn’t work. Actually, it just about bricked the phone. So most of this post, however, is about how I resuscitated the phone back to life by flashing it, again.
So, my buddy gave me his old Motorola Milestone X to play with, as he has a newer phone. So, I decided that I wanted to test out some of those “other” phone operating systems. Today’s goal: MIUI. It is supposed to stand for My User Interface. It has also been said that it is a play on words for My – You – and I. Either way, it has been ported to the Motorola Milestone, so I thought I’d give it a try on the X. Unfortunately it didn’t work.
As with before, I started by rooting the phone with RootGenius. If you like messing with phones, I highly recommend this program. Then, after some research, I found an apk called Droid2RecoveryBootstrap_CWM5.0.2.0. After using adb to install the app from my computer, I opened the program and pushed the first button, “Bootstrap” and was simply greeted by the phrase: Success. Then I clicked the second button, which was to reboot the phone. It did in fact reboot the phone, but nothing happened after that. The phone booted as normal.
So, stealing my trick from the MB508, I installed 2ndInitInstaller to get the clockworkmod on the phone:
$ unrar x 2ndInit_Installer.rar
UNRAR 4.10 freeware Copyright (c) 1993-2012 Alexander Roshal
Extracting from 2ndInit_Installer.rar
Creating 2ndInit_Installer OK
Extracting ……(more stuff)
Extracting 2ndInit_Installer/ReadMe.txt OK
Creating 2ndInit_Installer/data OK
Extracting 2ndInit_Installer/data/bootmenu.v0.5.1.tar.gz OK
Extracting 2ndInit_Installer/data/busybox OK
Extracting 2ndInit_Installer/data/cpfile.sh OK
Extracting 2ndInit_Installer/data/install.sh OK
All OK
The instructions said to make a folder called bootmenu on the sdcard and put the files from ./data in there. So, with my phone on and connected via USB, and debugging enabled on the phone I then could do that as you see here.
$ su
Password:
# adb shell
$ cd sdcard
$ mkdir bootmenu
$ exit
/2ndInit_Installer# ls
2ndInit_Installer.exe AdbWinUsbApi.dll mingwm10.dll ReadMe.txt
adb.exe data QtCore4.dll
AdbWinApi.dll libgcc_s_dw2-1.dll QtGui4.dll
2ndInit_Installer# cd data
2ndInit_Installer/data# ls
bootmenu.v0.5.1.tar.gz busybox cpfile.sh install.sh
2ndInit_Installer/data# adb push ./bootmenu.v0.5.1.tar.gz /sdcard/bootmenu/
2560 KB/s (2231424 bytes in 0.851s)
2ndInit_Installer/data# adb push ./busybox /sdcard/bootmenu/
2735 KB/s (750576 bytes in 0.267s)
2ndInit_Installer/data# adb push ./cpfile.sh /sdcard/bootmenu/
14 KB/s (149 bytes in 0.010s)
2ndInit_Installer/data# adb push ./install.sh /sdcard/bootmenu/
284 KB/s (2224 bytes in 0.007s)
And then to use it:
# adb shell
$ su
# cp -R /sdcard/bootmenu /data/bootmenu
# cd /data/bootmenu
# ls
install.sh
cpfile.sh
busybox
bootmenu.v0.5.1.tar.gz
# chmod 0755 ./*
# ls -l
-rwxr-xr-x root root 2224 2015-05-29 08:01 install.sh
-rwxr-xr-x root root 149 2015-05-29 08:01 cpfile.sh
-rwxr-xr-x root root 750576 2015-05-29 08:01 busybox
-rwxr-xr-x root root 2231424 2015-05-29 08:01 bootmenu.v0.5.1.tar.gz
# ./install.sh
Install now….
rm: can’t remove ‘/system/bootmenu/binary’: No such file or directory
rm: can’t remove ‘/system/bootmenu/config’: No such file or directory
rm: can’t remove ‘/system/bootmenu/images’: No such file or directory
rm: can’t remove ‘/system/bootmenu/script’: No such file or directory
system/bootmenu/recovery/res/images/icon_decryption.png
…………… (More stuff)
system/bootmenu/2nd-init/
system/bootmenu/
system/
rm: can’t remove ‘/system/bin/bootmenu’: No such file or directory
rm: can’t remove ‘/system/bin/logwrapper.bin’: No such file or directory
Install complate….
# exit
$ exit
And then using the sdcard USB mass storage option, I put the MIUI file onto the phone.
So I disconnected the phone from the USB and turned it off. When I power on, I now can watch the notification light on my phone, and the moment it lights up, I can push the volume down button and I am now in a new bootloader with more options. As with my MB508, I selected the Custom Recovery Startup and procede to wipe the card and install MIUI.
So, in order:
-Wipe data/factory reset
->yes
-wipe cache partition
-install zip from sdcard
->choose zip from sdcard
Scrolled down until I found the ~.zip for MIUI
->yes
What did I forget? I forgot to backup! This was not a good thing to forget, and this time really came back to bite me. After loading the MIUI, I then rebooted. It rebooted to the Motorola logo, and that was it. Never got passed there. The thing was useless. So I tried to get back into my recovery. Guess what? It didn’t work anymore. Using the button combination of Home key + Power used to get me into the recovery, but not anymore. Also, my custom recovery used to be accessed by watching the status light blink during startup and pressing volume down, but now? Nope. Not anymore. I thought I really toasted this one.
Fortunately the story doesn’t end there. I decided to flash the boot files so I could get some semblance of a menu back. A little research online led me to https://sites.google.com/site/motosbf/milestone-x-sbf-files which had several flavours of sbf files to choose from. So, after downloading quite a few of them, I started trying them out. All of them failed except one (1FF-p3a_shadow_cdma_shadow-user-2.3.5-4.5.1_57_MX2-34-111019-release-keys-signed-alltel-US.sbf.zip).
After pressing Camera+volume up and powering on phone:
#./sbf_flash 1FF-p3a_shadow_cdma_shadow-user-2.3.5-4.5.1_57_MX2-34-111019-release-keys-signed-alltel-US.sbf
>> waiting for phone: Connected.
>> uploading …….. (truncated)
>> verifying CG30
— OK
>> verifying CG32
— OK
>> rebooting
Wow! Exceptionally painful, but this reload actually worked. Unfortunately it was not the first, nor the second one I tried. In fact, since it was for ALLTEL, it was the one I tried after trying all the others! Upon reboot, the phone actually loaded with Android 2.3.5! So, back in business. I then re-put the 2ndinitinstaller back on and then made backups of the data! It is good to note, however, that even my backups would not have worked until I installed something that could boot or a way back into Clockworkmod.
So, crises avoided. The phone is functional once again. I have some backups. Now to try CM 9…..
Linux – keep it simple.