Configuring Dual Boot [Flashable Configuration Zip v1.0 Released! 23 Jul 2012]
I developed a flashable zip to help configure dual boot. Zip is designed to be independent of ROM type, version and install method, whether by flashable zip, cloning primary ROM to SD, or in general copying a ROM system image to SD.
Then I overhauled this thread...
Config-Dual-Boot-v1.0-signed.zip: http://www.mediafire.com/?edgat0koyp7d33l
- Backs up /sdcard[-ext]/Boot (if it exists) to /sdcard[-ext]/Boot.bak
- Creates Boot/ROM1 and Boot/ROM2 directory paths under /sdcard[-ext]
- Installs Script Manager on ROM1 and ROM2
- Contains shell script “copy-boot.sh” to copy ROM boot partition to boot image file
- Contains shell script “boot-rom.sh” to switch to boot ROM2 from ROM1 and vice versa
The updated “boot-rom.sh” script now features generic boot image directory names: Boot/ROM1 and Boot/ROM2, and automatically captures the SD Boot directory path (/sdcard for CM ROMs and /sdcard-ext for Blur ROMs).
Instructions:
1. Boot to ROM1 (emmc)
2. Reboot to CWM and flash:
http://www.mediafire.com/?edgat0koyp7d33l . Doing so will backup any existing Boot directory under /sdcard[-ext] and push a new Boot directory containing empty subdirectories ROM1 and ROM2 and two shell scripts: copy-boot.sh (copy boot partition to image file) and boot-rom.sh (boot switcher).
In the following steps, the shell (sh) commands can be run using ADB (Android SDK Platform Tools), Terminal Emulator, Script Manager or other suitable app.
3. Reboot to ROM1
4. Enter: “sh /sdcard[-ext]/Boot/copy-boot.sh”. This detects which ROM is running, ROM1 in this case, and copies its boot image to /sdcard[-ext]/Boot/ROM1
5. Configure Script Manager to execute “sh boot-rom.sh 2” which enables booting to ROM2. But do not run this command until ROM2 “boot.img” is in place. We'll do that now.
6. Reboot to fastboot and connect phone to computer.
7. Enter: “fastboot flash boot boot.img” where boot.img is a boot image file modified to host ROM2 on SD. Please see my Auto-Modify Boot Image thread.
8. Enter: “fastboot reboot"
9. Enter: “sh /sdcard[-ext]/Boot/copy-boot.sh” as in step 4.
10. Configure Script Manager to execute “sh boot-rom.sh 1” which enables booting to ROM1.
More on configuring Script Manager:
Go to Settings > More > Advanced Options > Config > Home Directory. Set home directory to /sdcard/Boot. Then while still in SManager, navigate to /sdcard/Boot and press boot-rom.sh to configure. Valid arguments are:
Code:
blank: Reboot to current ROM
1: Reboot to ROM1 (emmc)
2: Reboot to ROM2 (SD)
3: Reboot to recovery
Press the “Su” box to run as root (note green symbol) and press “Save” at top right. Then press “Run” at top left to launch boot-rom.sh and reboot to the other ROM.
Place shortcut to Script Manager on home screen.
If all goes well, you can now boot ROM2 from ROM1 and vice versa with just a few screen taps.
This procedure was tested working with Neutrino V2.8 EE (CM) on emmc and NottachTrix 1.3.1 ATT (Blur) on SD.
Legacy YouTube video (3:38) showing reboots from one ROM to the other:
http://www.youtube.com/watch?v=31TPyAguQ60
Credits
Special thanks to jokersax11, Notorious544d, ATRIXXIRTA, ghost_og, hatefuel19, J-Roc and many others for their technical direction, useful suggestions and encouragement. And of course to the Photon/Atrix/Android dev teams, Koush and
https://sites.google.com/site/devwom/