Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,807,045 Members 38,447 Now Online
XDA Developers Android and Mobile Development Forum

DualRomX2 = 4 roms on emmc(V6) 6-9-11

Tip us?
 
Conap
Old
(Last edited by Conap; 23rd July 2011 at 04:02 PM.)
#1  
Retired Recognized Developer - OP
Thanks Meter 233
Posts: 1,350
Join Date: Apr 2010
Default DualRomX2 = 4 roms on emmc(V6) 6-9-11

For those with phones other then Incredible...The new app that will replace this system and work with multiple phones is in the market. Check out my sig for our website with more info.


Does not work with CWM2.5...Tested with CWM 3.0.8 ONLY WILL NOT WORK WITH OTHER RECOVERIES

A super big thanks to xda dev drellisdee since he's the one who showed me how to mount the img's at boot time. Check out his modified recovery here http://forum.xda-developers.com/showthread.php?t=758874

Thanks also too:
Team ADX-I used my personal account to post since it has the dev privaliges but consider this a Team ADX endeavor.
Thanks to DHowett for furthering the idea of what we can do with the dualbooting
Thanks to UnCorrupted for giving me the original interest in Dual Booting roms long, long ago!!
Thanks to VZW for taking so much of my paycheck everymonth!!
Thanks to all who tested and gave feedback on my original DualRom project and to all who will do the same with this one.
Thanks to all the Dev's that give us a reason to want to use more then 1 rom.

DRX2 is an upgrade from DualRom. You can fit up to 4 roms on emmc(and one on the phone if you want) It uses the phone as an installer. I decided to go towards DHowetts idea of mounting img files on the emmc. Emmc will stay as fat32 the way it comes on the phone. This system is fairly simple and so far has worked with all rom's tested.

Tested with:

MIUI
CM7
SkyRaider 4.0
GingerSense Remix-B1-INC
Uber-z_RC3-1
Nil's Busines Sense
Leaked GB rom
WarmZ
uber kingdom sense 3.0 (1.0.1)
mikmik's beta 3 (sense 2.1 w/ 3.0 additions)
Incubus's Stock 2.0
mytouch 4g doubleshot rom
stock kingdom 3.0 rom

Post what rom's you boot successfully so they can be added to the list!!!

As you can see that's a good variety and it should work with every rom.

Does not work with CWM2.5...Tested with CWM 3+ Might work with other recoveries.

Installation

Installation is simple. The roms will be stored on emmc in folders labeled rom1, rom2, rom3 and rom4. each folder will need a system.img, data.img and cache.img. You can flash createimageforrom1.zip to setup the folder and img's for rom1 and the the same for the other roms up to rom4. The zip's i included create a 270mb system.img, a 1000mb data.img and a 120mb cache.img. If you would rather manually create these and make your own sizes do:

adb shell
cd emmc
mkdir rom1 (or rom2, rom3, rom4)
cd rom1
dd if=/dev/zero of=system.img bs=1M count=270
dd if=/dev/zero of=data.img bs=1M count=1000
dd if=/dev/zero of=cache.img bs=1M count=120

NOTE: Some rom's the dd command acts differently and your img may come out really small. If that's the case just add busybox to the beginning of the dd command.

the last number on the last three commands is the size of the image it will make. These take a while to make. If you use the zips i included expect to wait at least ten minutes for the img's to be built. Once they are built on the emmc you can flash different rom's to them without deleting/recreating them so you should only need to do this step once.

Once you have the img's setup choose your rom and your kernel or any other ad on's that you want installed. Flash the rom as normal(wipe phone, install zip from sd) NOTE: this will obviously overwrite your existing installation so if you want to keep that you will need to make a nand to restore when you are done. Next flash any ad on's or kernel zips you want installed as normal. Then just flash the zip for rom1installer that i've included. You can use rom1installer or rom2installer, etc to pick which slot you want the rom installed to. They don't have to be installed in any order. You can use just rom4 if you want just make sure you have setup the img's for the rominstaller zip you use. The installer zip will take 5 to 8 minutes to install so be patient. After that reboot your phone and it will boot to the rom you just installed. You can then use the DRX2 app to boot between all installed roms. If you restore your nand to your phone or install another rom to the actuall phone then run the phoneinstaller.zip to set that rom up to use the DRX2 app as well. So to recap and make it simple:

Does not work with CWM2.5...Tested with CWM 3+ Might work with other recoveries.

1. flash createimageforrom1.zip(or rom2, rom3, rom4) or all of them if you want lots of roms(you only need to do this if the img's are not already on your emmc)

2. flash your rom of choice and any add on's you want. (rember to wipe phone first and backup if nescasary) If you want to move the rom your currently have installed on your phone to one of the rom slots on emmc just skip this step.

3. flash rom1installer.zip (or rom2, rom3, rom4) whichever slot you want it installed too.

4. reboot

5. If you are also going to use a rom on your phone normally then flash or restore a nand of the rom you are keeping on phone. Then flash phoneInstaller.zip. This will install the DRX2 app and copy your phone rom's boot.img to emmc so the app can access it when you want to boot back to the phone rom.

Upgrading roms

rom1upgrader.zip(and rom2,rom3,rom4) can be used to upgrade your rom on emmc. These haven't been well tested. I did test with miui and a GB Sense 2.1/3.0 rom. Using these would be considered doing a no wipe update. If you want to wipe use the rom1installer.zip's. Step are as follows:

1. Wipe phone flash update and any add-on's

2. flash rom1upgrader.zip(or rom2,rom3,rom4) Make sure you flash the one where the rom your upgrading is installed

3. Reboot.

These could also be used if you want to flash add-ons. Flash the rom you currently have installed, flash the add-on, then flash the rom1upgrader. Example:

I have cm7 nightly 90 on slot1

I wipe phone, flash cm7 nightly 90 to phone, flash any add-on's i had flashed previously, flash any new add-on's, flash rom1upgrader.zip


Note: There is definitely a possiblity of typo's in one of the many scripts i had to write for this stuff so if you do have a problem that you post about please post which slot you have the rom installed too. Thanks.

DRX2 app



DRX2 works similar to DRSettings app. Push the button of the rom you want to boot too!!! simple enough right? Push menu for options to set the names of the rom's you have installed. If you set a name for Rom1 while booted in Rom1 the name will show when you boot to rom2, 3, or 4 so you only have to set the names once. There is also an option under menu to mount or umount emmc to pc. I added this because the one downfall of this system is the emmc does not mount to pc when using the mount disk drive options normally. Remember don't delete or move the img's of the rom your booted too.

Additional Scripts
bootRom1.zip, bootRom2.zip, etc...these zips are for the off chance you get stuck in recovery(i.e boot.img did not flash correctly) This shouldn't happen but I like to be safe especially if your not near a pc to fix it. You can flash these zip to boot into any of the 4 roms you have installed from recovery. Of course they will only work if you have a rom installed in the slot you are trying to boot too.

Downloads
Disclaimer-FLASH AT YOUR OWN RISK. You are responsible for what you do to your phone.

All the files you need are in 1 small package!!
V2 Changelog
DRX2 app installed to data/app instead of system/app so that GB sense rom's install it
V3 Changelog
Fixed app's not installing that i broke in v2

V4 Changelog
Fix for AOSP rom's not mounting as ext3(They should work ok as ext2 so if you already have it installed I wouldn't rush to change it. If you start to experience any data corruption then you can update those roms. These won't really affect the sense based rom's as they were already mounting as ext3.)

MultirominstallersV4.zip --old

V5 Changelog
Added a 5 second sleep on boot to give time for phone to mount the partition.

MultiromInstallersV5.zip --old

V6 Changelog
Added upgrader's in with the main package
Switched to ext2 for system.img and added ext2 datadata.img for lag improvements
Note: V6 Requires you to reflash the createimgforrom.zips because of the changes in the setup of the img's.

MultiromV6.zips --latest
Zip's to switch rom's in recovery--Now inclueds boot phone rom zip(I.E. boot-rom1.zip)

AnyKernelUpdater.zip's for DRX2 courtesy of tiny4579
tiny4579 made up some nice zips to replace the kernel on the emmc rom's. You don't even need to be booted into the rom you want to update the kernel on. Take the zImage from kernel/zImage and the files from system/libs/ in the kernel.zip that you downloaded and drop them in the same folders in these zips. These directions probably suck so if I confused you just ask!!!!

Rom1KernelUpdater
Rom2KernelUpdater
Rom3KernelUpdater
Rom4KernelUpdater

Nothing better then user contributions to a project like this so if you come up with something you'd like to share let me know!!!

Upgraders

Upgrader's now bundled in with the main package

Note: Unzip the multirom.zips to get to the flashable zips.

Does not work with CWM2.5...Tested with CWM 3+ Might work with other recoveries.

UnInstalling DRX2
If you want to install a new rom to a slot already in use then just follow the instructions I gave above. The scripts will wipe the img files at install.

If you want to completely uninstall the system just delete the folders off your emmc storage!!
Make sure your booted into a rom installed normally on the phone first!!

Additional thoughts

If the rom does not boot try installing and booting it on the regular phone first.

Any time your copying data from one place to another corruption can occur. If it doesn't work try it a second time. If you have to try again make sure to wipe the phone and reinstall the rom before re-running the installer scripts.

Install all add-on's, new kernels, flashable themes before running the installer script.

You can run the rom on the phone as normal, set it up, try it out and then move it to the emmc slots at any time by running an installer script. It will copy your data over also. In the case that you might want to check the rom out or see how a flashable them looks before installing it to one of the emmc slots.

If you have questions feel free to ask.
The Following 15 Users Say Thank You to Conap For This Useful Post: [ Click to Expand ]
 
renzo.olivares
Old
#2  
renzo.olivares's Avatar
Recognized Developer
Thanks Meter 16,218
Posts: 9,095
Join Date: Jan 2011

 
DONATE TO ME
Nice Work im going to try it out
The Following User Says Thank You to renzo.olivares For This Useful Post: [ Click to Expand ]
 
justjayhere
Old
(Last edited by justjayhere; 28th May 2011 at 09:45 PM.)
#3  
justjayhere's Avatar
Senior Member
Thanks Meter 179
Posts: 618
Join Date: Oct 2010
This looks awesome..... ! Now can keep up with all of JoelZ9614's Rom's... lol
The Following 2 Users Say Thank You to justjayhere For This Useful Post: [ Click to Expand ]
 
werdna87
Old
#4  
werdna87's Avatar
Senior Member
Thanks Meter 173
Posts: 1,239
Join Date: Apr 2011
Location: Mass
has this been tested with sense 3.0 because it seems like .img's are too small
Verizon Samsung Galaxys SIII
and mobile...
LIKE A BOSS
 
renzo.olivares
Old
#5  
renzo.olivares's Avatar
Recognized Developer
Thanks Meter 16,218
Posts: 9,095
Join Date: Jan 2011

 
DONATE TO ME
Quote:
Originally Posted by justjayhere View Post
This looks awesome..... ! Now can keep up with all of JoelZ9614's Rom's... lol
lmao i bet i will have more than 4 roms
 
Conap
Old
#6  
Retired Recognized Developer - OP
Thanks Meter 233
Posts: 1,350
Join Date: Apr 2010
Quote:
Originally Posted by werdna87 View Post
has this been tested with sense 3.0 because it seems like .img's are too small
I tested with gingersense remix which is sense2.1/3.0 i believe. The system.img i put was 270mb's which is larger then what's on the phone so if it fit's on the phone it will fit on this. That being said you can make the img's whatever size you want but the current install process requires that they be installed to the phone first so you will still have that size restriction.

Edit: If someone wanted to make a rom that was bigger then the phones normal partitions they could just package it in the img and just drop it onto the emmc. If any dev's have a rom that's too large for the phone and want to go that route they can contact me and I can help them make the boot.img for it. My goal was just to make install as universal and simple as possible.
The Following User Says Thank You to Conap For This Useful Post: [ Click to Expand ]
 
renzo.olivares
Old
#7  
renzo.olivares's Avatar
Recognized Developer
Thanks Meter 16,218
Posts: 9,095
Join Date: Jan 2011

 
DONATE TO ME
Quote:
Originally Posted by Conap View Post
I tested with gingersense remix which is sense2.1/3.0 i believe. The system.img i put was 270mb's which is larger then what's on the phone so if it fit's on the phone it will fit on this. That being said you can make the img's whatever size you want but the current install process requires that they be installed to the phone first so you will still have that size restriction.

Edit: If someone wanted to make a rom that was bigger then the phones normal partitions they could just package it in the img and just drop it onto the emmc. If any dev's have a rom that's too large for the phone and want to go that route they can contact me and I can help them make the boot.img for it. My goal was just to make install as universal and simple as possible.
ill definitely be pming you
 
justjayhere
Old
#8  
justjayhere's Avatar
Senior Member
Thanks Meter 179
Posts: 618
Join Date: Oct 2010
Quote:
Originally Posted by JoelZ9614 View Post
lmao i bet i will have more than 4 roms
I'm sure you will!

Sent from my Incredible using XDA Premium App
 
workshed
Old
#9  
workshed's Avatar
Retired Recognized Developer
Thanks Meter 726
Posts: 3,215
Join Date: Aug 2010
Location: turn around!

 
DONATE TO ME
Fine job sir, fine job!
HTC Droid Eris
- GSB -[CM7.2.0-RC1] ROM
- FroShedYo -[CM6.1] ROM
- Follow me on Twitter

If you would like to contribute to the effort, you can... but it's never expected.
Thank You, and Enjoy
!
 
todd3835
Old
#10  
todd3835's Avatar
Senior Member
Thanks Meter 53
Posts: 428
Join Date: Feb 2008
So does this still essentially use up all the EMMC so it's not usable for anything else? or does it only use up what it needs?
Handspring Visor Deluxe > Palm m505 > Palm m515 > Palm Tungsten T3 > Palm Lifedrive >Dell Axim x51v > Tilt > Fuze > iPhone 3gs > Droid Incredible > Samsung Galaxy Prevail > Droid Incredible (Flashed to Boost) > Evo 3D (Flashed to Boost) > Galaxy S3 > Galaxy S4

Nook Tablet > Asus Transformer TF300T

S4: Hyperdrive v16.1 via SS 3.72 (I'm on the NC2 BL)
Nook Tablet: CM10
Asus Transformer TF300T: BRICKED

The Following User Says Thank You to todd3835 For This Useful Post: [ Click to Expand ]
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes