[DualBoot][Tools][Guide]Essentials v2.1 for Berni's method - LG Optimus 3D

As of 28/12/2013, I no longer have this phone. My threads will stay open for all who want to assist others. I've had a great time being a member of the O3D community, so thank you all!
For questions, requests or any other remarks, please don't send me PM, I will not answer. Instead, please post properly in the thread, so that anybody can read and benefit or even assist.
02/07/2013:New version 2.1 (fixed compatibility issues with Gingerbread present in v2.0). Switch_ROM in v2 is now a single script. All other scripts integrated into a "Recovery" equivalent. Fixed bug in wipes. Renamed "bin" folder to "img" (seemed more appropriate). Old v1.0 users must delete their existing DualBoot folder. Don't forget to backup your boot1.img and boot2.img from the old "bin" folder.
Our top developer, Berni987654321, developed a method to dual-boot our phones (follow the link to his page and press his "Thanks" button, he deserves it)! Thanks to him we can preserve our stock ROM with full 3D support and at the same time try out modern Jellybean ROMs like CM10, PACman, perhaps even KitKat some day!
However, dual booters were facing two problems:
1. Switching ROMs was cumbersome and time consuming since it required to reboot into recovery, flash a kernel and reboot again to the other ROM.
2. Recovery only backs up and restores the primary ROM. If someone wanted to try out different secondary ROMs, he would have to set them up from scratch every time.
3. Factory Reset and wipes don't work for secondary ROM in Recovery
This is where I've come in. I have written scripts that fill in these gaps.
Download and unzip the file attached and copy the DualBoot folder anywhere in your phone. It is necessary that all files are kept inside the folder and that the path (all directory names) to this folder contains no spaces.
Usage instructions are on the second post.
In order to keep SMS and Call Logs synchronized between the two ROMs, I use SMS Backup +. Naturally, it needs to be installed in both, primary and secondary ROMs.
You can't install just any kernel for your secondary ROM. You can only use one from Berni's page. Still, you can overclock using CM10 modules by Iodak.
Ilie321 and Defcomg have made a working FM radio app for ICS and JB. Attached at the end of this post there is a modified flashable zip that installs the radio straight into a secondary CM10 ROM. Use it after every Nightly upgrade.
For a long time I've wanted to integrate a "Fix Permissions" option into the Dual Boot Tools script but never found the time. Here you can find a wonderful script and run it with Script Manager after your secondary ROM has booted.
!! 3D support for CM10 !!
We may not be able to view in 3D, but we can shoot!
Defcomg has successfully ported ArcCamera to CM10 / 10.1 based ROMs, fixing at the same time orientation problems for all 3rd party cameras (e.g. Instagram). Attached you will find ARC+V30B_LIBS_CM10+_DualBoot.zip which is modified to flash directly to the secondary ROM. You need to flash it after every Nightly upgrade.
Hit Defcomg's "Thanks" button (Original thread)!
Stock ICS v30a Kernel:
If you have already updated your primary ROM to P920 ICS v28b or v30a, you will need the attached "Kernel-ICS-v30a.zip". Download and copy it to your phone. Follow instructions in 2nd post.
IMPORTANT: Official P920 ICS has locked bootloaders, so before you can boot into CM10 you also have to flash Wkpark's v1.25a bootloaders. OS_Hacking's Tool is an easy way to do that.
New CM10.1 Kernel
With the old CM10.1 Kernel, Bluetooth doesn't work. Attached you will find a new BT-fixed 10.1 kernel modified for Dual-Boot!
ADB driver not installing when in recovery!
It has been reported that after installing ICS on the phone, the computer cannot install the ADB driver when phone is in recovery mode, although ADB works normally when in USB Debugging mode.
Solution:
1. Open Device Manager and connect phone in recovery.
2. Right-click on LGE COSMO USB Device (in Other Devices) and select "Update driver software"
3. Select "Browse my computer for driver software"
4. Select "Let me pick from a list..."
5. Select "ADB Interface"
6. Select "Android Platform Sooner Single ADB Interface" and hit "Next"
7. Say "Yes" to the warning and wait for the driver to install
8. You may have to reboot the computer

Instructions on setting up the ROMs:
In this guide, I will concentrate on how to setup your EXTERNAL SD, because the latest CM10 and CM10.1 kernels modified by Berni expect to find partitions there!
First of all, you need to have ADB installed on your PC and CWM (or other recovery) on your phone. You also need to have unlocked bootloader if you are running ICS. There are other threads that explain how to do all that.
1. BACKUP your EXTERNAL SD card. IT WILL BE ERASED!
2. Download the primary and secondary ROMs of your choice
3. Do the necessary modifications to the secondary ROM as instructed by Berni (Do NOT use Windows Notepad for this. It corrupts the script. Download and use Notepad++ instead).
4. Download the kernels that match your ROMs (as described in Berni's guide).
5. Copy all to your INTERNAL SD (as I said, the external sd will be erased).
6. Boot into recovery, connect to PC via ADB and prepare partitions as instructed by Berni (this is when your card loses all data).
... Detailed Setup Instructions:
Some people reported trouble when trying to partition external SD cards larger than 8GB. So, I rewrote Berni's guide and added a little trick to help.
Follow this guide to partition your EXTERNAL SD card:
1. Turn off your phone. Keep Vol- 3D and Power keys until the LG logo shows. Release all keys. Wait a few sec.
2. You are now in Recovery. Connect your phone to PC with a USB cable, press Windows Start Menu, type:
cmd
Click to expand...
Click to collapse
and hit enter.
3. In the new window that has opened type:
adb shell
cd /dev/block
parted mmcblk1
print
Click to expand...
Click to collapse
For a 32 GB card, you'll get something like this:
Code:
Model: SD 00000 (sd/mmc)
Disk /dev/block/mmcblk1: 31.4GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 [b]1049kB 31.4GB[/b] 31.4GB primary fat32 lba
Write down the Start and End numbers
For cards larger than 8GB, the End Number is shown in GB. Multiply it by 1000 to cnvert it to MB (31400MB in our example). Make sure you use values in MB and NOT in GB in the commands below.
4. Type
rm 1
mkpartfs primary fat32 1049kB 29400MB ///!!! Instead of 1049kB, type the Start number you wrote down. Instead of 29400, type your End number minus 2000MB !!!
mkpartfs primary ext2 29400MB 30100MB ///!!! Instead of 29400, type the end of your 1st partition. Instead of 30100, type the end of 1st partition plus 700MB !!!
mkpartfs primary ext2 30100MB 31300MB ///!!! Instead of 30100, type the end of your 2nd partition. Instead of 31300, type the end of 2nd partition plus 1200MB !!!
Click to expand...
Click to collapse
At this point, because not all cards have exactly the same capacity, you need to know exactly how much space you have left. Type:
print free
Click to expand...
Click to collapse
You get somehing like:
Code:
Model: SD 00000 (sd/mmc)
Disk /dev/block/mmcblk1: 31.4GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
32.3kB 1049kB 1016kB Free Space
1 1049kB 29.4GB 29.4GB primary fat32 lba
2 29.4GB 30.1GB 700MB primary ext2
3 30.1GB 31.3GB 1200MB primary ext2
31.3GB 31.4GB [b]87.7MB[/b] Free Space
Note the size of your last free space (87.7MB here). Anything larger than 67.1MB will be sufficient.
Type:
mkpartfs primary ext2 31300MB 31387.7MB ///!!! 31300MB is the end of 3rd partition. 31387.7MB is the end of 3rd partition plus the remaining free space !!!
print
Click to expand...
Click to collapse
this time you get:
Code:
Model: SD 00000 (sd/mmc)
Disk /dev/block/mmcblk1: 31.4GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 29.4GB 29.4GB primary fat32 lba
2 29.4GB 30.1GB 700MB primary ext2
3 30.1GB 31.3GB 1200MB primary ext2
4 31.3GB 31.4GB 90MB primary ext2
5. Turn off your phone and boot again into recovery.
Type:
adb shell
cd /dev/block
mke2fs -T ext3 mmcblk1p2
mke2fs -T ext3 mmcblk1p3
mke2fs -T ext3 mmcblk1p4
Click to expand...
Click to collapse
Your new partitions are now ready!
7. Flash the ROMs (you may want to keep your original ROM and flash only the secondary one)
8. Flash your primary kernel and reboot to system.
Rebooting will now load your primary ROM.
Partitioning the easy way!
Instead of step 6, you may put your microSD card to your PC using a Card-Reader. Then you may use MiniTool, EaseUS or other freeware partitioning tool to create your partitions. Shrink your main partition and make three new PRIMARY EXT3 partitions AFTER your main one. The 1st (system2) must be 700MB. The second (data2) at least 1GB (you can make it larger if you like to install lots of apps)! The 3rd one (cache2) should be around 100MB. So, do the math and make sure you have shrunk your fat32 partition according to your needs first. After you're done, eject your card from the PC, put it in your phone and continue to step 7.
Important: If for your own reasons you need to create more than the 4 primary partitions mentioned above, then you must convert your card to GPT (GNU Partitioning Table). Minitool has that option. This is because the default MBR (Master Boot Record) partitioning does not support more than 4 primary partitions on the same medium. This is also how the internal memory of our phones is divided into a large number of partitions (P920: 15, SU760: 17) and they are all primary.
New: Easiest partitioning ever!
A new app, AParted, has appeared on PlayStore. You can use it to create both MBR type (up to 4 primary) and GPT type (up to 128 primary) partitions.
Instructions on ROM switching:
1. Go to Play Store and install SManager
2. Download the attachment from 1st post, unzip it and place the DualBoot folder on your phone (anywhere you like)
3. Unzip your primary kernel, place boot.img into your DualBoot/img folder and rename it to boot1.img
4. Do the same for your secondary kernel, but rename it to boot2.img
5. Run SManager, browse to your DualBoot folder and select "Switch_ROM".
6. Mark favourite and su options and run the script.
Your phone will now reboot to your secondary ROM. Use the same script to go back to your primary ROM.
7 (optional). SManager has a homescreen widget system. It lets you add buttons in your homescreens that will directly run the linked script (it has to be put in favourites first).
Alternatively, you may download Flashify from Play Store and flash your desired Kernel.img from there. The advantage is that you may keep and test different kernels for the same ROM without having to rename them or put them in the IMG folder (less initial setup). The disadvantage is that it requires more clicks to switch every time.
Instructions on Backup/Recovery/Wipe:
These scripts work for EXTERNAL SD ROM installations!
1. For full functionality, you must be on PRIMARY ROM (you can't expect to wipe or restore a running system)!
2. Make sure you have at least 2GB free space on your external SD if you want to make a backup.
3. Inside your DualBoot folder there is a script: "Recovery_Tools". Run the script with SManager (make sure you have the SU and Wlck buttons pressed). For Wlck to work, you must first enable it from SManager settings.
4. You will now enter the Dual Boot Recovery Tools. There are several options. Type the number you want and press enter. All functions are pretty self-explanatory.
It's very important to know that every backup overwrites the previous! The backup is kept in /sdcard/_ExternalSD/ROMs/rom2_backup. If you want to keep more than one backups, you can always rename the folder, but remember to change the name back if you want to restore your ROM.
The "Advanced" option takes you to the "Wipes" menu. For a Factory Reset, you must wipe Data2 and Cache2. For a Full Format, in order to clean-install a new ROM, you may also wipe System2.
Remove Dual Boot - Regain card space:
This is pretty simple:
1. Backup the contents of your SD card.
2. Boot to your primary ROM
3. Go to System Settings/Storage and select Erase SD card.
Case scenario / Easy migration to dual boot:
Say you have already installed CM10 in a single boot setup but you miss the 3D features and you want to restore your good old gingerbread backup or flash the new P920 ICS, but keep your CM10 setup as a secondary ROM in dual boot.
1. Make sure you have at least 4GB free in your external SD.
2. While still in CM10, use SManager to browse to your DualBoot folder, run the "Recovery_Tools" script and select option to "Backup/Migrate ROM1".
(Go fry some bananas cause this will take around 6-7min!)
3. Now backup your external SD to your PC and reboot to recovery.
4. Follow the guide to partition your external SD.
5. Restore your Gingerbread or P920-ICS backup or flash your favorite ROM and reboot into it.
6. Restore your external SD backup from PC.
7. Run the "Recovery_Tools" again and use the "Restore ROM2" option.
(Eat your fried bananas cause this will take another 6-7 min!)
Your original CM10 installation is now relocated to external SD as your secondary ROM. Use my instructions on ROM switching to boot into it.

Wow man, this is awesome!
I'm bussy right now but I'll try it out as soon as i can.
Thanx thanx thanx thanx......

this is awesome!!thank you so much for this...one of the reasons i don't use dual booting is that the switching process is not efficient
and now its much better..so thank you again

Re: [DualBoot][Tools]Essential tools for Berni's method
Great job mate, you just made my life a lot easyer.
Thanks
Sent from my LG-P920 using xda app-developers app

Re: [DualBoot][Tools][Guide]Essentials for Berni's method
Some people experienced trouble partitioning external cards larger than 8GB. Specifically, the 4th partition (cache) wouldn't fit. So, I rewrote Berni's guide on partitioning, adding one extra trick to do the job without problems!
Sent from my 3D phone

Re: [DualBoot][Tools][Guide]Essentials for Berni's method
Added a way to migrate your single boot CM10 installation to dual boot without losing your settings!
Sent from my 3D phone

dreccon said:
Added a way to migrate your single boot CM10 installation to dual boot without losing your settings!
Sent from my 3D phone
Click to expand...
Click to collapse
Thank you. You are awesome

Very good bro, just find a way to put script shortcut in powermenu, that would be real cool. I think it can be done by editing android.policy.jar

Re: [DualBoot][Tools][Guide]Essentials for Berni's method
Added support for the new P920 ICS v28b.
Sent from my 3D phone

It just occured to me that there is yet another way to easily switch ROMs without using my scripts! Whoever is interested may try it.
This method is ideal for those who use Xbsall's prerooted v28b. That rom comes with milaq' 2nd init recovery which lives in the system partition. The recovery partition remains with stock recovery which is practically useless. So, 1st of all make sure you have wkpark's v1.25a bootloader (a prerequisite to boot into both ICS and CM10). Then flash the secondary boot.img into the recovery partition. This way every "normal reboot" will take you to your primary ROM and every "reboot to recovery" (or pressing vol-down at bootup) will take you to the secondary ROM. To go to milaq's recovery you would press vol-down at normal bootup while keys are flashing or run the dedicated app from android. So, there you have it: a fully functional dual-boot android. Ofcourse, this can apply to any ROM that can be fitted with 2nd init recovery.
Any questions?

dreccon said:
Added support for the new P920 ICS v28b.
Sent from my 3D phone
Click to expand...
Click to collapse
yaaaa great man i love it :good::good::good::good:

Hey dreccon , say that i want to keep cm10 as my primary ROM and v28b as my secondary , if you can also include those steps in your main post i'd really appreciate it.
Thank you for this great contribution.

Re: [DualBoot][Tools][Guide]Essentials for Berni's method
boltthrower56 said:
Hey dreccon , say that i want to keep cm10 as my primary ROM and v28b as my secondary , if you can also include those steps in your main post i'd really appreciate it.
Thank you for this great contribution.
Click to expand...
Click to collapse
Sorry, can't do that! It's not that it can't be done, but you would need a v28b kernel modified to look for the system partitions in the SD card. I don't know how to do this. Berni does! That's why all the modified kernels are on his page and not here!
What you can do right now is to migrate your existing CM10 to the card. I've written instructions on 1st post.
Sent from my dual-booting ICS/JB O3D!

dreccon said:
Sorry, can't do that! It's not that it can't be done, but you would need a v28b kernel modified to look for the system partitions in the SD card. I don't know how to do this. Berni does! That's why all the modified kernels are on his page and not here!
What you can do right now is to migrate your existing CM10 to the card. I've written instructions on 1st post.
Sent from my dual-booting ICS/JB O3D!
Click to expand...
Click to collapse
Allright , thanks anyway...
I'll pm bernie and ask about modifying the kernel.
I already did a little research about it , i think i can do it easily , i just need someone to point me out to the right direction.

Thank you very much for the Scripts they work really good and fast...:good:

ADB can not get started with the recovery, I tested with CMW and TRWP (terminal), any ideas?

infernum said:
ADB can not get started with the recovery, I tested with CMW and TRWP (terminal), any ideas?
Click to expand...
Click to collapse
Are you using ICS as your primary ROM? It seems that there is a driver problem in ICS. I'm using v28b and my computer can't install drivers when I connect phone in recovery, although everything works perfect when it's booted in Android. All I can tell you is to try updated drivers (the link has been posted in v30a thread. If it still doesn't work, you'll have to use TWRP console instead of ADB. If this is your case you'll need further instructions cause the commands in TWRP console are a little different than ADB.
Sent from my dual-booting ICS/JB O3D!

Also, see if updating Android SDK makes any difference.
Sent from my dual-booting ICS/JB O3D!

dreccon said:
Are you using ICS as your primary ROM? It seems that there is a driver problem in ICS. I'm using v28b and my computer can't install drivers when I connect phone in recovery, although everything works perfect when it's booted in Android. All I can tell you is to try updated drivers (the link has been posted in v30a thread. If it still doesn't work, you'll have to use TWRP console instead of ADB. If this is your case you'll need further instructions cause the commands in TWRP console are a little different than ADB.
Sent from my dual-booting ICS/JB O3D!
Click to expand...
Click to collapse
I can get into adb from fastboot , recovery and debugging with defcomg super light ROM ?
Sent from my LG-P920 using xda premium

Related

Question Noobe

I would like to know exactly what these do before i do them. sorry guys im a noobe..
Build:RA-magic-v1.2.3G
- wipe sd:ext partition
- Wipe SD:dalink-cache
- part sd:fat32+ext2+swap
- part sdnly fat32
- repair ext filesystem
- convert ext2 to ext3
- fix apk uid mismatches
- fix rotate
- USB Mass storage on
- USB Mass Storage off
Also how do you flash this recovery img from the Recover Flasher App, VS using CMD & fastboot.
jdubdieslo said:
I would like to know exactly what these do before i do them. sorry guys im a noobe..
Build:RA-magic-v1.2.3G
- wipe sd:ext partition
- Wipe SD:dalink-cache
- part sd:fat32+ext2+swap
- part sdnly fat32
- repair ext filesystem
- convert ext2 to ext3
- fix apk uid mismatches
- fix rotate
- USB Mass storage on
- USB Mass Storage off
Also how do you flash this recovery img from the Recover Flasher App, VS using CMD & fastboot.
Click to expand...
Click to collapse
wipe sd: ext partition- deletes your apps on your ext partiton
wipe sd: davlik-cache wipes your cache on your sd
part sd: fat32+ext2+swap makes the three partitions you need to run hero roms
parted sd: fat32 only- just partitions your memory card for a fat32 for stock roms like cyanogen
convert ext2 to ext3- does exactly what it says. makes ext2 to ext3
repair ext filesystem- do this after you choose to convert ext2 to ext3
fix apk uid mismatches- does exactly what it says
fix rotate- fixes auto rotate issues some roms have
usb mass storage on- allows you to access your fat32 part of your sd from the recovery
usb mass storage off- turns off the mounting of your sd from the recovery
to flash it using the recovery flasher app, just look at the unlockr's video and substitute the recovery image name for the one that is in the video. Voila.
Hope this helps
Applause...
Getting a straight answer sometimes is the most difficult part of installing a rom.
thelastgoodbrother said:
Applause...
Getting a straight answer sometimes is the most difficult part of installing a rom.
Click to expand...
Click to collapse
lol thats very true but come on if you can't do the research to figure out the basic youll be posting another thread the next day but this time it'll be called "stuck on the g1 screen" lol sometimes not giving a straight answer may save their phone... but thats just my opinion
So use part sd: fat32+ext2+swap when useing hero rom... what if i use hero rom & go back to cyanogen can i leave it that way or do i need to parted sd: fat32 only? also if i did part sd: fat32+ext2+swap And then did part sdnly fat32 would it override the part sd: fat32+ext2+swap. another question i dont even know what ext 2 is so moving it to ext 3 would be? sorry guys im new at this.. just wanted to clarify this. is fat32 letting me store apps to sd? because i removed the sd card while phone was on & notices it froze; i put it back in removed & rrplaced battery and it was fine again.. also i noticed i part sd: fat32+ext2+swap again before i read your replies to see what it would do and everything on my sd card was goin..
also what is swap i saw an app that saved a swap file on sd..
thanks everyone for you help. loving the android community. as soon as i get some extra cash i will be donating to people that helped me make my android stand out from any one's android on my end of the computer. thanks
jdubdieslo said:
So use part sd: fat32+ext2+swap when useing hero rom... what if i use hero rom & go back to cyanogen can i leave it that way or do i need to parted sd: fat32 only? also if i did part sd: fat32+ext2+swap And then did part sdnly fat32 would it override the part sd: fat32+ext2+swap. another question i dont even know what ext 2 is so moving it to ext 3 would be? sorry guys im new at this.. just wanted to clarify this. is fat32 letting me store apps to sd? because i removed the sd card while phone was on & notices it froze; i put it back in removed & rrplaced battery and it was fine again.. also i noticed i part sd: fat32+ext2+swap again before i read your replies to see what it would do and everything on my sd card was goin..
also what is swap i saw an app that saved a swap file on sd..
thanks everyone for you help. loving the android community. as soon as i get some extra cash i will be donating to people that helped me make my android stand out from any one's android on my end of the computer. thanks
Click to expand...
Click to collapse
If you are running a hero rom and want to go to cyanogen, you can leave the fat32+ext2+swap. Just make sure that you wipe your sd partition and davlik cache using the options in the recovery image. Do this every time you are flashing any new rom for that matter, whether it's a different hero rom or a stock rom.
Ext is the partition of your memory card that stores all your apps. This was necessary for the g1 because it only had like 80 mb of memory for apps. The mytouch has nearly 300 so apps2sd is not really necessary, but most custom ROMs include this anyway. Ext3 is what most of these ROMs operate on. Ext2 is an old outdated version that no one really uses anymore and ext4 is even newer than ext3 but is not really necessary.
Fat32 only does not let you store your apps on your sd. It does not have the ext partition to let that happen. I don't know why your phone froze when you took your sd card out. It shouldn't have. When you part your memory card, whether its just fat32 or the combo fat, ext, and swap your memory card gets wiped and formatted to whatever you have, so of course you will lose all your contents on the memory card. It wipes and reformats all 3 partitons, or just the one if you are doing only the fat32.
As for swap, this is necessary for hero. Hero phones have 288 mb of ram and the mytouch only has 192mb so if you don't have this, the phone lags so bad and hangs up and you get constant load screens. The app you saw is known as swapper. Yes it does put a swap file on your sd card, but if you go into advanced settings, it lets you use your swap partition of your memory card, which is what you should always choose.
Keep them questions rolling, I like being able to contribute whenever I can.
tazz9690 said:
If you are running a hero rom and want to go to cyanogen, you can leave the fat32+ext2+swap. Just make sure that you wipe your sd partition and davlik cache using the options in the recovery image. Do this every time you are flashing any new rom for that matter, whether it's a different hero rom or a stock rom.
Ext is the partition of your memory card that stores all your apps. This was necessary for the g1 because it only had like 80 mb of memory for apps. The mytouch has nearly 300 so apps2sd is not really necessary, but most custom ROMs include this anyway. Ext3 is what most of these ROMs operate on. Ext2 is an old outdated version that no one really uses anymore and ext4 is even newer than ext3 but is not really necessary.
Fat32 only does not let you store your apps on your sd. It does not have the ext partition to let that happen. I don't know why your phone froze when you took your sd card out. It shouldn't have. When you part your memory card, whether its just fat32 or the combo fat, ext, and swap your memory card gets wiped and formatted to whatever you have, so of course you will lose all your contents on the memory card. It wipes and reformats all 3 partitons, or just the one if you are doing only the fat32.
As for swap, this is necessary for hero. Hero phones have 288 mb of ram and the mytouch only has 192mb so if you don't have this, the phone lags so bad and hangs up and you get constant load screens. The app you saw is known as swapper. Yes it does put a swap file on your sd card, but if you go into advanced settings, it lets you use your swap partition of your memory card, which is what you should always choose.
Keep them questions rolling, I like being able to contribute whenever I can.
Click to expand...
Click to collapse
ao since ext 2 is outdate we want to convert ext 2 to ext 3 then repair ext filesystemafter words.. so if you convert ext 2 to ext 3 is there only a ext 3 now or both ext 2 and it adds a ext 3? also what does dalvik mean? also i thought apps to sd was a big deal because if you switch roms all your apps are still there, but if you wipe ext partition then you lose the apps so the real reason is just for phone with low ram and cant store many apps at once.. intresting..and wats up with not wipe data/factory reset after installing roms? whats the reason behind that, i notice my IME keyboard is no longer there when i do that.. im trying to think of more questions lol. thanks a million.
jdubdieslo said:
ao since ext 2 is outdate we want to convert ext 2 to ext 3 then repair ext filesystemafter words.. so if you convert ext 2 to ext 3 is there only a ext 3 now or both ext 2 and it adds a ext 3? also what does dalvik mean? also i thought apps to sd was a big deal because if you switch roms all your apps are still there, but if you wipe ext partition then you lose the apps so the real reason is just for phone with low ram and cant store many apps at once.. intresting..and wats up with not wipe data/factory reset after installing roms? whats the reason behind that, i notice my IME keyboard is no longer there when i do that.. im trying to think of more questions lol. thanks a million.
Click to expand...
Click to collapse
if you convert ext2 to ext3, there will only be ext3. It converts it from ext2, it does not make an additional partition. Davlik cache, if I am not mistaken is all your cache from your browser to google maps gets saved to your sd card as well instead of your phone memory. The apps2sd was originally for the fact that you keep your apps, but when flashing hero roms, it did not work for some reason and it resulted in boot loops. So that's why they say always format your ext if flashing from a different rom. For stock roms, I don't believe this would be an issue so you probably could go on without wiping your sd as long as you are moving from a stock rom to another stock. It will not work if you go from stock to hero, and vice versa. Wipe data/factory reset clears all the settings from your phone so you do not have any lingering settings stored on the phone from an old rom when you flash a different one. The only time that you do not need to do this is if you are flashing a newer version of the same rom. The IME is probably still there, it just got unchecked from the input method. Go to locale and text and recheck the "input" box and it should work again.
yeah it is safest way to wipe and reformat the sd card before flashing a new rom.
tazz9690 said:
if you convert ext2 to ext3, there will only be ext3. It converts it from ext2, it does not make an additional partition. Davlik cache, if I am not mistaken is all your cache from your browser to google maps gets saved to your sd card as well instead of your phone memory. The apps2sd was originally for the fact that you keep your apps, but when flashing hero roms, it did not work for some reason and it resulted in boot loops. So that's why they say always format your ext if flashing from a different rom. For stock roms, I don't believe this would be an issue so you probably could go on without wiping your sd as long as you are moving from a stock rom to another stock. It will not work if you go from stock to hero, and vice versa. Wipe data/factory reset clears all the settings from your phone so you do not have any lingering settings stored on the phone from an old rom when you flash a different one. The only time that you do not need to do this is if you are flashing a newer version of the same rom. The IME is probably still there, it just got unchecked from the input method. Go to locale and text and recheck the "input" box and it should work again.
Click to expand...
Click to collapse
Previously I got a 2GB micro-sd card. so no problem for me to move my music, photos, videos and backup apps to my pc.
But i just bought a 8GB card 2 weeks ago and man, backup all before flashing a rom is pain in the a** . but can't help flashing this and that ROMs hee hee
so no choice. yesterday I flashed Eugene's supermagic rom. awesome!
cheers
tazz9690 said:
if you convert ext2 to ext3, there will only be ext3. It converts it from ext2, it does not make an additional partition. Davlik cache, if I am not mistaken is all your cache from your browser to google maps gets saved to your sd card as well instead of your phone memory. The apps2sd was originally for the fact that you keep your apps, but when flashing hero roms, it did not work for some reason and it resulted in boot loops. So that's why they say always format your ext if flashing from a different rom. For stock roms, I don't believe this would be an issue so you probably could go on without wiping your sd as long as you are moving from a stock rom to another stock. It will not work if you go from stock to hero, and vice versa. Wipe data/factory reset clears all the settings from your phone so you do not have any lingering settings stored on the phone from an old rom when you flash a different one. The only time that you do not need to do this is if you are flashing a newer version of the same rom. The IME is probably still there, it just got unchecked from the input method. Go to locale and text and recheck the "input" box and it should work again.
Click to expand...
Click to collapse
so when going to another rom should you part the sd before or after the rom is loaded? and honestly im running out of questions.. i got one that is throwing me off.. i have my phone in fastboot and in device manager it show andriod bootloader (cant remember the exact device); i type in the cmd
cd desktop
cd fastboot
then the code for the custom splash and i get
< waiting for device > and it just sits there. nothing will happen. & my splash is still stock.. the file is at the rights bytes and i have the folder on my cd on the desktop and the driver i beleive is installed correctly on the cp. what am i doing wrong?
I think the Title should be Changed, Something Like Recovery-101. Know Your Phone.
Alot of great Info for New comers
jdubdieslo said:
so when going to another rom should you part the sd before or after the rom is loaded? and honestly im running out of questions.. i got one that is throwing me off.. i have my phone in fastboot and in device manager it show andriod bootloader (cant remember the exact device); i type in the cmd
cd desktop
cd fastboot
then the code for the custom splash and i get
< waiting for device > and it just sits there. nothing will happen. & my splash is still stock.. the file is at the rights bytes and i have the folder on my cd on the desktop and the driver i beleive is installed correctly on the cp. what am i doing wrong?
Click to expand...
Click to collapse
Part the sd before you load the rom onto the phone. if it has apps2sd and you try to part your memory card after, you will get stuck at the splash more than likely because you are missing key components that are stored onto the sd, like all your apps for example that come with the ROM.
In fastboot, when it's plugged in, on the phone does it say "Fastboot USB"?
You might want to try to reupload the drivers for the fastboot. That may be why it's hanging. I never use fastboot through the desktop. I always use fastboot through the SDK folder on my C:\ drive. It always worked for me that way. For some reason I could never get it to work with the "cd destop" but thats just me.
tazz9690 said:
Part the sd before you load the rom onto the phone. if it has apps2sd and you try to part your memory card after, you will get stuck at the splash more than likely because you are missing key components that are stored onto the sd, like all your apps for example that come with the ROM.
In fastboot, when it's plugged in, on the phone does it say "Fastboot USB"?
You might want to try to reupload the drivers for the fastboot. That may be why it's hanging. I never use fastboot through the desktop. I always use fastboot through the SDK folder on my C:\ drive. It always worked for me that way. For some reason I could never get it to work with the "cd destop" but thats just me.
Click to expand...
Click to collapse
i figured taht was the right order part sd then load rom because i did it and it worked lol, and since it worked i never tried it rom the part sd. so do cyanogen roms have app2sd? and does the cyanogen rom have a overclocker built in now because i tried to use my overclock widget and it doesnt work and the phone seems as if its running faster even with out my widget..
and yes it says fastboot usb & ive tried uninstalling & reinstall the drivers mutliple times and still get < waiting for device > so if i do it on the c:/ drive were do i place the fastboot folder? /c:/fastboot? and what would the code be?
cd c:/
cd Fastboot
thent he other code that i have saved at home the flash_splash one? i cant remember it.
one really dumb question. i rooted my pops mytouch lol because he was complaining about the mytouch stock because of numerous things. so i rooted it to 4.2.2 and out of all things he is now complaining about the stock ringtones.. lol. anyone know where to get the stock ringtones? if not its cool i told him id make sum ringers with ringdroid for him like the temptations and willie nelson lol.. thanks all for your support.
jdubdieslo said:
i figured taht was the right order part sd then load rom because i did it and it worked lol, and since it worked i never tried it rom the part sd. so do cyanogen roms have app2sd? and does the cyanogen rom have a overclocker built in now because i tried to use my overclock widget and it doesnt work and the phone seems as if its running faster even with out my widget..
and yes it says fastboot usb & ive tried uninstalling & reinstall the drivers mutliple times and still get < waiting for device > so if i do it on the c:/ drive were do i place the fastboot folder? /c:/fastboot? and what would the code be?
cd c:/
cd Fastboot
thent he other code that i have saved at home the flash_splash one? i cant remember it.
one really dumb question. i rooted my pops mytouch lol because he was complaining about the mytouch stock because of numerous things. so i rooted it to 4.2.2 and out of all things he is now complaining about the stock ringtones.. lol. anyone know where to get the stock ringtones? if not its cool i told him id make sum ringers with ringdroid for him like the temptations and willie nelson lol.. thanks all for your support.
Click to expand...
Click to collapse
Cyanogen's rom has dynamic apps2sd. If it senses that you have a partition, it will do apps2sd. If you don't have an ext, it will save it to the phone, so it will work that way too.
For the fastboot, do you even have your computer set up for the use of ADB and fastboot? Like having the latest SDK downloaded and set up for your computer? That might be why it says, waiting for devices. When you do cd fastboot, afterward type fastboot devices and see if in the cmd it says "HTC Bootloader" or "Android Bootloader" I am not sure which one it is.
As for the ringtones, here is the link for the download in Cyanogen's 4.2.2 threat http://n0rp.chemlab.org/android/audio-resources.zip That downloads a zip of all the stock ringtones. Just upzip the file and place it on the root of your sd card.
tazz9690 said:
Cyanogen's rom has dynamic apps2sd. If it senses that you have a partition, it will do apps2sd. If you don't have an ext, it will save it to the phone, so it will work that way too.
For the fastboot, do you even have your computer set up for the use of ADB and fastboot? Like having the latest SDK downloaded and set up for your computer? That might be why it says, waiting for devices. When you do cd fastboot, afterward type fastboot devices and see if in the cmd it says "HTC Bootloader" or "Android Bootloader" I am not sure which one it is.
As for the ringtones, here is the link for the download in Cyanogen's 4.2.2 threat http://n0rp.chemlab.org/android/audio-resources.zip That downloads a zip of all the stock ringtones. Just upzip the file and place it on the root of your sd card.
Click to expand...
Click to collapse
thats good to know. so if you ext 2 will cm use ext 2 & if you converted it will it use ext 3? also how can i tell what i have ext 2 or ext 3 other than knowing if i click convert to ext 3? i downloaded the SDK and used the usb folder when the computer was looking for drivers & it says it installed drivers successfully; so now when im in fastboot usb on my phone the computer in device manager shows bootloader (cant remember exactly what it says untill i get home); & when my phone is in recovery the driver shows ADB (cant remember the exact name till i get home also); and then i do the codes because my fastboot & sdk folders are on my desktop; when i downloaded the sdk folder i dont think i did anything with it as far as isntalling it, what does the sdk folder do? lol. sorry..
thanks for the ringtones my pops says mucho gracias.
jdubdieslo said:
thats good to know. so if you ext 2 will cm use ext 2 & if you converted it will it use ext 3? also how can i tell what i have ext 2 or ext 3 other than knowing if i click convert to ext 3? i downloaded the SDK and used the usb folder when the computer was looking for drivers & it says it installed drivers successfully; so now when im in fastboot usb on my phone the computer in device manager shows bootloader (cant remember exactly what it says untill i get home); & when my phone is in recovery the driver shows ADB (cant remember the exact name till i get home also); and then i do the codes because my fastboot & sdk folders are on my desktop; when i downloaded the sdk folder i dont think i did anything with it as far as isntalling it, what does the sdk folder do? lol. sorry..
thanks for the ringtones my pops says mucho gracias.
Click to expand...
Click to collapse
I don't think any builds use ext2 anymore. They all either use ext3 or ext4. You have to make an ext2 first though, before you can convert it to ext3. Same goes for ext4, you have to have ext3 before you can upconvert to it. Just use ext3 just to be safe. If you go into "Parted" through the recovery image by typing in "parted /dev/block/mmcblk0" in adb shell, then typing 'print' it will show how big your fat32 is, it'll say which ext you have as well as your size, and the same for linux swap.
For a SDK, the folder stores the drivers needed for fastboot and adb in it. You should save it to the root of your C:\ drive because it makes things easier. I recommend you set up SDK using this thread guide: http://forum.xda-developers.com/showthread.php?t=532719
Setting up the Android 1.5r2 SDK
Download the file from above
Unzip to your desktop
Take the "android-sdk-windows-1.5_r2" folder and move it to the root of your hard drive (C:\)
Right click on My Computer and click properties
Select the Advanced Tab or Advanced System Setting (Vista)
Select Environment Variables...
Press New
For Variable Name type: adb
For Variable Value type: C:\android-sdk-windows-1.5_r2\tools
--------------------------------------------------------------------------
Preparing your phone for ADB
Go to Settings on your phone
Select Applications
Select Development
Make sure 'USB Debugging' is checked
--------------------------------------------------------------------------
Installing Drivers
Plug in your phone through USB and DO NOT MOUNT IT!!!!!
Your computer should see a new device and try to install Android 1.0 driver (If it doesnt, scroll down to the "Im not getting a notification of Android ADB when i plug in my USB" section)
Let it load
Once it cant find them select "Install drivers from my pc"
The drivers you need are in the Android SDK 1.5r2 folder (C:\android-sdk-windows-1.5_r2\usb_driver)
Depending on your OS pick x86 or amd64
You ADB Android Device should now be installed! Good Job
Those are basically what you need to look at.
jdubdieslo said:
I would like to know exactly what these do before i do them. sorry guys im a noobe..
Build:RA-magic-v1.2.3G
- wipe sd:ext partition
- Wipe SD:dalink-cache
- part sd:fat32+ext2+swap
- part sdnly fat32
- repair ext filesystem
- convert ext2 to ext3
- fix apk uid mismatches
- fix rotate
- USB Mass storage on
- USB Mass Storage off
Also how do you flash this recovery img from the Recover Flasher App, VS using CMD & fastboot.
Click to expand...
Click to collapse
Don't mean to hijack your thread OP, but I do have a question that I hope someone can answer. When partitioning the SD card, you choose the option I put in Bold. After that, could you use this link:
http://forum.xda-developers.com/showthread.php?t=535914
To adjust the different sizes of the 3 partitions? I know that in order to run any Hero ROMS, your SD card has to be partitioned with at least 3 (fat32+ext2+swap) parts. This is the only part that still confuses me when it comes to adequately rooting.
If you are using ubuntu, you create the partitions you want, as well as the size. If you use the recovery image, you would just be adding an unnecessary step because it will just get deleted when you make your partitions again with Ubuntu.
tazz9690 said:
I don't think any builds use ext2 anymore. They all either use ext3 or ext4. You have to make an ext2 first though, before you can convert it to ext3. Same goes for ext4, you have to have ext3 before you can upconvert to it. Just use ext3 just to be safe. If you go into "Parted" through the recovery image by typing in "parted /dev/block/mmcblk0" in adb shell, then typing 'print' it will show how big your fat32 is, it'll say which ext you have as well as your size, and the same for linux swap.
For a SDK, the folder stores the drivers needed for fastboot and adb in it. You should save it to the root of your C:\ drive because it makes things easier. I recommend you set up SDK using this thread guide: http://forum.xda-developers.com/showthread.php?t=532719
Those are basically what you need to look at.
Click to expand...
Click to collapse
So if u have a ext 3 how do u get ext 4? Also wat is linux swap? And yea i didnt do all that im sure thats why i was getting < waiting for device >. I will let u know the outcome of the splash screen... thanx.
jdubdieslo said:
So if u have a ext 3 how do u get ext 4? Also wat is linux swap? And yea i didnt do all that im sure thats why i was getting < waiting for device >. I will let u know the outcome of the splash screen... thanx.
Click to expand...
Click to collapse
If you want ext3, you have to go into parted like I stated in a previous post and create your partitions that way. From there, to upgrade to ext3, you type "upgrade_fs". You now have ext3. If you want ext 4, after that you would type
"tune2fs -O extents,uninit_bg,dir_index /dev/block/mmcblk0p2
e2fsck -fpDC0 /dev/block/mmcblk0p2"
That's just too much work for me. I am fine with ext3. If you want a more in depth explanation, go to this thread: http://forum.xda-developers.com/showthread.php?t=534714&highlight=wipe+partition
Linux swap, I believe I explained in one of my early posts. The mytouch only has 192 mb of ram. The Hero's have 288 and so do the 32A board Sapphire phones like the HTC Magic and the Rogers Magic. Since we were unfortunate to get that low of Ram, if you try to run a hero rom without the linux partition, the phone will lag, freeze, and get load screens constantly. Using a linux swap partition makes it possible to run the Hero ROM's at a decent speed, though it will not be as fast as if you had the actual HTC Hero phone or a 32A Sapphire.

[Utility] ext4 data2sd for Froyo ROMs

If you are always low on program memory, this data2sd might be for you. It works with any Froyo for the G3.
Note: This won't wipe your data, but you should have a backup, just in case. First backup the phone to the SD card, then the SD card to your computer. Be cautious. I give no guarantee whatsoever. If your phone behaves funny, even eats your cat afterwards, I take no responsibility.
Note: starting with version 3, the new storage size will NOT be reflected in the Task Manager or in Titanium Backup. I'll see what I can do about it.
You need a rooted phone and an SD card, preferably 2 GB or more and class 6 or better (higher). data2sd doesn't make your phone faster. Much to the contrary: it extends your memory at the cost of speed. That said, if your SD card is of a class smaller than 6, this will work too. The slowdown, however, will be noticeable in some situations.
Three steps are needed. First, we need a kernel with built-in ext4 if you don't have one. Second, we bring the data2sd into its place. And third, we create an ext 4 partition with the desired size. Now follows a detailed description of these steps.
Step 1: Check your kernel
You need a kernel with built-in ext4 capability. The custom ROMs mostly have one. If you are running a stock kernel, you must install one, e.g. from http://forum.xda-developers.com/showthread.php?t=978823 . Follow the installation steps detailed there. (Changing the kernel does not wipe your phone).
Step 2: Install data2sd
You now must install data2sd onto your phone. As long as you didn't modify your SD card (as long as partition #2 is not ext4), this will have no further impact on your phone.
Download data2sd.zip from below and unzip it. There's a single file in there: data2sd.sh. Use the tool that suits you best to transfer it to the SD card of your phone. With adb, you would do
Code:
adb push data2sd.sh /mnt/sdcard
Now either start a terminal emulator with a root shell or use adb again. With adb, you would execute
Code:
adb shell
Make sure you are root (the prompt reads '#'), else run "su". Now type in:
Code:
# sh /mnt/sdcard/data2sd.sh
You will see some lines about what is happening and a final confirmation.
That's it. Again, your phone will continue to behave as usual.
Step 3: Prepare your SD card
You can use any amount of program memory up to the size of your SD card, but be sure to leave some room for application data on the normal (#1, vfat) partition. As a rule of thumb, 0.5 GB of program memory will satisfy most needs, 1 GB is plenty.
If you're running Linux, prepare a second partition (must be partition #2) with the desired size. Use the usual utilities to do so. This includes gparted, but there are also other means. If you use gparted, you can follow the description for Parted Magic below.
If you have no access to a Linux computer, even not your friend's, your (probably) best choice is to run Parted Magic from a live CD. For this, go to http://partedmagic.com, and burn your CD. Instructions on how to do it with different burning tools are also there.
Step 3.1: Partition and format your SD card with Parted Magic (also applies to gparted)
The following describes the steps to partition your SD card with Parted Magic. You don't need to use this method - use the tool that suits you best.
I assume you have gparted or Parted Magic running and your SD card inserted into the card reader of your PC. Now select your card from the drop-down menu of available drives in the upper right corner. You better double check that you're on the correct drive (card). It will happily erase your system disk if told to do so.
Right click near top into the block designating your current partition #1. Select "resize". (I assume that your partition #1 is the only one. If not, delete the other partition(s)). Change the size to the total size of your SD card minus the desired size for program storage (/data). Confirm your selection.
There is now a gray block designating free space to the right of your first partition. Right click it and select "New". In the following window, leave the sizes as they are. Leave "create as" to be a primary partition, and change "file system" to ext4. Confirm your selection ("Add").
The gray block at the right has changed to a colored frame. Right click it again and select "Format as". Select "ext4".
If everything went well, you can now click on the green check mark in the icon bar near the top, confirm, and watch Parted Magic resizing your normal (#1, VFAT) partition and creating the new ext4 one.
4. Finale furioso
Now insert the SD card and reboot your phone. The Task Manager will report the new size in its rightmost tab, as do the other utilities like Titanium. All user apps and data should be in place. All will look like you have soldered in an extra chunk of internal memory. Despite not being directly visible, your program memory is resized to be the new partition. You see its size and its usage (in percent) by running
Code:
df
from adb or from a terminal emulator. Have a look at the subdirectories of /data displayed there.
As a final step, you can safely remove data2sd.sh from your SD card (/sdcard). It is not needed any more.
Q&A
* How can I remove my SD card while the phone is on?
You can't. Don't try. Always switch your phone off before you remove the SD card.​* How can I return to the state before data2sd?
Remove the SD card. All user data and apps will be there in the state you left them before you installed data2sd. The data2sd script you have installed simply does nothing as long as there is no ext4 #2 SD partition.
If you want to reuse the SD card, remove partition #2. This can be done with each partitioning tool, you don't need Linux.​• What about app2sd from Kyrillos 3.0? Is it compatible?
Yes. But "no" for the "no wipe" version which was offered for a short period of time. In the latter case, clear out the ext4 partition (important: do not forget the hidden .data2sd_initialized file) or simply reformat it before reusing it.​* It doesn't work. What can I do to help diagnose the problem?
See if the file /mnt/asec/data2sd/log.txt exists. If it does, have a look at it and try to make sense of it. If it doesn't tell you anything useful, add it to your error description in the forum here. If there is none, mention that in the description.​* What things must be considered if I flash a new ROM?
As always with such actions, make sure you have a backup. That said, just flash the new ROM and then install data2sd. When you reboot with the SD card in place, all user Apps and all data should be there. No restore from backup required.
Only in the rare case that the new ROM explicitly requires you to NOT restore your old data, e.g., from Titanium, you should reformat your ext4 partition (to clear it out) and proceed as advised by the ROM makers.​Versions:
2011-03-19 Initial release
2011-03-21 Version 2
- Updated for ROMs without /system/etc/init.d
- Simplified installation of the core parts
2011-03-23 Version 3
- Vibration bug fixed
- App2SD mode added: If the ext4 partition bears the volume label "app2sd" on a new blank SD, only /data/app is moved. This greatly reduces size benefits, but results in nearly no speed loss.
- Just run the data2sd.sh file (as described in step 2) to upgrade without data loss.
- Note: the actual size will NOT be reflected as described in the Task Manager or in Titanium.
Gosh this sounds so complex and risky! Isn't there a easier way?
☞★sent from my Galaxy3!!
♪drajax!! ♬♂ツ
drajax said:
Gosh this sounds so complex and risky! Isn't there a easier way?
☞★sent from my Galaxy3!!
♪drajax!! ♬♂ツ
Click to expand...
Click to collapse
Flash Kyrillos' v3.1 where's the script's allready built in...
It is less complex than it sounds. The description is just really very detailed. The details may sound confusing until you try it. And if you have access to Linux, it is really simple. We Linux users also have to use a different operating system when we flash our phones.
Alternative: Install Kyrillos 3.1. It contains the same data2sd and comes with a partitioning tool. But, as far as I can tell, you need to reformat the SD card's vfat part on the phone and lose the data there (not sure, however).
when i try to set permissions it says permission denied . Any help?
http://www.appbrain.com/app/move2sd-enabler-(root-only)/com.leinardi.setinstalllocation
Just one quick question....
I am having the stock JPM ROM... in that case do i need to have some new Kernel to use your data2sd???
I'll be using this!
Sent from my ACID Lestatious v1.4.5.5 Galaxy 3 FROYO
When i write down "/ # cd /system/etc/init.d/"
it says "sh: cd: can't cd /system/etc/init.d/"
What am i doing wrong???
Pinak.ahuja said:
when i try to set permissions it says permission denied . Any help?
Click to expand...
Click to collapse
You're not in a root shell. Enter "su" as your first command.
next2devil said:
When i write down "/ # cd /system/etc/init.d/"
it says "sh: cd: can't cd /system/etc/init.d/"
What am i doing wrong???
Click to expand...
Click to collapse
Don't know. Try this:
cd /system
cd etc
cd init.d
and report where it fails and if you are using adb or a terminal emulator. If it doesn't fail, continue with the line after the cd command.
Awesome work mizch!
We can refer to below link for partitioning of sd card to ext4 using adb
http://forum.xda-developers.com/showthread.php?t=534714
Hi Mizch,
Thanks for the script. have few questions; requesting for an answer:
1. Once data2sd is done, will sd card be auto mounted on reboot?
2. I am running JPM with Apollo's data2sd (ext2 partition for apps 1.1GB). What will be the benefit of ext4 over ext2?
3. I understand that i have to remove apollo's lagfix and then apply ext4 data2sd. Is there a way, i can also apply lagfix?
Thanks
jaskiratsingh said:
Hi Mizch,
Thanks for the script. have few questions; requesting for an answer:
1. Once data2sd is done, will sd card be auto mounted on reboot?
Click to expand...
Click to collapse
Yes. And for the first boot, it gets initialized too.
2. I am running JPM with Apollo's data2sd (ext2 partition for apps 1.1GB). What will be the benefit of ext4 over ext2?
Click to expand...
Click to collapse
Reliability, especially in crash cases and generally when the phone is shut down without a clean unmount. Ext 4, being a journaling file system, tries to keep the file system in a consistent state whenever possible. ext2 does nothing like that. So, when you forcible switch off your phone by long pressing the power button, most likely you are continuing with a damaged file system whose errors accumulate from now on and will eventually become visible at some time later.
There's one drawback, however: ext4 has to write more data than ext2. ext4 must always write the information needed to reconstruct a consistent file system to its journal.
3. I understand that i have to remove apollo's lagfix and then apply ext4 data2sd. Is there a way, i can also apply lagfix?
Click to expand...
Click to collapse
If I'm correct, the lagfix converts /data (your program storage) to ext2. Since /data is now handled by data2sd and converted to eyt4 anyway, you cannot use lagfix any more. You need to remove it.
mizch said:
If I'm correct, the lagfix converts /data (your program storage) to ext2. Since /data is now handled by data2sd and converted to eyt4 anyway, you cannot use lagfix any more. You need to remove it.
Click to expand...
Click to collapse
Thanks for the quick reply mizch. If i have to check apart from data, if anything else is converted into ext2, how can i do that?
jaskiratsingh said:
Thanks for the quick reply mizch. If i have to check apart from data, if anything else is converted into ext2, how can i do that?
Click to expand...
Click to collapse
have a look at the output of 'mount' or 'busybox mount'.
rm 02-app2sd for who use kyrillos ROM...i didn't do that command..but it seems works fine...what does it change if i use that command???
mizch said:
Don't know. Try this:
cd /system
cd etc
cd init.d
and report where it fails and if you are using adb or a terminal emulator. If it doesn't fail, continue with the line after the cd command.
Click to expand...
Click to collapse
I tried what you mentioned.... but again it shows the same error. It works well till "cd etc". Then, for init.d it shows out the error.
It seems the location for init.d is different in my device
next2devil said:
I tried what you mentioned.... but again it shows the same error. It works well till "cd etc". Then, for init.d it shows out the error.
It seems the location for init.d is different in my device
Click to expand...
Click to collapse
Yes. Probably there is none. What ROM are you using? Is it a Froyo ROM and from where?

[Q] Multi-Booting

Hi,
It just came into my mind. Since we can have custom recovery and android recovery also boots, can we have multi boot option in Defy as like in a PC's
Good question ..............i think there is no answer for this question
rvd_516 said:
Hi,
It just came into my mind. Since we can have custom recovery and android recovery also boots, can we have multi boot option in Defy as like in a PC's
Click to expand...
Click to collapse
some resources would have to be used by both ROMs..
with the current hacks it can't be done easily.
i guess some way of ramdisking the shared resources will have to be used.
basically, if you think about a hack for defy ask first:
can it be done in a completely open (=bootloader not locked) phone like nexus ?
if yes, ask:
is it WORKING?
if yes also, so maybe it can be done.
nevertheless, it's easy enough to create a script to backup & restore NANDROIDS.
but then every switch between roms will take like 25+ minutes, so it won't be a real multiboot.
Somebody at one point on the desire was working on something like this. Run rom from nand and other rom from sdcard.
Ephumuris.
ephumuris said:
Somebody at one point on the desire was working on something like this. Run rom from nand and other rom from sdcard.
Ephumuris.
Click to expand...
Click to collapse
I think there are two possibilities for this to happen: first of all, we should try NAND boot for the primary ROM, and try somehow to load the secondary ROM from the internal memory (it'll be faster than the SD Card, I think). The problem here would be allowing the bootloader to read from internal memory instead of NAND. I know this can be done based on the number of WinMo-Android and iOS-Android dual boot solutions, with a menu to choose which system to load, in the boot screen.
The second option is the method used by Wing Linux to run Android on old WinMo devices. In this method, you MUST boot in WinMo (or, in our case, in the primary ROM), then open the app that loads Android (the secondary ROM, for us). Android does NOT run emulated in this method, but, since the device can't dual boot directly, the app sends a signal for the device to restart running from the bootloader to the SD Card (for us, internal memory). This second option is, somehow, like the System Recovery app (not 2ndInit), that has an option that reboots directly into Recovery. So, if we can tell the phone to load from custom Recovery (which is, in fact, in internal memory, not in NAND), I think it's possible to make it load an entire ROM from the internal memory (without having to mount it everytime and waiting for the dalvik-cache to load).
However, it's surely a hard work to do.
Yes one from nand and one from sd card..........good......can we partition nand and use it both on the nand itself??
it should really work if we use virtual images or sdcard-partitions instead of system, data and cache partitions.
This can be changed in the init.rc-file(of 2nd-init).
The creator of the 2nd-init-bootmenu should implement this feature.
it is possible... just need 2 new partitions ext3 on sdcard for data and system...
you can use 2nd-boot profile in bootmenu to change dev block links and customize mount settings
Epsylon3 said:
it is possible... just need 2 new partitions ext3 on sdcard for data and system...
you can use 2nd-boot profile in bootmenu to change dev block links and customize mount settings
Click to expand...
Click to collapse
Did you try it?
Epsylon3 said:
it is possible... just need 2 new partitions ext3 on sdcard for data and system...
you can use 2nd-boot profile in bootmenu to change dev block links and customize mount settings
Click to expand...
Click to collapse
even i like to know tht did u tried tht?
I managed to boot from virtual system,data and cache partitions with the 2nd-boot-option of bootmenu like ep3 said.
It was a bit difficult because android-init remounts /dev so the changes will be lost but now I found a way.
And: I got recovery working for the virtual system so you don't need to prepare your images, BUT: only the wipe and restore are working. "install zip" will still affect your real system.
My scripts need some testing but after that I will release a first version.
the multboot works for me i writed a cutsom boot sh and init.rc and woila WORKS!
NOT PUBLUC because it not works for all rom
---------- Post added at 04:59 PM ---------- Previous post was at 04:36 PM ----------
this is a dualboot rom
http://forum.xda-developers.com/showthread.php?t=1225179
So here is the first (very early) version of 2nd-boot:
http://www.multiupload.com/Z17M0WO3SU
Before continuing please make a backup of your phone!
Installation:
Just install it via CWM.
This will place the script in your 2nd-boot and replace the "CWM-Lastest"-script so it will install into the images. BUt can still use the "CWM-Stable" option for your normal system.
I've created 3 empty 300MB ext3-images for system,data and cache so you don't have todo that. Download them here:
http://www.multiupload.com/VY3U4IXRO1
Just copy the folder "fsimages" to your sdcard.
Usage:
After installing the update-zip and copying the files to the sdcard you can reboot into bootmenu, select "Lastest Recovery" and Restore an backup.
Please DO NOT install a ROM with a zip-file. Currently this will affect your real system.
After you restored your backup into the virtual file-system you can boot them with the 2nd-boot-option in bootmenu.
I successfully installed CM7.1 and MIUI-Pikachu-Edition in the virtual filesystem.
I uploaded a new version of my multiboot-script(v0.2)
changelog:
- "Install zip from SDcard" works now
- changed hook-method so it works with more ROM's(including ICS)
Download:
http://www.multiupload.com/UT0TLPR3ZW
m11kkaa said:
So here is the first (very early) version of 2nd-boot:
http://www.multiupload.com/Z17M0WO3SU
Before continuing please make a backup of your phone!
Installation:
Just install it via CWM.
This will place the script in your 2nd-boot and replace the "CWM-Lastest"-script so it will install into the images. BUt can still use the "CWM-Stable" option for your normal system.
I've created 3 empty 300MB ext3-images for system,data and cache so you don't have todo that. Download them here:
http://www.multiupload.com/VY3U4IXRO1
Just copy the folder "fsimages" to your sdcard.
Usage:
After installing the update-zip and copying the files to the sdcard you can reboot into bootmenu, select "Lastest Recovery" and Restore an backup.
Please DO NOT install a ROM with a zip-file. Currently this will affect your real system.
After you restored your backup into the virtual file-system you can boot them with the 2nd-boot-option in bootmenu.
I successfully installed CM7.1 and MIUI-Pikachu-Edition in the virtual filesystem.
Click to expand...
Click to collapse
Thanks for your work.
Did the 2nd android system boots from sdcard?
Yes, but it's very flexible. By changing 2 lines you can let it boot from whereever you want.
I prefer storing it at the data-partition because it's over 1gb in size and my apps are using 200mb only.
I'm looking forward to better bootmenu-integration and boot-image-selection but for that I have to figure out how to compile bootmenu.
m11kkaa said:
Yes, but it's very flexible. By changing 2 lines you can let it boot from whereever you want.
I prefer storing it at the data-partition because it's over 1gb in size and my apps are using 200mb only.
I'm looking forward to better bootmenu-integration and boot-image-selection but for that I have to figure out how to compile bootmenu.
Click to expand...
Click to collapse
Ask pedrodh http://forum.xda-developers.com/member.php?u=2098689
He can help.
Nice work, thanks i will add this soon, in the future bootmenu versions
m11kkaa said:
Yes, but it's very flexible. By changing 2 lines you can let it boot from whereever you want.
I prefer storing it at the data-partition because it's over 1gb in size and my apps are using 200mb only.
I'm looking forward to better bootmenu-integration and boot-image-selection but for that I have to figure out how to compile bootmenu.
Click to expand...
Click to collapse
I released a dual boot version that uses 2nd-boot a few months back, hadn't have much time to improve it since.
I was using loop-back mount with /system and bind mount with /data since it's much more space efficient than just use an ext3 image.
Awesome job. I think u shud create a new thread for it. Dual booting cm7 and miui :O
Sent from my Moto Defy

[Howto] Dualboot Xubuntu (13.04) and Chromix 5.4 (Rom2SD) from microSD Card

This was the 6th post in the thread. I swapped it with the original first, because this one contains the instructions on how to get dualbooting to work.
@brewmeister:
Thanks, I've got it working, since Graiden05 added the support for it. ^^
@f69m:
I'm stalking your thread, ready to pounce once sd cards and linux are supported. If you see a shadow in the corner of your eye, while writing a post in your thread, then that's most likely me.
@Trigger911 and everyone else interested:
It's quite easy now. But takes a while, if you're doing it for the first time. Note that I'm talking about the MicroSD card slot in the tablet. This won't work with the slot in the Dock. Also you need to have your tablet unlocked, a 4.2 Bootloader and a custom recovery, like TWRP 2.5.0.0-42. See the Cromi-X thread in the developer forum:
forum.xda-developers.com/showthread.php?t=2425390
The rootfs is a bit dated. It's xubuntu 13.04. There are instructions on how to create your own roots in the 2nd post of the xubuntu thread in the dev forum. We'll just use the dated one.
Also webdoctors wrote a nice post about just installing xubuntu. There are links to the rootfs, installer script v2.2.9 and the modules needed:
forum.xda-developers.com/showpost.php?p=48947306&postcount=342
Download the installer script and Cromi-X to the internal storage of your tablet.
To get both Cromi-X and xubuntu booting from the sdcard you need to partition it:
Create four patitions on your card. The order is important and don't forget to make a backup! All data on the card will be lost during the process:
1st: vfat (any size you want, there was a technical reason, that the first partition needs to be vfat, but I can't remember)
2nd: ext4 (will be the data partition for your apps and stuff, as big as possible)
3rd: ext4 (system, for cromi-x, 1GiB, more would be a waste of space)
4th: ext4 (rootfs, for xubuntu, at least 4GiB, made mine 10GiB, on a 64GiB card)
Detailed Instructions on how to partition a sd card can be found at the end of the 2nd post of sdbags' Cromi-X thread.
Installing Cromi-X:
Get Cromi-X 5.4 and flash it with the ROM2SD Option selected. Instructions on how to install Cromi-X are in the 1st post.
Cromi-X will use the 2nd and 3rd Partition.
Once the installation is done, reboot and check if it is working. During the boot you will see Penguins and some text below. If at the end of it there's something like "setting up for Rom2SD", then it's working and booting from the card.
Installing xubuntu:
For the next steps I use Ubuntud. It might work on a rooted phone/tablet too, if you use a terminal app, like Terminal IDE or Terminal Emulator. But you might need to use su instead of sudo and use another folder than /media.
Follow these instructions and enter the commands in a terminal. If you want to learn more about what a command is doing type "man" followed by the command, e.g. "man sudo" or "man mkdir":
1. Create mountpoints for the rootfs-partition and the downloaded rootfs-image:
sudo mkdir /media/xubuntu
sudo mkdir /media/rootimage
2. Determining the path of your sd card under Linux. Don't play with this! fdisk you can wreak havoc to your harddisk. The -l option tells fdisk to show you a list of all partitions of storage mediums connected to your pc:
sudo fdisk -l
3. Mount the rootfs partition of the sdcard. Assuming the path to the sd card is /dev/sdd, then the 4th partition is adressed as /dev/sdd4. Change it accordingly:
sudo mount -t ext4 /dev/sdd4 /media/xubuntu
4. Download the rootfs. Use the link in webdoctors post.
5. Extract the image from the file.
6. Mount the image, so you can copy it's content to the rootfs partition on the card. You need to change the path to match your situation. Here I simply downloaded it to my Downloads folder and extracted it there:
sudo mount -o loop /home/<username>/Downloads/xubuntu_13.04.img /media/rootimage
8. Now we can copy the files in the image to our root partition. We use the options -pr, which will (p)reserve access rights, owner, group, etc. and copy (r)ecursivly the contents of all directories in the image:
sudo cp -pr /media/rootimage/* /media/xubuntu/
9. Wait till it's done copying, then unmount both the image and root partition:
sudo umount /media/xubuntu
sudo umount /media/rootimage
10. Put the SD card in the tablet and boot to recovery: Press Volume Down and keep holding it. Press Power for a second and release it, while keeping Volume Down pressed. Once you see three icons, with RCK blinking, release Volume Down and Press Volume Up.
11. Now it's time to flash the installer script. Doing this will enable us to boot xubuntu, but we will loose wifi in Android. We will fix this afterwards. In TWRP chose install, locate the V2.2.9.zip and flash it. The tablet will reboot, show a blue bar and reboot again.
12. You will be greeted by a new bootmenu. Waiting for 10 seconds or hitting 1 will boot xubuntu, pressing Volume Down or 2 will boot Cromi-X. For now we want to boot to xubuntu.
13. On the login screen just hit login.
Fixing WiFi in Android
Now we need the mod_update.zip from Graiden05.
1. Get it from: forum.xda-developers.com/showpost.php?p=47990253&postcount=311
2. Unzip it and open the mod_update.sh file in an editor.
3. The script assumes, that we've installed Android to the internal storage, which we did not. So we need to change a line and point it at the right direction.
In the 3rd line we need to change "/dev/mmcblk0p1" to "/dev/mmcblk1p3". Now the script will mount the system partition of the sd card and not the one from internal storage.
Save and quit.
4. Open a terminal and navigate to the folder containing the script.
5. Run the script by typing:
sudo sh ./mod_update.sh
6. Done! Sit back, relax and enjoy dualbooting your TF300T!
Add swap to xubuntu:
Stop relaxing and get back to work! We ain't done yet. *cracks a whip*
We're gonna add a swap file for xubuntu to use because: "If you don't setup a swap space, programs will randomly get killed when you run out of RAM, which is kinda annoying if you want a stable and fast system." (shamelessly stolen from webdoctors' post)
And because we already got four primary partitions on the card, we can't add another one. We could try using extended/logical partitions, but I'm not sure if those are supported on a card and haven't tried it. The only disadvantage will be, that we can't use the swapfile while running Cromi-X... Or can we? Hmmm, mount the xubuntu partition and simply use the swapfile? Got to think about/try it.
Anyways, a good description on how to setup swap is here: http://www.thegeekstuff.com/2010/08/how-to-add-swap-space/ (again shamelessly stolen from webdoctors' post).
Use the second method and don't forget to add "sudo" to the beginning of every line. Also change the value for count in the dd command according to your needs, e.g. count=512 instead of count=1024 to use 512MiB of swap instead of 1GiB.
Ok, it is possible to use the swapfile on the xubuntu partition while running Cromi-X. I don't know how to make these changes permanently yet, so you'll have to mount the partition (step 3) and activate the swapfile (step 4) on every boot to Cromi-X. Also note that using the card for swap will increase it's wear.
With that said, let's get it on! *dingding*
1. Start a terminal app and get root right. In Terminal Emulator just type "su" and hit enter.
2. Create a directory to mount to:
mkdir /sdcard/xubuntu
3. Mount the xubuntu partition:
mount -t ext4 /dev/block/mmcblk1p4 /sdcard/xubuntu
4. Activate swap. If you didn't follow the guide and created it in another directory or under another name, then you have to change the path accordingly:
swapon /sdcard/xubuntu/root/myswapfile
5. Check that it's working. The first number after swap should be anything but 0:
free -k
6. Done! Stop working and get back to relaxing! *cracks a whip*
Things to note:
Suspend is not working. Don't use or you'll have to hard power down the tablet (pressing power for 7? 10? seconds). This is bad and you don't want do that. Always shut the tablet down, when you're done. Booting to xubuntu only takes about a minute.
Doing a distribution upgrade in xubuntu is not working. I tried and had to use a backup for the rootfs.
I'm not sure if this is related to making the tablet dualboot. But sometimes, when I used Android and put the tablet to sleep for some hours, it won't wake up and the battery in the dock took quite a hit. The cause for this could be anything; The modules used, kernel, a badly programmed app, bug in Cromi-X, corrupted partition, cosmic rays blasting my tablet or the tablet's just like me and doesn't like being woken early.
I can try to build GRIMLOCK based kernel which should make it possible. But there is one problem left to solve - choosing partition to boot certain OS.
Really hope to see this happen can only find solutions for 4.1
try v2.2.9
Try the updated kernel and rootfs from xubuntu thread, if i remember right, data2sd was implemented in v2.2.6 kernel, latest kernel is 2.2.9.
Look at the 2nd or 3rd thread(I think?) on pg 35 of xubuntu thread. Also consider setting up a linux swap partition at the end of your sd card.
Hope you get it working, good luck.
The official MultiROM has quite flexible support for dual-booting different Linux systems, but that is disabled in my early TF300T port due to lack of time. I am currently concentrating on Ubuntu Touch.
If someone is willing to try, I am happy to provide experimental MultiROM builds and some support. All I am asking in return are some howto docs to include in the MultiROM thread.
Sent from my TF300T using Tapatalk
This was originally the 1st post.
Hi,
I am trying to get dualboot to work with Xubuntu and Chromix 5.2a from an external SD-Card.
Since I can't post in the Dev-forum yet, I have to do it here instead of the corresponding thread.
Hardware/Software infos:
My Tablet is an Asus TF300T with 4.2 Bootloader (Asus Firmware WW 10.6.1.27.5 -> Chromix 5.2a Deodexed), TWRP 2.5.0.0, Nvflash enabled, ADB and fastboot access.
There is Chromix 5.2a with _that-v6 Kernel installed to both internal memory and SD-Card (Rom2SD). The Xubuntu rootfs is on the card too.
The card is a Samsung MB-MGCGBEU Class 10 microSDXC Pro 64GB and got these partitions:
/dev/mmcblk1p1 8GB vfat
/dev/mmcblk1p2 40GB ext4, data partition
/dev/mmcblk1p3 1GB ext4, system partition
/dev/mmcblk1p4 10GB ext4, rootfs for xubuntu
Journaling is disabled for the ext4 partitions, to keep the wear down for the card.
Rom2SD requires the first three partitions.
Goal and Problem:
What I am trying to do is being able to boot both Android and Xubuntu from the external SD-Card.
Also I want to keep Chromix on the internal memory as a fallback, in case the card gets damaged/lost/stolen by aliens and misused in weird experiments.
Right now I can only access either Android or Xubuntu from the card, but not the other:
When I flash Chromix 5.2a via TWRP, I can boot to Android from the card but have no access to Xubuntu.
Flashing Graiden05's testV2.2.4.zip from http://forum.xda-developers.com/showpost.php?p=47649660&postcount=265&nocache=1&z=7287232739506702 I can boot to Android from internal memory and Xubuntu form the card.
I know that the installers don't know anything about each other and hope it's only a matter of modifying them or some boot scripts.
Maybe change the installers so they use their own partition and don't overwrite each other. And then extend _that's dualboot method (http://forum.xda-developers.com/showthread.php?t=2501129) to multiple OS on an external sdcard.
Something like: (Note: I've only got some vague ideas about what's going on during installation or booting)
1. Add a 5th partition to the sdcard.
2. Install Chromix with Rom2SD.
3. Change the testV2.2.4.zip to do it's xubuntu magic on the 5th partition and not overwrite the Rom2SD stuff
4. Modify _that's dualboot method to include xubuntu and wait for VolUp or VolDown to select what to boot.
5. ???
6. Profit!
7. ???
8. World domination!
I hope someone can help me with this problem. It would really rock to be able to boot this baby with multiple OS from a fast SD-Card!
nice
glad your up and running and thanks for the details. this would be a good post to reference for those wanting to try this (along with web doctors post in the xubuntu thread) - I would however set up a fifth partition for linux swap and set it up as detailed in the link in webdrs thread. How is cromi running with rom2sd? right now i've got mine set up with cromi on data2sd and xubuntu on internal. all I have is a 16 gb micro and i'm thinking of switching my setup once i get a bigger card. does cromi run any better from the card? anyways thanks again and a huge thanks to all those that have made this possible (graiden, join the realms, fm69, shrdlu and anyone else that i may have missed)
also got to give a huge thanks to sbdags for his awesome cromix rom
brewmeister said:
glad your up and running and thanks for the details. this would be a good post to reference for those wanting to try this (along with web doctors post in the xubuntu thread) - I would however set up a fifth partition for linux swap and set it up as detailed in the link in webdrs thread. How is cromi running with rom2sd? right now i've got mine set up with cromi on data2sd and xubuntu on internal. all I have is a 16 gb micro and i'm thinking of switching my setup once i get a bigger card. does cromi run any better from the card? anyways thanks again and a huge thanks to all those that have made this possible (graiden, join the realms, fm69, shrdlu and anyone else that i may have missed)
also got to give a huge thanks to sbdags for his awesome cromix rom
Click to expand...
Click to collapse
Ah yes right, I forgot about the swap part. Gonna add it.
Performancewise I'm happy with running Cromi-X from card. To be honest, I haven't booted from internal memory for some months now. Then again, it all depends on the card. If you've got a fast one, I'd say give it a try. If it's not fast enough for you, you can just power down, remove the card and the bootloader from the v2.2.9 script will simply boot from your internal memory.
Can somebody help me a little? Because after mod update (on rootfs 12.10 tried also files from installer.tar.gz) I can't start xubuntu
Currently I have latest kernel 2.2.9 from dev thread and CROMi-X. Tried also rootfs for 13.04 but i won't start anyway. Using 12.10 I can at least login to the system.
I partially figured it out. My problem was caused because of wireless kernel modules. I can again run xubuntu but without wi-fi. Unfortunately modules from dev thread doesn't work for me
Does 3G work on tf300TG while in Xubuntu?

[Q&A] MultiSystem for Android

MultiSystem is a powerful tool for locked- and unlocked-bootloader Android devices with many features that at least includes the following:
Keeps stock system partition safe/rooted
Permenant root survival with proper use
MultiROM support via virtual ROMs
Unlimited number of virtual ROMs
Booting options to choose stock, primary, or secondary virtual ROM
Any of the virtual ROMs can work as a recovery replacement
Flashing multiple ROMs at the same time without a reboot
Ability to create/install ROMs on Linux to microSD card
Great performance & battery life on virtual ROMs
Recovery solution to install ROMs or Mods
Easy upgrade to newer versions of Android
Ability to safely apply OTA updates to virtual system
Permissive SELinux and other kernel tweaks
Safe flashing that doesn't trip KNOX flag on Samsung devices
Wrapper script runs via ADB or a Terminal Emulator on device
APK to manage all MultiSystem functions with a nice UI and extra options
Management for the best performance & user experience
Support for all Android devices with microSD card
Portability to almost all devices
Compatibility with all Android versions
Click to expand...
Click to collapse
Q&A​
What is the concept behind MultiSystem?
It runs virtual Android ROMs on microSD, like booting multiple systems on a PC from different partitions/disks. So, your stock system partition is kept safe/rooted. It won't affect performance or anything (might even be better on the virtual system if you've high quality microSD & the device supports its speed). Also, you can freely modify any of the virtual systems & in the worst case, reboot the safe stock system or another working virtual system to recover. So, no root loss or potential damage to the original device partitions.
Click to expand...
Click to collapse
Is it a recovery or an APK tool?
It's a shell script that hijacks system at early boot & force Android to boot from the stock system partition or a virtual system IMG & an APK that manages all booting options, virtual ROMs, and works as a recovery replacement + extra features...
Click to expand...
Click to collapse
Does it work as a recovery replacement?
It IS a POWERFUL recovery replacement. You can do whatever you do in recovery with the APK. HOW? recovery does its magic b/c it doesn't depend on the system & has its own kernel/ramdisk. In MultiSystem, you can boot a virtual ROM from extSD that sure doesn't depend on stock system partition or any of the other virtual ROMs (it does depend on the kernel, which you can't flash on locked devcies anyway). Hence, install, backup, restore, ... & all recovery functions are all possible +++ more features since you're running a full ROM not just a recovery ramdisk like Safestrap.
Bottom Line: I think it's the best & most convenient recovery replacement ever for locked devices & it can also attract unlocked devices for the powerful features, MultiROM, and recovery from within ROM.
Click to expand...
Click to collapse
Can I use FlashFire along with MultiSystem?
Yes. MultiSystem is compatible with FlashFire & fully supports it on stock & virtual ROMs. So, you can use both/any of them for flashing to either a stock or virtual ROM. However, it's recommended to use MultiSystem when flashing to the stock system partition (shouldn't be needed anyway since you can always be safe & flash to your old/new virtual ROMs).
Click to expand...
Click to collapse
Does MultiSystem require FlashFire?
No, MultiSystem doesn't require FlashFire. They're fully combatible though.
Click to expand...
Click to collapse
Would the virtual ROM we install be exactly the one in the stock slot?
In MultiSystem APK, you can create a virtual ROM from stock system, a copy from other virtual ROM, a new IMG, a dev-provided ROM, a flashable .ZIP, ... etc. Literally, your virtual ROMs can be any stock or custom ROM that's compatible with your firmware/kernel.
Click to expand...
Click to collapse
How can it run virtual ROMs from external microSD card?
External MicroSD will be formated into 2 partitions:
exFAT or FAT32 for the 1st partition (your new external storage)
EXT4 for the 2nd partition (your MultiSystem partition)
It'll hijack the system & boot a virtual system from the 2nd partition. The 1st partition will be automatically detected as your extSD.
Click to expand...
Click to collapse
Can I run unrooted virtual ROM for work apps or any other reason?
Yes. You can add unrooted virtual ROM & reboot to it via MultiSystem APK.
Click to expand...
Click to collapse
How do you boot back into a different ROM?
MultiSystem APK manages all functions including ROM activation & reboot to current system, another stock/virtual system, download mode, recovery, ... etc.
Click to expand...
Click to collapse
Will it be OK to still store media like movies/photos/music to extSD?
100% OK; That's my setup a few months ago. 2 virtual ROMs in the SECOND extSD partition in EXT4 format while all personal data are stored on the FIRST extSD partition in exFAT or FAT32 format... TWO COMPLETELY DIFFERET PARTITIONS.
Click to expand...
Click to collapse
How much space are we going to have for virtual ROMs?
The size of the 2nd partition is optional (> 4GB) for your ROMs, but here is an estimated sizes:
1 Virtual ROM Uncompressed = ~2.7 GB ---> ready for running
1 Virtual ROM Compressed = ~1.5 GB ---> for full ROM backups
I'd say better allocate 4 GB for each ROM you plan to run. If you just need one virtual ROM to keep stock system safe, 4 GB 2nd extSD partition is enough; The remaining space is allocated for the 1st extSD partition as your external storage.
For me, I run Linux too from extSD via MultiSystem. So, I've 64 GB extSD card with two partitions 32 GB each.
Click to expand...
Click to collapse
Can I clear up space on an existing SD card and partition it while full or will the entire card need to be wiped and partitioned from scratch?
You need to backup all your files; it'll be wiped & repartitioned.
Click to expand...
Click to collapse
How can I swap microSD cards & be able to run virtual ROMs?
You can swap microSD cards as you wish provided that the device is powered off; don't remove the microSD card when running a virtual ROM. If the new microSD card doesn't include a 2nd parition of available virtual ROMs, the device will boot directly to the stock system.
Click to expand...
Click to collapse
Is there a specific sd card you recommended for this?
I personally have two microSD cards:
SanDisk Extreme Plus 64GB (Up to 80MB/s read speed)
Samsung 64GB PRO (Up to 90MB/s read speed)
You don't have to change your microSD card for MultiSystem; any card you use on your device should work just fine. The need for more speed is relevant when the device supports that speed & if you're going to buy a new card anyway that you may use with a newer device later.
Click to expand...
Click to collapse
Can I copy virtual ROMs to a new microSD card?
Yes. I'll add a feature for swapping microSD cards so that you can backup/restore virtual ROMs from/to the current extSD to/from internal storage as follows:
power off device
use MultiSystem APK to backup your virtual ROMs
insert the new properly formatted microSD,
power on device (it'll boot to stock system)
use MultiSystem APK to restore your virtual ROMs
use MultiSystem APK to activate one of your virtual ROMs
use MultiSystem APK to reboot to any of your ROMs
Click to expand...
Click to collapse
What about other data/cache partitions and internal storage?
Only system img's are in the extSD. All ROMs share all other partitions. This substantially improves the performance & you won't notice any difference between your stock & virtual ROMs. The reason for performance improvement is that EXT4 loop devices are very fast in reading but not in writing. Your system partition is read-only while data (for example) is read write & cache IMGs cause problems like Safestrap issues on ROM slots. Also, you don't have to worry about switching data/settings between ROMs (they're shared), but you just need to regularly backup your important data (which is healthy anyway).
Click to expand...
Click to collapse
Can your elaborate where data is stored?
The userdata partition is also shared; so, you'll have access to all your FULL storage partitions & all apps/data similarly on either stock or virtual ROMs. This also solves the Safestrap issue of having less storage on ROM slots...
Click to expand...
Click to collapse
Will mSDcard incur a significant performance penalty on some devices?
there's no diffrerence between virtual & stock ROMs in terms of performance & battery life. The reason is simple: loop devices associated with the READ-ONLY system IMG mounted from EXT4 partition using a high-quality microSD card IS very fast more than enough.
The read speed is faster than the device can operate anyway + the exact same device should perform on the lowest speed when reading/writing from/to the FAT/FAT32/ExFAT extSD card (where you store your files or even move apps!!!) anyway, which is much slower than the read speed of a loop device mounted from EXT4 partition.
That's why data partition is shared for many reasons, including the poor READ/WRITE performance.
Click to expand...
Click to collapse
If virtual systems are read only, how do we modify them? Do we have to boot to another multisystem rom to modify a virtual rom?
The stock system partition is mounted by default read only & so are the virtual systems. To modify a stock/virtual system, the MultiSystem APK remounts them read/write. You can modify the currently running virtual system, copy it & modify the copy, modify another stock/virtual system.
Click to expand...
Click to collapse
How is a corrupted virtual rom handled? Does it see it's bad and default to stock system?
At early boot, MultiSystem checks for the microSD & active virtual ROM to boot it. There's a boot menu that gives you options to select a stock/virtual system, but it crashes on LP. I'm debugging it, but all functions won't be affected if I removed it. To fail safe, you can remove the microSD card to boot to stock system & restore/repair your virtual ROMs.
UPDATE1: MultiSystem v1.0.1 now allows you to also switch to stock system on boot to repair corrupted virtual IMGs or any other reasons. More options will be added during boot to ultimately select another virtual system if the active IMG is not booting normally (e.g., bootloop after applying a mod or flashing a bad .ZIP).
UPDATE2: Now, on boot, you can choose from two primary/secondary virtual ROM or stock ROM. Flashing multiple ROMs at the same time without a reboot is now possible.
Click to expand...
Click to collapse
How to check if an IMG is corrupted using MultiSystem status?
Code:
Current System IMG: Test_Rom.img
Current System DEV: [B][COLOR="Red"]/dev/block/mmcblk0p23[/COLOR][/B]
When you see "/dev/block/mmcblk0p23"; it's the original system partition; so MultiSystem failed to boot Test_Rom.img, but it should be your current system.
So, the check is simple based on "Current System Device":
/dev/block/mmcblk0p23 = Stock System Partition
/dev/block/loop0 = Virtual System IMG
Note: The block device number (mmcblk0p23) may vary per device & per variant !
Click to expand...
Click to collapse
Does android do any maintenance whatsoever on stored data within /data or external sd? So if I have an app installed on 1 system and not on another system will android see it and clear the data?
No, all storage partitions are shared between ROMs. If you installed an app, it'll be availabe for all of them. Since on locked devcies we're limited to stock manufacturer-based ROMs, this makes the switch between ROMs very convinient (you don't have to worry about your changes/data/setup & storage space on the another ROM; all ROMs share everything except system). However, you should make regular backups in case a virtual ROM (probably with unsafe mods) results in bootloop due to your user data. In this case, it's safe to wipe data & selectively restore apps/data from backup(s). Another advantage of sharing all storage partitions is that your messages/emails/etc received on a virtual ROM are immediated synced (actually shared) to the other ROMs.
Click to expand...
Click to collapse
Will anything like Xposed modify the virtual ROM system IMG as opposed to the stock system IMG?
When you run a Virtual System, everything incldung kernel & apps are hijacked to speak to it as the original system.
Click to expand...
Click to collapse
Can we install AOSP ROMs on locked devices?
You can only install stock/manufacturer-based ROMs on locked devices while unlocked devices can use kexec or flash the required kernel to boot any AOSP/Stock ROMs. I've got a Note 4 Developer Edition & a lot of development is planned to go there (thanks to the unlocked bootloader!) More devices will get supported including unlocked TMO & international variants after adding more features untilizing the unlocked bootloader with kexec'd kernels.
Click to expand...
Click to collapse
Are there limitations to the combinations of ROMs that can be loaded on the "stock" and "virtual" slots? Can you mix KK and LP?
Yes, if they can run on the same kernel. LP won't run on KK kernels & so, you'd have to upgrade the firmware anyway. As for running mixed compatible Android versions, this is possible but your'd have to backup your data before switching ROMs; if it cause no issues, enjoy smooth switch & if it doesn't, do factory reset in recovery & restore your data backup. Backups via MultiSystem are painless.
Click to expand...
Click to collapse
Are applications installed once for each ROM slot that has that applicaiton installed, or can I share a game across ROMs (for instance?)
Everything is shared between ROMs, which is very good for storage & for easy switching. Just make regular backups of your sensitive data.
Click to expand...
Click to collapse
How there are no performance hits while internal storage memory was much faster than any microSD technology?
Read speeds from microSD is very fast compared to write speeds & since virtual ROMs are actually a virtual read-only systems (hence, MultiSystem), they provide a high performance. Moreover, again, read speeds from EXT4 loop devices are higher compared to physical partitions. They're very bad in writing, which we don't need for the read-only "system".
Click to expand...
Click to collapse
Is there a preferred "daily driver" ROM that should be installed in the stock slot?
Uses a stock ODEXED ROM on stock slot for better stability!
Click to expand...
Click to collapse
Is it based off of Safestrap?
Short answer NO. I've been working on MultiSystem & Safestrap for ~7 months. Earlier versions of MultiSystem (called, JasmineREC) was based on Safestrap, but it failed to support newer versions of Android mainly due to TWRP changes in the graphics/UI libraries that cause segmentation fault & the stock kernel framebuffer issues. Then, I decided to find another solution. However, the basic idea of system hijack is powered by Safestrap (or 2nd-init recoveries in general) & all the work done by @Hashcode is GREATLY appreciated.
Click to expand...
Click to collapse
How can it overwrite system files while running?
MultiSystem allows you to install safe mod's or a ROM in full or OTA-like update. It's strongly recommended to install .ZIP files NOT to the current system, b/c some files can not be overwritten while running. So, you can use backup function to copy the current system & install to the new img or any of your other virtual systems. You'll have several options to activate a virtual img & reboot directly to stock system, any virtual img you've activated, quick reboot, Download/bootloader, recovery,... etc.
Click to expand...
Click to collapse
How would I benefit from it if I'm only running Stock ROM or would there be no point for me to install it?
If you run a ROM on stock system, you're vulnerable to root loss unless/untill a new rooting method for LP comes out. MultiSystem gives you the option to run safe-to-mod virtual ROMs + recovery replacement + extra features.
Click to expand...
Click to collapse
Is there a way to convert a normal ROM .ZIP into MultiSystem .IMG?
Create or copy any of your IMGs, activate it & reboot to the active IMG! Then, use FlashFire to flash the ZIP file. However, the updater-script should be safe/compatible. Some devs mount the phyical partition, which will redirect everything to it!!
For example:
Code:
mount(“ext4″, “EMMC”, “/dev/block/mmcblk0p23″, “/system”);
will mount the original system partition; while
Code:
run_program("/sbin/mount", "-t", "auto", "/system");
will mount the current system (stock or virtual). This is recommended/safe.
Click to expand...
Click to collapse
Would a KitKat ROM work with multisystem even though my stock is Lollipop?
Any ROM requires a compatible kernel & modem. So, running KK ROMs requires flashing KK firmware (namely, kernel & modem). This may work with MultiSystem on other devices, especially if the bootlpoader is unlocked. For example, I plan to add features for Note 4 DevED to allow different Android versions (including AOSP, manufacturer-based, & probably Linux systems) by utilizing kernel swapping or execution.
Click to expand...
Click to collapse
When MultiSystem comes out will it be open sourced?
Most probably, haven't decided yet!
Anyway, here's the repository on GitHub: https://github.com/hsbadr/MultiSystem
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Video Tutorials
A quick preview of MultiSystem v1.0 tested on Lollipop for VZW Note 3. The video has been captured on a stable virtual ROM of JasmineROM v5.0.1. It's FULLY compatible with FlashFire on virtual/stock systems. More devices will get supported as well, after required testing.
Facebook: https://www.facebook.com/hsbadr/videos/vb.331488823689599/428178174020663
How to check if you are running a Stock/Virtual System?
There're many ways to check whether you're running a Stock or Virtual system. MultiSystem app should include this simple check at some point. That's important to avoint ruining the Stock system & keep it safe. To make it clear to NOOBZ & anyone who's requesting "another" proof even though I owe hime nothing. Very weird!
Anyway, BusyBox mountpoint applet can print the current block/device mounted to /system mountpoint by running the following command:
Code:
busybox mountpoint -n /system
The stock system is mounts the original system partition:
Code:
[B][COLOR="Red"]/dev/block/mmcblk0p23[/COLOR][/B]
while the virtual system mounts a loop device associated with a system IMG:
Code:
[B][COLOR="Blue"]/dev/block/loop0[/COLOR][/B]
Here're two videos for both stock & virtual systems...
UPDATE:
Now, you could run the following command to print the current system (stock or virtual) and the system device (physical partition or loop device):
Code:
MultiSystem status
Note: The block device number (mmcblk0p23) may vary per device & per variant !
How to repartition microSD card for MultiSystem?
You can use any tool/program for partitioning on Android, Linux, Mac, or Windows. For example, MiniTool Partition Wizard is a good partitioning tool for Windows. So, let's use it for this task. Simply, you need to follow this PDF tutorial (thanks to @carl1961). In sum:
Step 1: delete old partitions on SD card
Step 2: create FAT32 PRIMARY partition
Step 3: create EXT4 PRIMARY partition
Then, apply changes (note that the program UI may get changed in newer versions).
Notes:
This partitioning tutorial doesn't create PRIMARY partitions (it creates logical partitions). So, you need to change "Create As" from "Logical" to "Primary" when creatig a partition.
The sizes of the two partitions are arbitrary depending on number of ROMs you plan to install on the 2nd EXT4 partition.
The 1st partition (check size) is automatically detected as your external storage
In Terminal Emulator or ADB shell, check the existence of the two partitions by running the following command (in red):
Code:
[email protected]:/ # [COLOR="Red"]ls -l /dev/block/platform/msm_sdcc.3/[/COLOR]
drwxr-xr-x root root 2015-05-02 21:08 by-num
lrwxrwxrwx root root 2015-05-02 21:08 mmcblk1 -> /dev/block/mmcblk1
lrwxrwxrwx root root 2015-05-02 21:08 mmcblk1p1 -> [COLOR="Blue"]/dev/block/mmcblk1p1[/COLOR]
lrwxrwxrwx root root 2015-05-02 21:08 mmcblk1p2 -> [COLOR="Blue"]/dev/block/mmcblk1p2[/COLOR]
/dev/block/mmcblk1p1 is mounted by Android as your external storage.
/dev/block/mmcblk1p2 is NOT mounted & will be your MultiSystem partition.
Click to expand...
Click to collapse
How to check microSD card partitions for MultiSystem?
You need to correctly repartition microSD card into two partitions:
exFAT or FAT32 for the 1st partition (your new external storage)
EXT4 for the 2nd partition (your MultiSystem partition)
Use the directions in this post!
You should check your 2nd SD partition in EXT4 format mounted to /MultiSystem:
check that the /MultiSystem directory exists after a reboot
check that the 2nd SD partition (/dev/block/mmcblk1p2) is mounted to /MultiSystem by running the following command in Terminal Emulator or ADB shell:
Code:
mount | grep /MultiSystem
The output should be:
Code:
/dev/block/mmcblk1p2 /MultiSystem ext4 rw,seclabel,relatime,data=ordered 0 0
How to check MultiSystem Installation?
The 1st thing to do after installing MultiSystem is to check the /MultiSystem directory & its contents (it shouldn't be empty!). Then, check usage by running the following commands in Terminal Emulator or ADB shell:
Code:
su
bash
MultiSystem
If it retuns "MultiSystem not found" or permission denied, try to use open MultiSystem app to Update Configurations & try again. If this does't fix it, try the following command:
Code:
/MultiSystem/bin/MultiSystem
This should work if you've MultiSystem binaries installed in (extracted to) /MultiSystem directory. If so, you can create a symlink in /system/xbin as follows:
Code:
mount -o remount,rw /system
ln -sv /MultiSystem/bin/MultiSystem /system/xbin/MultiSystem
Then, test it by running:
Code:
MultiSystem
The last thing before using it is to check the boot options: reboot & monitor the GREEN LED indicator for 3 seconds (change in the app) , which give you the following options:
Volume UP = Primary virtual ROM
Volume DOWN = Secondary virtual ROM
HOME KEY = Stock System
Sure, you should have installed one or more virtual ROMs.
Backup & restore or creating/installing a virtual ROM are easy as copy & paste: all img's will be at
Code:
/MultiSystem/img/system
To backup a virtual/stock system, you have many options:
Use create function to create from stock system
Use copy function to copy the IMG
Copy & paste with a new name
Use FlashFire (fully supported on virtual/stock ROMs)
...
If you've IMG mounting issues, run the following commands:
Code:
mount -o remount,rw /system
busybox ln -sv /proc/self/mounts /system/etc/mtab
If this doesn't help, try mounting from Terminal Emulator or ADB shell after selecting the IMG in MultiSystem app, by running the following command:
Code:
MultiSystem mount virtual
MultiSystem Video Tutorial
Thanks To: @Tomsgt , aka RootJunky
Don't forget to subscribe & like the video to show appreciation of his great effort & time spent in making the video :highfive::good:

Categories

Resources