Android Emulator + sdcard.img + Partitions - Android Software Development

Does anyone know how to partition the sdcard.img used by the Android SDK emulator? You can't get a lot of ROMs running without Ext and Swap partitions. I've been fussing around with Yaffs2 on Ubuntu and had some success, but I'm not sure exactly how to accomplish this.

Related

creating 2 partitions on an SD card on a Mac fat32/ext2

Hey all. I was wondering how to format/create my sdcard with 2 partitions one fat32 the other ext2 on a mac. I used the search engine but cannot find anything.
I'm not a terminal noob but I can't figure out how to format/create the 2 partitions. I need help because I want to move my data from the g1 to the sdcard.
Thanks!
Install this http://sourceforge.net/projects/ext2fsx/ and then reboot and use the Disk Utility in /Applications/Utilities/
this will not format a ext2 partition, it only allows you to mount it, your best bet is to d/l GPARTED or of you have windows in parallels use Paragon Partition Manager... this will not work if your windows is in a bootcamp partition, the other option is to use a pc (sadly hu?)
If it helps, I actually used an ubuntu live cd and installed gparted while booted to the cd... of course, i had already made the sdcard fat32 in windows but gparted allowed me to resize and format the remainder in ext2.
I've used the ext2fsx tool to partition my SD card on my mac. I don't think I had any extra software installed, and I just used the Disk Utility...
I'm also having trouble creating a valid partition. I'm using gparted on an ubuntu live cd but the sdcard doesnt like being messed with.
What disklabel are you using? [Loop / msdos / bsd etc]?
I think i've tried every combination and haven't gotten anywhere.
Also, i've read that the card class makes a difference, is this right or does it only effect the speed of data transfer?
Any help would be much appreciated!!
.//Yamthief

[TUTORIAL] A BETTER Ubuntu on Android method

As many of you have probably heard, you can load Ubuntu along side your Android OS. This has been confirmed on many devices, including N1, Desire, and Incredible. Here is the nexusonehacks post describing how to do it.
But I have found a better way to do it. Normally you mount ubuntu.img as a loopback and run from that. The problem with this is that is has very limited space (250mb or so) as you cannot exceed the size of the .img.
My method is to extract the contents of the .img and run it directly from the sdcard's filesystem.
Please be aware that if you use ClockworkMod Recovery, it will try to backup our new EXT2 partition! It thinks its an app-to-sd partition! I've yet to figure a way around this. Do not follow this tutorial if you make nandroids!
Requirements
- ubuntu.img (must be an ARM port)
- A Linux distro so you can 'cp' to your sdcard
- You will have to make a second partition on sdcard, ext2 type
- Patience and experience. This guide assumes you already know the basics of how to work with Linux
Step 1 Create the partition on sdcard
- Open your Linux distro and insert your sdcard (or enable disk drive on phone)
- Start GParted (or similar) and create an ext2 partition on your card. The partition should be as big as ubuntu.img. I recommend atleast 25% bigger so you have room to install packages and whatnot. FAT32 or NTFS will not work here!
Step 2 Mount ubuntu.img
- Mount ubuntu.img with the following commands (on the Linux distro, not phone):
Code:
sudo su
mkdir /mnt
mkdir /mnt/ubuntu
cd [B]/path/to/ubuntu/image[/B] **IMPORTANT!
mount -t ext2 -o loop ubuntu.img /mnt/ubuntu
Step 3 Copy contents of ubuntu.img to sdcard
- Make sure your new ext2 partition is mounted. We will assume its at /media/ext2sd
- Copy the contents. This will take a very long time depending on speed of card. Mine took roughly 70 minutes
Code:
cp -dRP --preserve=all /mnt/ubuntu/* /media/ext2sd/
Step 4 Update bootubuntu script
Here is a rundown of the modified script:
- Mount root as r/w
- Ensure /mnt/sdcard2 exists
- Mount the second sdcard partition
- Everything else, including chrooting to start Ubuntu! I use 'nice' to lower the priority of chroot so it won't make phone sluggish. Change this if you want.
Download the script
Step 5 Get Ubuntu running
- From here out its the same as any other tutorial. do a 'sh ubuntu.sh' to copy files to phone, then 'bootubuntu' to start it. Hopefully everything goes good for you! You now have much more room to do things!
Reserved..
Is it possible to use ext3/4 and would there be any performance gains?
ext3/ext4 use journaling. Unless you know for sure that your sdcard does wear-leveling, I would not advise using these as they may degrade the life of your card quickly. Another option would be to specifically make the partition without these options, but there is little to no performance gain as sdcards are already slow.

[Q] How to mount the ext3/2 formatted Partition on HTC Wildfire.

Hello mate,
I am trying to boot Debian on WF.
My phone has been rooted by now, and i need help regarding mounting the partitioned fs.
Here's what i have on my SD:
1) 950MB ->Fat32.
2) 750MB -> Ext3
3) 150 -> Swap.
Now linux requires a partition to be ext formatted, which i have done by now. But i have no idea on how to mount the ext3 fs on htc wf.
I tried the procedure via recovery mode->partitioning-> mount /sd-ext/ but dint worked.
Would you please tell me how can i mount it by using Ubuntu. I am not a avid windows user and many tutorial relating to apps2sd are based upon windows, which isnt possible for me.
Also, how can i know the directory address of the filesystems i have generated. like, /dev/sd2 etc.

Setting up EXT4 with EXT4 Recovery Nand to use ParanoidAndroid JellyB SD with WP7

hi, i have been trying to get a dual boot with wp7 (hd20 8779) with android jellybean (paranoidandroid) using ext4 on the sd.
i have right now:
magldr v1.13
ext4 recovery nand
partitions:
1st FAT 14gb
2nd EXT4 1gb (made via ext4 recovery)
there is no 'nativesd' folder that i can see on the sd card (to put the jellyb.zip rom in?) and it (ext4 recovery) will not let me install zip from sd (either jellyb.zip rom or dual installer zip. it just says:
Finding update package...
Opening update package...
Installing update...
Installation aborted.
I am also confused about which rom I should go about installing first at this point. wp7 or droid?
---- edit:
ok, i was using the wrong android rom. aokp nativesd worked. booted, tested it, all ok. but then i went to install wp7 and it erased it. wp7 booted, worked. took out sd, hooked sd up to computer, repartitioned to have wp7 ||| fat32 ||| ext4, but then when i put it back into phone and booted to wp7 (to make sure it was still there), it said available storage was entire sd card. so i powered down and tried to boot into android. now android was gone. tried to boot into ext4 recovery and that was gone too.
i am very close now. i just need help partitioning this correctly. i know now that the latest version of minitool will let me partition to ext 4 so that's no problem now. can someone please help me set up my partitions so that i don't lose one installation with another? also, i don't know how to check if something is mmcblk0p2 or how to set it to that. i haven't been able to find any instructions in doing so, just mentions of it across the forums.
please help
Okay.
You probably have WP7 now, right? You've already partitioned the card with xboxmod's CABs, haven't you? If not, please do those two steps before continuing.
Windows Phone 7 wipes entire SD card and creates its own partition every time it's installed or hard reset, and because of that you can't install Android ROM first and then WP7.
After that, just take MiniTool, delete the FAT partition and create two new:
First FAT partition, then on the rest create EXT partition. It should be mmcblk0p2 then, but you want to check it anyway. How to was in that thread:
6. (WP7 users) make sure the EXT4 partition is located @ /dev/block/mmcblk0p2
To check this mount your sd-ext partition in 4EXT recovery and use adb shell or QtADB shell and type df
Click to expand...
Click to collapse
If you don't have ADB yet, please download Android SDK where that tool is included. Or try QtADB, but I haven't used that one.
That instruction translates to:
1. Run 4EXT Recovery
2. Choose Mount... option
3. Mount /sd-ext
4. Run adb shell (type that in CMD when in folder with adb.exe, I hope you can navigate with CMD)
5. Type df and press enter.
Then install the ROM using 4EXT SD Recovery. Nothing complicated, I hope. That's how I've done that at least.
thank you
Spaqin said:
Okay.
You probably have WP7 now, right? You've already partitioned the card with xboxmod's CABs, haven't you? If not, please do those two steps before continuing.
Windows Phone 7 wipes entire SD card and creates its own partition every time it's installed or hard reset, and because of that you can't install Android ROM first and then WP7.
After that, just take MiniTool, delete the FAT partition and create two new:
First FAT partition, then on the rest create EXT partition. It should be mmcblk0p2 then, but you want to check it anyway. How to was in that thread:
If you don't have ADB yet, please download Android SDK where that tool is included. Or try QtADB, but I haven't used that one.
That instruction translates to:
1. Run 4EXT Recovery
2. Choose Mount... option
3. Mount /sd-ext
4. Run adb shell (type that in CMD when in folder with adb.exe, I hope you can navigate with CMD)
5. Type df and press enter.
Then install the ROM using 4EXT SD Recovery. Nothing complicated, I hope. That's how I've done that at least.
Click to expand...
Click to collapse
wp7 is installed. after several searches, i'm not seeing the cab files you're talking about. the current partition structure is 200mb fat ||| 14.67gb 'other' ||| I saw that part in the thread with mmcblk0p2, but I had no idea how to specify that when I made the partition or how to check it. Thank you. Yes, I have the Android SDK (had no idea that's where to find ADB) Thanks for elaborating that for me. I am going to do all this right now!
--- edit
how do i check to make sure its mmcblk0p2?
if i just repartition in minitool everything, do i still need the xboxmod cab files i can't find?
--- edit
i repartitioned with minitool and this is what i have now:
1st) 7.88mb (free) 0 (used) unallocated logical
2nd) 5.81gb (free) 11.65mb (used?) fat32 logical
3rd) 1.46gb (free) 101.80mb (used?) ext4 primary
4th) 7.67gb (free) 7.67gb (used) unformatted primary
now, i'm going to install ext4recovery nand and try to install android, is this correct?
--- edit
i'm not seeing adb anywhere. In android sdk tools i have two shortcuts: AVD Manager and SDK Manager. I don't see adb in either. I'm loaded into EXT4 Recovery Nand now.
--- edit
After looking in the android sdk program directory in windows i found adb-has-moved.txt It says:
Code:
The adb tool has moved to platform-tools/
If you don't see this directory in your SDK,
launch the SDK and AVD Manager (execute the android tool)
and install "Android SDK Platform-tools"
Please also update your PATH environment variable to
include the platform-tools/ directory, so you can
execute adb from any location.
--- edit
when i get this completely finished, I'm going to do it again to another phone, and I'm going to make a COMPLETE step by step guide from start to finish for noobies like me and post it.
---- edit
after going to a cmd prompt and navigating to the 'platform-tools' directory and typing adb, press enter, then typing 'df', press enter, i get this error:
Code:
'df' is not recognized as an internal or external command, operable program or batch file.
--- edit
i'm attaching a screenshot, i used the command 'adb shell' then enter then the command 'df'. although i have no idea if this is doing this to my sd card on my phone which has the sd-ext mounted.
Oh, you resized WP7 like that (with partitioning tool), okay, it's fine too. You will have to hardreset though. No need to use CABs then.
ADB is in C:\android-sdk-windows\platform-tools if you've downloaded it (platform tools) from that installer/updater of course.
Browse there with CMD and use adb shell.
Please remember to set both FAT and EXT4 partitions primary, else it won't work.
After you check if the partition is in that mmc02 thing, you can install the ROM with the recovery.
thank you
Spaqin said:
Oh, you resized WP7 like that (with partitioning tool), okay, it's fine too. You will have to hardreset though. No need to use CABs then.
ADB is in C:\android-sdk-windows\platform-tools if you've downloaded it (platform tools) from that installer/updater of course.
Browse there with CMD and use adb shell.
Please remember to set both FAT and EXT4 partitions primary, else it won't work.
After you check if the partition is in that mmc02 thing, you can install the ROM with the recovery.
Click to expand...
Click to collapse
ok i'm attaching a screenshot of my partitions in minitool. i made the fat primary as well. now i'm going to copy over the aokp jellybean rom and try to install it. fingers crossed! also, i hard reset wp7 when i first installed it. i'm afraid if i do it now, it will undo all the partitioning steps i've taken after that. is this correct?
---- edit
ok, something went wrong, because after i installed android from ext4 recovery nand, i powered down, booted into magldr 1.13 and selected '1. Boot WPH' and it said: 'WPH not installed.' aaaaaaahhhhhh!!!! lol
any ideas where i might have gone wrong?
---- edit
btw, when i booted into android (1st boot) i checked the space, and it said the 5.81gb or whatever it was, so i think the partitions are intact. could this be a 'uselast24NAND' issue? i don't think i did that when i installed wp7, i couldn't remember when i was supposed to do that. ah geeeeeeeez
noobinius said:
ok i'm attaching a screenshot of my partitions in minitool. i made the fat primary as well. now i'm going to copy over the aokp jellybean rom and try to install it. fingers crossed! also, i hard reset wp7 when i first installed it. i'm afraid if i do it now, it will undo all the partitioning steps i've taken after that. is this correct?
Click to expand...
Click to collapse
First check that WP7 still boots (if you've followed most of the tutorial for the old dual boot 1 sd card method you should be fine, otherwise you'll have to start over), and don't use 4ext nand recovery (doubt it'll run anyway), you need the 4ext SD version.
Just follow this , with the difference being having 3 partitions at the end ( FAT32|||EXT4|||WP7) then install via a SD ported recovery
thank you
HypoTurtle said:
First check that WP7 still boots (if you've followed most of the tutorial for the old dual boot 1 sd card method you should be fine, otherwise you'll have to start over), and don't use 4ext nand recovery (doubt it'll run anyway), you need the 4ext SD version.
Click to expand...
Click to collapse
ok, thanks hypoturtle. ok, i am going to take a little break, then find the sd version of 4ext, then i'm going to task29 this monster with hd2 toolkit and completely start over. i will update this thread with what happens and what i did. when i'm done i plan to make a complete step by step guide with links and all so there will be something with ALL the information and links in one place, placing all credit where it is due to the original developers. i am not a developer.
Yeah, that was the problem. You can't use NAND recoveries when on WP7 because they will format NAND and prepare partitions for Android, deleting WP7. For that you need SD Recovery ported by Xylo (available in NativeSD thread). After WP7 is installed, you don't even touch anything that's NAND related because it will break everything.
Check this video tut http://forum.xda-developers.com/showthread.php?t=944288
1. install wp7
2 make android partition as in vid.
You should have after the above.
<50% of sd card volume as FAT32 on first partition (primary)
>50% of volume unformatted (WP7) on second (primary)
Then you can create ext4 partition as second partition (also set as primary), I would use minitool again to shrink your FAT partition (but use 4ext recovery sd to format it see http://forum.xda-developers.com/showpost.php?p=31247925&postcount=3464 and the post before it)
So you have 3 partitions 1. fat android 2. ext4 3. wp7
I have not tried a smaller wp7 partition than 50%, don't know if it would work but 96edwy has suggested not to do this in vid.
thank you
thank you guys for your help. i have got it working and have made a step by step guide as i did it. just one problem, and i reaaaaallly hope its not a big problem. but in android it says no sd card. i need to know how to show whatever explorer program i use in android to look at the fat32 partition. anyone know?
i also need to know how to make wp7 see the fat32 partition that will have all the media files on it. anyone?
as soon as i get this information, i will post the guide. but i don't want to post it if there is something wrong (android and windows not reading the fat32 parition).
other than that both operating systems are still there and android is running from ext4 from folder nativesd!!!
noobinius said:
thank you guys for your help. i have got it working and have made a step by step guide as i did it. just one problem, and i reaaaaallly hope its not a big problem. but in android it says no sd card. i need to know how to show whatever explorer program i use in android to look at the fat32 partition. anyone know?
i also need to know how to make wp7 see the fat32 partition that will have all the media files on it. anyone?
as soon as i get this information, i will post the guide. but i don't want to post it if there is something wrong (android and windows not reading the fat32 parition).
other than that both operating systems are still there and android is running from ext4 from folder nativesd!!!
Click to expand...
Click to collapse
Check that all the partitions are set as primary, that's the only thing I can think of.
HypoTurtle said:
Check that all the partitions are set as primary, that's the only thing I can think of.
Click to expand...
Click to collapse
well, i just checked it. i'm attaching the screenshot that shows the partitions. i'm a little scared to change the last one (the wp7 one) to primary for fear of messing it all up again. also, that shouldn't effect androids view of the fat32 which is set to primary right?
noobinius said:
well, i just checked it. i'm attaching the screenshot that shows the partitions. i'm a little scared to change the last one (the wp7 one) to primary for fear of messing it all up again. also, that shouldn't effect androids view of the fat32 which is set to primary right?
Click to expand...
Click to collapse
Can't imagine that would cause the issue, you have them layed out as Fat32 | EXT4 | Unallocated right? Have a look at df again see if vold/179:1 appears, have attached mine from PA
thank you!
HypoTurtle said:
Can't imagine that would cause the issue, you have them layed out as Fat32 | EXT4 | Unallocated right? Have a look at df again see if vold/179:1 appears, have attached mine from PA
Click to expand...
Click to collapse
so thats how you see if it's called mmcblk0p2 or not.... finally. i never used it to set these up. is it too late? i don't even know how to get adb on my phone like you did, and i tried running adb shell from my computer but it keeps saying error: device not found.
how do i get it running on my phone as you did to check?
noobinius said:
so thats how you see if it's called mmcblk0p2 or not.... finally. i never used it to set these up. is it too late? i don't even know how to get adb on my phone like you did, and i tried running adb shell from my computer but it keeps saying error: device not found.
how do i get it running on my phone as you did to check?
Click to expand...
Click to collapse
Use terminal emulator, type su to get to shell then df (or anyother busybox/adb shell command)
thank you!
HypoTurtle said:
Use terminal emulator, type su to get to shell then df (or anyother busybox/adb shell command)
Click to expand...
Click to collapse
ahh, great. well, i got there did it, no 179 error or any other error. i tried taking a screenshot with volume down + power key, but it doesn't seem to want to do it, maybe cuz it doesn't no where to save it idk.
anywayas, it shows:
/dev/block/mmcblk0p2 /nativesd
/dev/block/mmcblk0p2 /system
/dev/block/mmcblk0p2 /data
tmpfs /dev
tmpfs /mnt/asec
tmpfs /mnt/obb
other than sizes, that is all it shows...
noobinius said:
ahh, great. well, i got there did it, no 179 error or any other error. i tried taking a screenshot with volume down + power key, but it doesn't seem to want to do it, maybe cuz it doesn't no where to save it idk.
anywayas, it shows:
/dev/block/mmcblk0p2 /nativesd
/dev/block/mmcblk0p2 /system
/dev/block/mmcblk0p2 /data
tmpfs /dev
tmpfs /mnt/asec
tmpfs /mnt/obb
other than sizes, that is all it shows...
Click to expand...
Click to collapse
Screenshot is turned on in settings, system, power menu but yea it wouldn't work anyway, other than reformating the fat partition, i can think of much else you can try, i think you may have to tempt fate here and change the wp7 part to primary, can't recall if it messes anything up at this stage, i don't think so, as long as it doesn't require a format.
THANK YOU!!!
HypoTurtle said:
Screenshot is turned on in settings, system, power menu but yea it wouldn't work anyway, other than reformating the fat partition, i can think of much else you can try, i think you may have to tempt fate here and change the wp7 part to primary, can't recall if it messes anything up at this stage, i don't think so, as long as it doesn't require a format.
Click to expand...
Click to collapse
WOW, rock on man.. you did it. reset wp7 partition to primary, both operating systems still working. and android is reading the fat32 partition now. Thank you sooo much for your help. I am thrilled we did it!!
Okay, I posted a guide on EXACTLY what I did with screenshots in an ACTUAL step by step process so it will be easier for the next person that doesn't know what they're doing just like I didn't. It is here: http://forum.xda-developers.com/showthread.php?p=31406820#post31406820
Guide
noobinius said:
thank you guys for your help. i have got it working and have made a step by step guide as i did it. just one problem, and i reaaaaallly hope its not a big problem. but in android it says no sd card. i need to know how to show whatever explorer program i use in android to look at the fat32 partition. anyone know?
i also need to know how to make wp7 see the fat32 partition that will have all the media files on it. anyone?
as soon as i get this information, i will post the guide. but i don't want to post it if there is something wrong (android and windows not reading the fat32 parition).
other than that both operating systems are still there and android is running from ext4 from folder nativesd!!!
Click to expand...
Click to collapse
PLEASE.. let us know where and how to get a hold of your NOOB Guide.. I would be very interested in it even if it all doesn't work!
TERRAREX0784 said:
PLEASE.. let us know where and how to get a hold of your NOOB Guide.. I would be very interested in it even if it all doesn't work!
Click to expand...
Click to collapse
Okay, I posted a guide on EXACTLY what I did with screenshots in an ACTUAL step by step process so it will be easier for the next person that doesn't know what they're doing just like I didn't. It is here: http://forum.xda-developers.com/show...0#post31406820

[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
Happy to see, one time a real describe of the features, all of my asks is answers here.
Thanks dev
Great work thanks
I've created 6GB partition for MultiSystem and everything until the green led is now working.
Now I'm on S6 port. If I were to flash Note4 port what do I need to do?. Can the current S6 port considered as stock?
I've read both threads but still not getting the procedures to install the virtual/secondary or any other rom.
Sorry for being a noob.
Rosli59564 said:
I've created 6GB partition for MultiSystem and everything until the green led is now working.
Now I'm on S6 port. If I were to flash Note4 port what do I need to do?. Can the current S6 port considered as stock?
I've read both threads but still not getting the procedures to install the virtual/secondary or any other rom.
Sorry for being a noob.
Click to expand...
Click to collapse
You can use any ROM as stock or virual, as far as your kernel supports them. Just take care when flashing; the update-script should mount the correct partition or IMG to /system. I'll explain this very soon...
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:
hsbadr said:
MultiSystem is a powerful tool for locked- and unlocked-bootloader Android devices with many features that at least includes the following:
Click to expand...
Click to collapse
My friend, this is EXTREMELY exciting, and I look forward to checking it out I just need some help:
I can't run the MiniTool Partition Manager on my computer because it isn't supported by the Windows 10 Tech Preview, so I wanted to ask if there was another way to create the other ext4 partition? Can it be done in Android? I am running Lollipop on the Canadian Note 3 model. Thank you, man
Sent from my SM-N900W8 using XDA Free mobile app
vince.lupe said:
My friend, this is EXTREMELY exciting, and I look forward to checking it out I just need some help:
I can't run the MiniTool Partition Manager on my computer because it isn't supported by the Windows 10 Tech Preview, so I wanted to ask if there was another way to create the other ext4 partition? Can it be done in Android? I am running Lollipop on the Canadian Note 3 model. Thank you, man
Click to expand...
Click to collapse
Aparted app from Play works, but not on LP (binaries needs to be compiled with PIE flag or you disable PIE check). Alternatively, you can find any partitioning too on your version of Windows that support EXT4 format OR better use MinTool Partition Manager on another computer or a VM on yours.
hsbadr said:
Aparted app from Play works, but not on LP (binaries needs to be compiled with PIE flag or you disable PIE check). Alternatively, you can find any partitioning too on your version of Windows that support EXT4 format OR better use MinTool Partition Manager on another computer or a VM on yours.
Click to expand...
Click to collapse
Ah, that's a great idea! I didn't even think of a VM! Would you mind suggesting the best way to create a VM of that program? Which VM program should I use? Also, how did you get Linux to run on your MultiSystem??? That would be WONDERFUL for me so that I could use Linux to run Microsoft SilverLight for university to watch videos (in the next few months, I want to migrate from Microsoft to Android completely)
Sent from my SM-N900W8 using XDA Free mobile app
Great work thanks
hsbadr said:
Aparted app from Play works, but not on LP (binaries needs to be compiled with PIE flag or you disable PIE check). Alternatively, you can find any partitioning too on your version of Windows that support EXT4 format OR better use MinTool Partition Manager on another computer or a VM on yours.
Click to expand...
Click to collapse
My friend, I ended up getting everything partitioned perfectly fine and have just started to look around I downloaded a fresh image for Linux from the Complete Linux Installer website, but I'm not sure if it's the right image for flashing with MultiSystem. Do you think you could give a few pointers? Thank you, man This is exciting
Sent from my SM-N900W8 using XDA Free mobile app
vince.lupe said:
My friend, I ended up getting everything partitioned perfectly fine and have just started to look around I downloaded a fresh image for Linux from the Complete Linux Installer website, but I'm not sure if it's the right image for flashing with MultiSystem. Do you think you could give a few pointers? Thank you, man This is exciting
Click to expand...
Click to collapse
You can't boot a Linux IMG in the current version of MultiSystem, b/c this feature is temporarily removed to avoid limited support for locked devices. However, you can CHROOT this IMG on Android & use any VNC app to connect to your Linux desktop on device. I'd recommend Linux Deploy.
hsbadr said:
You can't boot a Linux IMG in the current version of MultiSystem, b/c this feature is temporarily removed to avoid limited support for locked devices. However, you can CHROOT this IMG on Android & use any VNC app to connect to your Linux desktop on device. I'd recommend Linux Deploy.
Click to expand...
Click to collapse
That's cool, man Will you be including that feature in the next update?
Also, will Linux Deploy do all the work, or is there a way to get a Linux IMG to work with MultiSystem (understanding that, at present, some sort of work would be needed done)?
Thank you This is wonderful
Sent from my SM-N900W8 using XDA Free mobile app
vince.lupe said:
That's cool, man Will you be including that feature in the next update?
Click to expand...
Click to collapse
Not in the next version, but in device-specific updates (since each unlocked device should get a supported kernel 1st).
vince.lupe said:
Also, will Linux Deploy do all the work, or is there a way to get a Linux IMG to work with MultiSystem (understanding that, at present, some sort of work would be needed done)?
Click to expand...
Click to collapse
Linux Deploy will allow you to run Linux virtually on top of Android system. Then, you can connect to it via VNC...
vince.lupe said:
Thank you This is wonderful
Click to expand...
Click to collapse
You're welcome! Glad I could help.
hsbadr said:
Not in the next version, but in device-specific updates (since each unlocked device should get a supported kernel 1st).
Linux Deploy will allow you to run Linux virtually on top of Android system. Then, you can connect to it via VNC...
You're welcome! Glad I could help.
Click to expand...
Click to collapse
Looking forward for device specific updates for the Canadian Note 3 Your work is amazing Keep it up, bro
Sent from my SM-N900W8 using XDA Free mobile app

Categories

Resources