[PARTITION] BlePart LVM [v1.1] - Huawei Ideos X5 U8800

LVM is a logical volume manager. It joins underlying physical partitions into a pool which can be divided to virtual partitions. Since there are no real partition layout changes, hard bricking is a lot more difficult (but not impossible).
You may have BlePart installed previously, it makes no difference. You can use stock partition layout.
WARNING: LVM requires you to install LVM compatible ROMs. Do not install non-LVM ROM if you have LVM installed.
All your data will be wiped.
Current space division
If you would like to change this, open the zip META-INF/com/google/android/update-binary, find the partition sizes, and modify data partition size (the total space is nearly 3GiB so watch the space).
System - 800MiB
Cache - 10MiB
Data - 2000MiB
Internal SD - rest of the free space
Requirements
LVM-compatible recovery installed
Strongly recommended: Unlocked pink screen
How to install
Download the zip from downloads below
Save it to your phone's EXTERNAL SD card
Reboot to recovery (if you notice errors it is normal, since LVM is not yet installed)
Install the zip from your external SD
Your phone will automatically reboot in 3 seconds
How to uninstall
Method 1
Download the zip from downloads below
Save it to your phone's EXTERNAL SD card
Reboot to LVM recovery
Install the zip TWICE (first time it will notify you LVM is installed, second time it uninstalls it)
Your phone will automatically reboot in 3 seconds
Method 2
Install any non-LVM recovery (TWRP recommended as some older CWM recoveries cannot format vfat properly)
Reboot to recovery
Wipe/Format system, data, cache, internal storage partitions (and repair file system if errors occur)
Reboot recovery
Method 3
Install stock ROM
Downloads
BlePart-LVM-11

Hello, Blefish
These lines i need to change? When i clean applications i have empty space in "System" 220mb, and "Data" i have 270mb empty space.
/sbin/lvm lvcreate -L 700M -n system lvpool;
/sbin/lvm lvcreate -L 10M -n cache lvpool;
/sbin/lvm lvcreate -L 2350M -n userdata lvpool;
/sbin/lvm lvcreate -l 100%FREE -n media lvpool;
Click to expand...
Click to collapse
P.S. Can i delete directly application from system.new.dat?

Good,thanks!

BlePart-LVM-11 uploaded.
This change is minor. It only simplifies installing/uninstalling and makes it easier for the end user. It also adds necessary checking mechanism to make sure the user is installing LVM from a proper location with proper tools.

My external sd card don´t work, can I still get it done?

MazdaGTI said:
My external sd card don´t work, can I still get it done?
Click to expand...
Click to collapse
Through ADB sideload you can do it . You need to install necessary drivers and ADB if you are on windows. Technically it is possible to use ADB and push the zip to /tmp/ for example, and install from there aswell.

Related

[Q] Install and run full app from SD?

I looked, read the FAQ's and then some. I just came to a N1 form a G2, and the one things that is killing me is space for apps. I cant fit 1/3 of what I had on my G2 on here. It there anyway to install the full application (for apps w/o widgets) to the SD card? Or at least more that what Froyo allows by default.
I kept seeing something about partitioning but if someone would be kind enough to point me to a how to or give me the info I'd greatly appreciate it.
Thanks.
Apps2Ext with a custom ROM
I believe you are looking for apps2ext
Heres what you need to do. (hit the link above for detailed steps)
a) copy all your SDcard data to your PC, because partitioning the sd card will delete everything
b) reboot into recovery
c) recovery: create an ext partition (ext2, 3, 4 all work, i just use ext2)
size: 512MB, more if you want.
swap: 0, not needed (if asked)
d) recovery: flash the DT a2sd 2.7.5.2 (or newer) .zip file. this configures CM6.
e) recovery: reboot
f) while the phone is starting you can check if a2sd installed of by running this in a console (cmd): "adb shell a2sd check"
optional but recommended:
g) move the dalvik cache to the sdcard too; in a console (cmd) run: "adb shell a2sd cachesd" (will reboot your phone)
Remember you need to flash the dt a2sd .zip file every time you flash a new CM ROM.
britoso said:
c) recovery: create an ext partition (ext2, 3, 4 all work, i just use ext2)
size: 512MB, more if you want.
swap: 0, not needed (if asked)
Click to expand...
Click to collapse
I would suggest sticking with an ext2 partition, as it seems to have the most compatibility across the board with different ROMs and such.

How to upgrade my ext partition with cwm?

I'm guessing theres no way in CWM recovery to get ext4 am i correct. I've heard that it's ext3 by default, so my question is what program would i need to do this. I am running winblows 7, i do have a built in card reader so i could mount the microsd card from there to partition it.
d12unk13astard said:
I'm guessing theres no way in CWM recovery to get ext4 am i correct. I've heard that it's ext3 by default, so my question is what program would i need to do this. I am running winblows 7, i do have a built in card reader so i could mount the microsd card from there to partition it.
Click to expand...
Click to collapse
taken from
Here
How to manually partition your SD card for Android Apps2SD
Taylor Wimberly on Aug 21, 2009 at 9:27 pm119 comments
5share0share4 42
How to manually partition your SD card for Android Apps2SD
Update: You might also want to check out the Amon_RA recovery image which will automatically partition your SD card.
This article is for people with rooted Android phones. Everyone else please ignore. There are dozens of ways to partition your SD card and I would like to share the one that has worked for me every time. I prefer to manually partition my SD card because it gives me complete control.
Requirements before getting started:
Cyanogen Recovery Image v1.4 or greater (Easy to install with the 1-click hack)
SD Card (Class 6 suggested): A-DATA has good prices on Amazon (4GB, 8GB, 16GB)
Android Device Bridge(ADB): Comes with the Android SDK.
Android build that supports Apps2SD: I suggest Cyanogen’s latest stable release (Does Apps2SD automatically)
These instructions apply to both the Windows command prompt and the Mac terminal. As you can see from my screens, I was using Windows Vista. You can partition your SD card at any time, but you might as well do it before you flash a new build of Android. As always, back up your data when performing any hacks. Partitioning your SD card will erase all data on it. I split this guide into 9 steps, but it is not as difficult as it looks. Read the whole thing before starting.
All commands you need to type are in bold (my comments are in parenthesis). If you do not know how to use ADB, leave a comment for help or read ADB for Dummies over at XDA.
Step 1: Connect your phone to your computer via USB. Reboot into recovery mode.
Command:
Code:
adb shell reboot recovery
(this will reboot your phone into Cyanogen’s recovery image. Or power on phone when holding home button)
Command:
Code:
adb shell
(type this after your phone has booted and on the recovery screen. it should take you to a # prompt)
Step 2: Open parted to partition your SD card.
Command:
Code:
parted /dev/block/mmcblk0
(opens parted and mounts your SD card)
Step 3: Check the size and partitions of your SD card. The print command will display this info. You can see the size of my SD card is 7969 MB (8 GB). I have 1 partition which is fat32. If your SD card is blank and no partitions are listed, you can skip to Step 5.
Command:
Code:
print
(displays SD card information)
Step 4: Remove all existing partitions. If you have multiple partitions, remove each one at a time.
Command:
Code:
rm 1
(deletes partition number 1)
Command:
Code:
rm 2
(if needed. keep going till all partitions are removed)
Command:
Code:
print
(check when you are done to make sure all partitions are removed)
Step 5: Create your new partitions. You can make these any size, but the most common setup is 32 MB linux-swap partition, 512 MB ext2 partition, and remaining free space as a fat32 partition. In order to work properly, the partitions must be created in this order: fat32, ext2, linux-swap.
The linux-swap partition is used for a swap file on some builds. Not all builds use linux-swap, but I create one just in case I ever need it.
The ext2 partition is where your apps will be installed. I use 512 MB which gives me plenty of room but you can go larger like 1024 MB if you want. Parted only creates ext2 partitions and we can convert them to ext3 or ext4 later.
When using the Linux command mkpartfs, you must tell it where to start and and end each partition. This can be done by taking the total SD card size and subtracting the linux-swap then ext2 partition sizes. See the following example for my 8 GB card.
Command:
Code:
mkpartfs primary fat32 0 7425
(start is 0 and end is Total C)
Command:
Code:
mkpartfs primary ext2 7425 7937
(start is Total C and end is Total B)
Command:
Code:
mkpartfs primary linux-swap 7937 7969
(start is Total B and end is Total A)
Partition sizes for a 8 GB SD card.
Partition sizes for a 8 GB SD card.
Step 6: Check the sizes of your partitions. Use the command print again to display the partition sizes. If you made any mistakes you can return to Step 4 and remove them.
command:
Code:
print
(displays your partition information)
Step 7: Exit parted and upgrade your ext2 file system to ext3. For most users this is the final step. We suggest all users upgrade to ext3. Its main advantage over ext2 is journaling which improves reliability and eliminates the need to check the file system after an unclean shutdown.
command:
Code:
quit
(exit parted and return to # prompt)
command:
Code:
upgrade_fs
(script to upgrade from ext2 to ext3)
Step 8 (Optional): If you wish, you can upgrade your ext3 partition to ext4. Skip to Step 9 is you wish to use ext3. I asked Cyanogen what file system he uses and he tweeted ext4. The file system offers enhancements like delayed allocation. See Wikipedia for more info on ext4.
command:
Code:
tune2fs -O extents,uninit_bg,dir_index /dev/block/mmcblk0p2
(enter this command from the # prompt)
command:
Code:
e2fsck -fpDC0 /dev/block/mmcblk0p2
(run e2fsck after tune2fs. wait for the file check to finish)
Step 9: Finished. Check your work with print.
command:
Code:
parted /dev/block/mmcblk0
(open parted again)
command:
Code:
print
(check all your system partitions and their sizes)
command:
Code:
quit
(exit parted)
command:
Code:
reboot
(reboot your system to the operating system)
I was under the impression only CWM worked for our mt4g phones... So the AMON_RA recovery would work as well or just the older cyanogenmod 1.4?
I've known about the older cyanogen and amon ra recoveries back when i had my g1, that had ext4 partition built in(cyanogen i had to type in all that extra stuff e2kfs to get ext 4) but had no idea they were avalable fo rour mt4g, where do i download the mt4g amon ra recovery!?
@neidlinger
I appreciate your help, tho i knew those commands and recoveries back when i had the OG tmobile g1 the amon ra 1.7 recovery was the shizznit as it had soo many better options compared to cwm. I answered my own question by reading up into the forums about the dark tremor apps 2sd, i dunno how i missed it the first time but there was an obvious command list that will let you convert an ext partition to 3 or 4 lol It really does help to read up on older posts in development.
All those commands work on CWM. Koush converted the scripts into binary c programs.
You can use adb to run these commands inside the recovery console.
RichieDaze said:
All those commands work on CWM. Koush converted the scripts into bindary c programs.
You can use adb to run these commands inside the recovery console.
Click to expand...
Click to collapse
so just boot into recovery and run adb commands, or do i need to mount sd card thru recovery first.
Sent from my HTC Glacier using XDA Premium App
Try it without mounting. The binary should mount it or display a message telling you to mount it manually.
Please, Let us know the out come!
Have you tried sdparted from the recovery command line? (included in CWM)
It takes the guess work out of using parted!
Source:
[UTIL] sdparted v0.6 - easy sdcard partitioning, upgrading to ext3/4

[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:
hi, thanks for the work! i have a problem, i have MultiSystem installed, when i put MultiSystem status in the terminal it appears same as the tutorial video, now when i use the "Create Virtual IMG" button, the led goes green, but after 5 minutes turns off. then i cannot select the system img in the "Primary System IMG" section, and when i go to the MultiSystem directory and search for the img on "img/system/" there is a img file but without size, the size says something like "-1400897536".
thanks for your help!
Im using a Samsung Galaxy Sgh-i337 with locked bootloader, runing multisystem on stock Lollipop 5.0.1 rooted. i have busybox.
emptyPD said:
hi, thanks for the work! i have a problem, i have MultiSystem installed, when i put MultiSystem status in the terminal it appears same as the tutorial video, now when i use the "Create Virtual IMG" button, the led goes green, but after 5 minutes turns off. then i cannot select the system img in the "Primary System IMG" section, and when i go to the MultiSystem directory and search for the img on "img/system/" there is a img file but without size, the size says something like "-1400897536".
thanks for your help!
Im using a Samsung Galaxy Sgh-i337 with locked bootloader, runing multisystem on stock Lollipop 5.0.1 rooted. i have busybox.
Click to expand...
Click to collapse
i solved the problem using "MultiSystem update" in the terminal emulator. after that i was able to view the IMGs

[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 Glaxy S4 5.0.1
Great job, they were waiting (I used 4.4.2 Multirom in S4)
I have a question, what would be the way to uninstall Multisystem?
hsbadr said:
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 command in Terminal Emulator or ADB shell:
Code:
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:
busybox 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
Click to expand...
Click to collapse
@hsbadr - I don't have any files in /MultiSystem/bin.... what installs those files? I've opened the apk and clicked "Install" several times, as well as flashed the zip file through flashfire several times. I can't get the Multisystem binary to come up.
screwedbyexisten
---------- Post added at 01:10 AM ---------- Previous post was at 12:48 AM ----------
screwedbyexisten said:
@hsbadr - I don't have any files in /MultiSystem/bin.... what installs those files? I've opened the apk and clicked "Install" several times, as well as flashed the zip file through flashfire several times. I can't get the Multisystem binary to come up.
screwedbyexisten
Click to expand...
Click to collapse
@hsbadr - I went through your install.sh line by line and the point where it gets choked is at the first command that calls busybox:
$BBX mount -o remount,rw rootfs
Which errors with this output:
mount: can't read '/etc/mtab': No such file or directory
EDIT: Solved this problem by doing cat /proc/mounts > /etc/mtab, but now the tar command fails with:
tar: can't open './bin/e2fsck': Input/output error
EDIT 2:
I was continually having I/O errors, so I booted up Ubuntu 14.04 and FULL formatted the ext4 partition.
I then reran the "Install MultiSystem" & "Create Virtual Img" and it appears to be working!:
MultiSystem status
Γöé--------------------------------------------Γöé
Γöé MultiSystem for Android Γöé
Γöé Γöé
Γöé (C) 2014-2015 hsbadr @ xda-developers Γöé
Γöé Hamada S. Badr <[email protected]> Γöé
Γöé--------------------------------------------Γöé
Current System IMG: StockSystem_07-05-2015_074800.img
Current System DEV: /dev/block/loop0
MultiSystem partition is mounted on /MultiSystem!
Log file: /MultiSystem/log/MultiSystem.log
Γöé--------------------------------------------Γöé
Γöé If you'd like to support my work, Γöé
Γöé please donate via PayPal or Google to: Γöé
Γöé Γöé
Γöé Hamada S. Badr <[email protected]> Γöé
Γöé--------------------------------------------Γöé
Now I just need to figure out what I can do with this virtual ROM.
Also I keep getting kicked out of ADB - I have to unplug then replug to get back in. I have attached what I could get from ADB logcat before i got kicked.
will I be able to update my stock rom without interfering MultiSystem?
is it okay if the stock rom is a port, or it should be the stock firmware.?
Wow... Seems a fantastic tool. The shared partitions are a fantastic option!
Right now, I have my external card as this:
1st partition fat32 primary
2nd partition ext4 primary (5,64Gb but only 2,43Gb free).
I'm using Link2SD Plus and the 2nd partition is being used by the app to move the app/data to the external card.
Can I use Link2SD in the same 2nd partition as MultiSystem? Would it be advisable to do so?
Can I create a 3rd partition for MultiSystem? If so, how to point MultiSystem to it as Link2SD seems to be pointed only for the 2nd one.
Is there any app that formats the sdcard partitions within Android?
I've installed the .apk (v 1.3) and flashed the .zip file.
When I click on "Install MultiSystem" nothing occurs (neither a single message ok/error appears).
The same occurs if I try "Create Virtual IMF" from the stock system partition.
Seems it is not operational in my phone. I'm using SlimLP 5.1.1 version.
What am I doing wrong?
P.S. I've read twice everything (official and Q&A) and can't find a solution.
hsbadr said:
Code:
su
bash
MultiSystem
Click to expand...
Click to collapse
This seems to be working.
I've mounted the virtual system and try to reboot into it.
The "Restarting phone" message keeps for more than 10 minutes and the phone does not reboot.
Forcing reboot I got stuck into the Samsung logo (need to enter into recovery and reflash ROM/Kernel/Gapps/Supersu).
Still rocket science to me... :crying:
Technical said:
This seems to be working.
I've mounted the virtual system and try to reboot into it.
The "Restarting phone" message keeps for more than 10 minutes and the phone does not reboot.
Forcing reboot I got stuck into the Samsung logo (need to enter into recovery and reflash ROM/Kernel/Gapps/Supersu).
Still rocket science to me... :crying:
Click to expand...
Click to collapse
If you remove the sdcard, you'll boot normally; it seems that you've a bad IMG. Also, make sure you're on the latest version (currently, 1.3.1)!
hsbadr said:
If you remove the sdcard, you'll boot normally; it seems that you've a bad IMG. Also, make sure you're on the latest version (currently, 1.3.1)!
Click to expand...
Click to collapse
Thanks.
1. I've created the img with the 1.3.1 version that I'm using.
2. I'll try to find how to check the image integrity. By the way, I have 4 images from the stock ROM (Slim 5.1.1). Neither of them works.
Technical said:
Thanks.
1. I've created the img with the 1.3.1 version that I'm using.
2. I'll try to find how to check the image integrity. By the way, I have 4 images from the stock ROM (Slim 5.1.1). Neither of them works.
Click to expand...
Click to collapse
For now, MultiSystem doesn't implement kexec. So, you can't dual boot AOSP & TW ROMs unless you wipe data & flash the required kernel for each ROM.
A video tutorial is coming soon...
hsbadr said:
For now, MultiSystem doesn't implement kexec. So, you can't dual boot AOSP & TW ROMs unless you wipe data & flash the required kernel for each ROM.
A video tutorial is coming soon...
Click to expand...
Click to collapse
I'm not even making to boot the virtual ROM... When I try to flash a zip I got a message: "file:null" when clicking over the .zip file.
I was trying to mount the virtual and flash CM 12.1.
I won't use TW Roms at all.
Technical said:
I'm not even making to boot the virtual ROM... When I try to flash a zip I got a message: "file:null" when clicking over the .zip file.
I was trying to mount the virtual and flash CM 12.1.
I won't use TW Roms at all.
Click to expand...
Click to collapse
Do you see the LED indicator on boot?
Also, check this (it's for other device)!
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:
Do you see the LED indicator on boot?
Click to expand...
Click to collapse
Yes. If I do nothing, the boot process is kept on bootanimation forever. I've though I was booting in stock ROM. I have to force shutdown.
If I reboot, the green light appears again, then I click on Volume Up, trying to boot the virtual ROM, but I keep seeing the bootanimation too...
hsbadr said:
Also, check this (it's for other device)!
Click to expand...
Click to collapse
Thanks for the explanations. I've partitioned my sdcard again, formated as ext4, primary, I'll try again.
Technical said:
Yes. If I do nothing, the boot process is kept on bootanimation forever. I've though I was booting in stock ROM. I have to force shutdown.
If I reboot, the green light appears again, then I click on Volume Up, trying to boot the virtual ROM, but I keep seeing the bootanimation too...
Thanks for the explanations. I've partitioned my sdcard again, formated as ext4, primary, I'll try again.
Click to expand...
Click to collapse
To boot the stock ROM, double tab the HOME key. It seems you virtual IMG is bad.

How to dual boot LineageOS on your R1HD

I am not responsible for any damage that might happen to you, your phone, your sdcard your dog and so on, you are responsible for your own actions.
This is a Linux guide, asking about how to on windows will get no replies as I don't use windows.
First thing you need is a micro sdcard class 10, size up to you, in this guide I am using a 32 bit.
You need a micro sdcard reader.
insert the micro sdcard into your reader, insert reader into computer.
Open gparted
find your micro sdcard, delete entire contents format as fat32.
now make two partitions ext4 size up to you.
in this guide I made first one 1GB and other one 6GB
you should now have 3 partitions ALL 3 must be primary
1 fat32
2 ext4
when finished partitioning sdcard, remove from computer place in phone.
reboot into recovery
open micro sdcard on your computer
create a folder on your micro sdcard
call the folder dual_boot copy below file to this folder
https://www.androidfilehost.com/?fid=745425885120701124
your folder should look like this.
Install > dual_boot
Now all you see in this folder is lineage-p6601-Sdcard.zip
look to lower right of twrp you see install image click it.
now you see all the files.
select twrp_sdcard_recovery.img
next you are given 3 choices Boot, Recovery, System image.
choose recovery
swipe to confirm
back
back
back
reboot recovery
now before you continue
mount system
adb shell
busybox df -h
/dev/block/mmcblk1p3 5.8G 12.0M 5.5G 0% /data
/dev/block/mmcblk1p2 975.9M 1.3M 907.4M 0% /system
if you don't see similar to above don't continue
what above shows is data and system both empty and mounted to sdcard.
if you have above you can continue if not repeat steps until you do.
unmount system
install > dual_boot > lineage-p6601-Sdcard.zip
you should see detected filesystem ext4 for /dev/block/mmcblk1p2
let install finish
reboot system
once you see the word android
adb shell
df -h
you should see similar
/dev/block/mmcblk1p2 992M 638M 353M 65% /system
/dev/block/mmcblk1p3 5.7G 43M 5.7G 1% /data
let boot finish
download gapps place on your micro sdcard
once booted, setup, reboot to recovery and install gapps.
reboot system
the above is to setup dual boot, once setup is complete, to switch between OS, boot into recovery
navigate to dual boot
look to lower right of twrp you see install image click it.
choose which boot.img you want to use
next you are given 3 choices Boot, Recovery, System image.
choose boot
swipe to confirm
reboot system
phone_boot.img is the current OS you have on your phone, in my case v17 if you are running something other than v17, use it's boot.img instead, rename to phone_boot.img and replace the one you downloaded from this guide.
to boot to sdcard select sdcard_boot.img
if you just reboot, whatever the current boot.img that you flashed on your phone will be what OS it boots into, the OS is only changed if you flash another boot.img
if you need to backup rom on your phone you would need to flash twrp_phone_recovery.img else you can only backup sdcard OS.
Notice you will see BELOW!!!! on LineageOS
DO NOT TAP TO FIX!!!!!
DO NOT TAP TO FIX!!!!!
DO NOT TAP TO FIX!!!!!
On phone you will see this.
DO NOT TOUCH IT!!!!!
DO NOT TOUCH IT!!!!!
DO NOT TOUCH IT!!!!!
Note first time switching between OS, may take sometime as each OS, is adjusting to new sdcard.
After that should be just like a normal boot.
I have dual booted every device I own for years, never had a problem.
The OS, doesn't care where it's installed works great, no matter if on phone or sdcard.
can i swipe the notification of sd corrupt and new sd? or is persistent?
Alex19Gam said:
can i swipe the notification of sd corrupt and new sd? or is persistent?
Click to expand...
Click to collapse
I wouldn't.
Sent from my Life Max using Tapatalk

Categories

Resources