Anyone with on XDA will have undoubtedly gone through quite a few different ROMs in their respective devices. More often than not, this is partially due to us never being completely happy with a single one. It could be because the theme doesn’t necessarily appeal to us, or maybe a you need to use a ROM due to a certain feature, such as EPST on Sense ROMs. For this purpose, there is always the option of dual booting (assuming that your device can do it) What if you could just switch back and forth ROMs easily on your Xperia Play? Lets say that you are torn between rooted stock and AOSP but you really cannot make up your mind on which one to use daily. Well, thanks to the efforts of XDA member KeiranFTW, you now have the ability to switch between two ROMs at your leisure. The dev has prepared a specialty kernel that will allow the device to have the option to dual boot from SD card.
The installation process is neatly laid out for anyone who can read and understand ADB commands, so missing out a step is really not an option unless you are not paying attention. As an added bonus, it seems that the EXT2 image that must be used after partitioning the SD card will give your device a nice I/O boost, which can be seen in Quadrant scores. All files, instructions, and requirements are in the OP, so please read it carefully.
If you have any feedback or suggestions for the dev, please make sure that you leave them on the thread.
How to dualboot:
What you will need:
An SD Card
ADB
Fastboot
7zip or alternative(Archive manager on linux is good)
Notepad++(gedit is good)
You can find more information in the kernel thread.
Want something published in the Portal? Contact any News Writer.
Thanks Leraeniesh for the tip!
Steps:
Credits:
DooMLoRD - BootManager and recoveries, autorooting and his scripts
Jerpelea (FXP) - zImage (kernel), boot splash logo
z - busybox knowledge, and his loop mount script.
GSM Only atm, CDMA not done yet, WIP.
Download:
Dualboot Kernel GSM: http://icxperia.com/keiran/r800i/dualboot.img
Data EXT2 image (~250MB), http://icxperia.com/keiran/r800i/data.ext2
How to dualboot:
What you will need:
An SD Card
ADB
Fastboot
7zip or alternative(Archive manager on linux is good)
Notepad++(gedit is good)
First, flash the dualboot.img
Code:
fastboot flash boot dualboot.img
How to partition SD Card for dual boot:
Code:
adb shell
sdparted -es 1024M -ss 0
When prompted to accept, make sure you use a capital Y
This operation will wipe your sd card :O lol
when it is done, type:
Code:
exit
in the command prompt/terminal
Now, put the data.ext2 image in the same folder as adb is
Second of all, you want to mount your second SD Card partition, using your computer with USB debugging enabled do this:
Code:
adb shell
busybox mount /dev/block/mmcblk0p2 /sd-ext
exit
then push the data partition image:
Code:
adb push data.ext2 /sd-ext/data.ext2
Now you have your system partition and data image set up for dualboot, you are also running a dualboot kernel
next thing to do is modify a ROM for boot from SD
We shall use CM7 in this example
Unzip the ROM, and go to /META-INF/com/google/android/ then open updater-script in notepad++, it will not work otherwise
Look for the lines:
Remove these lines:
Code:
assert(getprop("ro.product.device") == "R800i" || getprop("ro.build.product") == "R800i" || getprop("ro.product.board") == "R800i" ||
getprop("ro.product.device") == "R800a" || getprop("ro.build.product") == "R800a" || getprop("ro.product.board") == "R800a" ||
getprop("ro.product.device") == "R800at" || getprop("ro.build.product") == "R800at" || getprop("ro.product.board") == "R800at" ||
getprop("ro.product.device") == "zeus" || getprop("ro.build.product") == "zeus" || getprop("ro.product.board") == "zeus");
also, remove:
Code:
format("yaffs2", "MTD", "system");
also, replace:
Code:
mount("yaffs2", "MTD", "system", "/system");
with
Code:
set_perm(0, 0, 0777, "/sbin/systemsd.sh");
run_program("/sbin/systemsd.sh");
then save, then zip, then push to phone
Then, flash the update.zip (after doing a NANDROID) then boot phone into NAND.
To boot into SD ROM, do this:
Open terminal emulator and do the commands:
Code:
su
cd cache
cd recovery
touch dualboot
reboot
And you will reboot into SD ROM
You will not be able to use darktremor a2sd or any other a2sd script with any of the ROM's, but, you will be able to use standard stock rom app2sd, in CyanogenMod go into CM settings, then application then set install location to internal to avoid conflicts with .android_secure on both ROM's
Keiran
source:http://forum.xda-developers.com/showthread.php?t=1508017
0 comments:
Post a Comment