[CONCEPT] Root automatically from SD Card or from PC
I'm thinking of creating a small archive of files, that when extracted to the SD card root, and applied, will root the phone and apply a firmware in only three steps.
It will only contain four files - the RC29 DREAIMG.nbh file necessary for downgrading, an update.zip that contains the latest SPL and Radio, the latest Cyanogen Recovery image, and a simple script that applies root, SPL/Radio, and your favorite firmware.
I'm not sure if it will work, but constructive criticism and ideas are welcome.
First method: Root from SD card
This method puts all the necessary files on an SD card, and does not require a computer after that.
Basically, in a zip file, you have the RC29 DREAIMG.nbh, update.zip, and root script.
You extract this to the root of a FAT32-formatted SD card.
You reboot with camera+power, apply the DREAIMG.nbh, reboot.
Once the phone is booted, type in "sh /sdcard/root.sh".
From the exposed root terminal, it will begin the following:
Write the Cyanogen recovery image to flash, move image to system/recovery.img, remove image file
Place commands in /cache for recovery to apply the radio/spl combo package and if it exists, a custom firmware, in the correct order
reboot recovery, performing the above tasks automatically.
- No telnet app required, not opening up a telnetd, more secure
- Only one command to enter
- No(?) risk on flashing the Hero-compatible radio/SPL out of order and bricking that way, as both are flashed at the same time
- Automates several of the processes in rooting, allowing for a quicker root
- Can be placed on a special "rootkit" sdcard, and used to quickly root your friend's phone in a matter of minutes, anywhere
Second method: Root from PC
Another method I thought of uses no manual copying to the sdcard, but requires a PC with fastboot(?) and adb.
First, it pushes the RC29 DREAIMG.nbh to the sdcard, and issues a reboot to bootloader.
You press a few keys to write the image, and reboot.
First, it pushes an update.zip containing the update just before T-Mobile patched the root kernel exploit, then it puts the commands to flash it and reboots into recovery. After that flashes, it reboots again.
From this point on, it's all automatic.
The script waits for the device to be ready, and adb install's the auto-root exploit apk, and launches the intent through adb shell am start [...]
At this point, the WiFi settings are probably not capable of downloading the Cyan recovery in the case of those of us without data plans, so it will need to be pushed.
Once the autoroot apk flashes the recovery, we must write parameters to flash the radio/spl combo package, and the custom firmware (if applicable), to /cache, and reboot.
At this point, the radio, SPL, and firmware should be pushed and written, so the script exits.
If this sounds stupid, doesn't make sense, will auto-brick your phones, start global thermonuclear war, make all random numbers generated by your phone divisible by three, cause your meticulously placed lineup of G1 dominoes to collapse prematurely, or boot up the LHC and wind up creating a black hole, I am terribly sorry, but it's an idea I had at 2 in the morning, and it took me this time to research some things and write this post. It's about 5:30 AM now.
This is only an experimental concept. Some things might not be completely thought out. I'm tired, and hungry. I may create a proof-of-concept implementation of this, if I knew a bit more about the syntax of describing intents to launch in 'am', or the command syntax of the package:/META-INF/com/google/android/update-script file.