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
Pressing nothing will boot the active system: stock or primary virtual 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
This is the one thing missing from my Note 4. Thank you for the detailed Q&A and i can't wait to try this tool out.
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:
Thank you so much for this! My multbooting-manic* appetive is wet (read: RAVENOUS) :laugh: Thank you also for the extremely comprehensive and clear FAQ, which answered nearly every question that I had, as well as some other very helpful ones that hadn't even occurred to me! I just have a few other questions that arose when planning my own personal setup with the incredible tool (just to be clear, I don't plan on updating to TW LP.... propbably for a while). Also this is what I'm thinking for a 3x boot setup: stock odexed ROM (first question). virtual slot 1: Dynamic Kat 4.2 (KK), v-slot 2: AOSP LP... think I'm leaning towards XenonHD.
Questions:
1. Do you have a recommendation for a custom (Kit Kat) ROM compatible with the N910T? AFAIK JasmineROM isn't compatible, looks nice though. Am I correct in my interpretation that any stock-ish odexed ROM would be a good base for a stable installation? I need to look through the DevDB again, but just wondering if you had a recommendation.
2. I just want to make sure about this, because you asked and answered in the OP Would you consider using the stock kernel with the ROM in stock to be "best practice", or does it matter? I just ask because I've been a longtime supporter of the AEL kernel and would prefer to use that (with both the ROM in stock and v-slot 1). Thoughts?
3. RE: the BusyBox installation in the stock slot, is there a particular version/installer that you recommend? I usually use Sterickson's but have also used BB on Rails. both of which install to system/xbin (and remove any former installation from sbin), so just wondering if it made a difference.
Thank you so much again! BTW, just thought I'd mention that I while writing this, I saw that Amazon had PNY 128GB UHS-1 micro sd's for $75 and ordered one . I currently have 2 of that same card, one in my N4 and one in my Note 10.1 2014 and really think that PNY storage products in general are excellent. Just thought I'd put the word out.... curious why this topic made me think of that...
*multibooting-maniac adj. Descriptor of a person and/or geek who has "Hackintosh"-based triple boot installations on two or more personal conputers and needs the computer that they carrry around in their pocket to catch up with the rest of the gang :laugh:
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
First off, this sounds like a really nifty and useful program/app/modification? Sorry, I don't know what to really call it.
As per the above quoted, I am a little confused. The part about (same kernel)? I may be missing something but in regards to being able to run Lollipop ROM along with KitKat ROM either of which located as primary or virtual (SDcard) , how is this actually possible? As far as I know, while we can use say COD6 - bootloader & modem, I am not aware of an actual "Kernel" that could support both? Hope I am voicing this correctly... :silly:
Other question and I apologize if I missed it as I tried my best to read the well detailed OP's...
- What actual recovery is being used? Can I assume TWRP, and if so, is it a "Special - modified version" OR can we use any of the later TWRPs at our choice?
Thanks! Interested in following this!
jazzmachine said:
Thank you so much for this! My multbooting-manic* appetive is wet (read: RAVENOUS) :laugh: Thank you also for the extremely comprehensive and clear FAQ, which answered nearly every question that I had, as well as some other very helpful ones that hadn't even occurred to me! I just have a few other questions that arose when planning my own personal setup with the incredible tool (just to be clear, I don't plan on updating to TW LP.... propbably for a while). Also this is what I'm thinking for a 3x boot setup: stock odexed ROM (first question). virtual slot 1: Dynamic Kat 4.2 (KK), v-slot 2: AOSP LP... think I'm leaning towards XenonHD.
Questions:
1. Do you have a recommendation for a custom (Kit Kat) ROM compatible with the N910T? AFAIK JasmineROM isn't compatible, looks nice though. Am I correct in my interpretation that any stock-ish odexed ROM would be a good base for a stable installation? I need to look through the DevDB again, but just wondering if you had a recommendation.
2. I just want to make sure about this, because you asked and answered in the OP Would you consider using the stock kernel with the ROM in stock to be "best practice", or does it matter? I just ask because I've been a longtime supporter of the AEL kernel and would prefer to use that (with both the ROM in stock and v-slot 1). Thoughts?
3. RE: the BusyBox installation in the stock slot, is there a particular version/installer that you recommend? I usually use Sterickson's but have also used BB on Rails. both of which install to system/xbin (and remove any former installation from sbin), so just wondering if it made a difference.
Thank you so much again! BTW, just thought I'd mention that I while writing this, I saw that Amazon had PNY 128GB UHS-1 micro sd's for $75 and ordered one . I currently have 2 of that same card, one in my N4 and one in my Note 10.1 2014 and really think that PNY storage products in general are excellent. Just thought I'd put the word out.... curious why this topic made me think of that...
*multibooting-maniac adj. Descriptor of a person and/or geek who has "Hackintosh"-based triple boot installations on two or more personal conputers and needs the computer that they carrry around in their pocket to catch up with the rest of the gang :laugh:
Click to expand...
Click to collapse
@jazzmachine Curious if you ever found out anymore information on this elsewhere that I may be missing. I see it's reference, youtube videos, and whatnot coming up in various threads but little known as far as it's usability on a (910T) Note 4 - mainly what kernel has to be used that supports kexec on STOCK?
lazer9 said:
@jazzmachine Curious if you ever found out anymore information on this elsewhere that I may be missing. I see it's reference, youtube videos, and whatnot coming up in various threads but little known as far as it's usability on a (910T) Note 4 - mainly what kernel has to be used that supports kexec on STOCK?
Click to expand...
Click to collapse
Hey there man, wish I could provide you some useful info wrt this project, but unfortunately I've been unable to find anything directly relevant myself. However, this: http://forum.xda-developers.com/note-4/general/dual-boot-n910f-snap-dragon-variant-t3065211 (shout out and thanks to @aukhan!), which you've likely seen as well, has captured my interest. There are direct references to our device in that thread, but I haven't really been able to make any attempts towards making use of it due to "life stuff" conflicting with my phone tinkering / XDA activity . I haven't been able to follow it as much as I'd like (or hit you up with any actual "useful" info ) but at this point (from what I've read) it seems more... practical wrt our N910Ts.
BTW, I've read and been really appreciative of your contributions to the Emotion kernel thread :good: Definitely keep me posted if you make any progress towards the "multi/dual boot dream"... I'll do the same
jazzmachine said:
Hey there man, wish I could provide you some useful info wrt this project, but unfortunately I've been unable to find anything directly relevant myself. However, this: http://forum.xda-developers.com/note-4/general/dual-boot-n910f-snap-dragon-variant-t3065211 (shout out and thanks to @aukhan!), which you've likely seen as well, has captured my interest. There are direct references to our device in that thread, but I haven't really been able to make any attempts towards making use of it due to "life stuff" conflicting with my phone tinkering / XDA activity . I haven't been able to follow it as much as I'd like (or hit you up with any actual "useful" info ) but at this point (from what I've read) it seems more... practical wrt our N910Ts.
BTW, I've read and been really appreciative of your contributions to the Emotion kernel thread :good: Definitely keep me posted if you make any progress towards the "multi/dual boot dream"... I'll do the same
Click to expand...
Click to collapse
Thanks, I will have a look at the thread you mention. It just seems odd that this post popped up in here some time ago with some questions/replies and went completely abandoned, lol :laugh:
Like one of those teaser posts I guess. I've tried to "Google" around and found some YouTube videos along with active threads on different sections of XDA but anything coming down to usability on our N910Ts and for that matter, other devices, seem to indicated the need for a kexec Kernel in "Stock" Rom. I have yet to find/confirm ANY 910T kernel providing kexec support oddly enough but then again, maybe my google skills are lacking. :cyclops:
Primary system IMG
I can't seem to get MultiSystem to create my primary system IMG. I let it sit while the red LED is on and for quite some time afterwards but it only creates an empty file. Any suggestions would be much appreciated.
Just happened to stumble across this, I used multirom on my older lg optimus g pro.... It worked goud until I had a few custom roms , then it just went all to hell... I think I may give this a try.
No Virtual IMG Mode works...
hsbadr said:
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 !
Click to expand...
Click to collapse
So I've chosen the image and tried booting it by VOL UP and over UI reboot into virtual/ active partition... both failed
/block/loop0 doesn't work, remains mmcblk0p23 though it changed to IMG Stock
Thanks for any help!!!
---------- Post added at 21:53 ---------- Previous post was at 21:48 ----------
fegar said:
I can't seem to get MultiSystem to create my primary system IMG. I let it sit while the red LED is on and for quite some time afterwards but it only creates an empty file. Any suggestions would be much appreciated.
Click to expand...
Click to collapse
How does the log show the empty file? Exit 0 or something like that? Or do you see a 0 MB sized file created?
Have you checked the MultiSystem installation?
Related
MIUI: http://www.mediafire.com/?oqvzpc61x3s5w44
GApps: http://www.mediafire.com/?1c2br6sw6330lwn
These flashable zips and corresponding procedure are intended for intermediate to advanced users, i.e. those who have 1) unlocked their Atrix, 2) partitioned their SD card for dual boot, and 3) have a working knowledge of ClockWorkMod (CWM) Recovery and how to install and configure dual boot. If you are not in this category or would simply like a refresher, you can review some of my other threads on this topic, namely:
Dual Boot threads:
http://forum.xda-developers.com/showthread.php?t=1651356
http://forum.xda-developers.com/showthread.php?t=1642185
http://forum.xda-developers.com/showthread.php?t=1645344
Please understand this MIUI port is not a “dual boot flashable zip” (DBFZ); rather it is a single boot flashable zip of MIUI ported to SD card. However it should preserve your existing primary ROM (ROM1) along with /cache and /data, and thus is actually more versatile than DBFZ which gives you two ROMs that you may not even want.
I strongly recommend that after flashing MIUI, you first reboot to MIUI before flashing GApps.
To reboot to ROM1 after installing MIUI, you could fastboot flash a ROM1 boot image (easiest and fastest way), or configure dual boot as described here ( http://forum.xda-developers.com/showthread.php?t=1645344 ) . I have often found it convenient to simply extract the /Boot directory of an existing DBFZ and customize from there by inserting the boot images of my choice.
If you presently have dual boot and need to wipe the /cache and /data partitions of your second ROM (ROM2) before installing MIUI, then CWM-flash these zips:
Wipe /cache: http://www.mediafire.com/?mc881zjhl9oqr0q
Wipe /data: http://www.mediafire.com/?4k4fey6gxe1nbn0
Now you may be wondering... How do I backup an existing ROM2 since stock recovery tools cannot backup an SD card-based ROM? Here is one way:
Boot phone to CWM 5.0.2.0, connect it to ADB-enabled computer and enter:
Code:
adb devices (make sure device is listed)
adb shell (should get # sign, indicating “root” on Android)
umount /cache (since internal memory /cache is mounted by default)
mount /sdcard
mkdir /sdcard/ROM2-backup
cat /dev/block/mmcblk1p2 /sdcard/ROM2-backup/system.img
cat /dev/block/mmcblk1p3 /sdcard/ROM2-backup/cache.img
cat /dev/block/mmcblk1p4 /sdcard/ROM2-backup/data.img
Standard disclaimers apply. In short, I am not responsible for any harm you or your phone may incur by using any or all of this material.
Many thanks to stevendeb25 (MIUI ported to Atrix), www.angeeks.com (GApps), the CM/Photon/Atrix/Android dev teams and to Koush (CWM Recovery).
yeah....downloading...
tks mate,tks very much,u make my wish come true and every one here who love miui,is there any way i can help u 'cause i dont have visa to donate for u
Sent from my MB860 using Tapatalk 2
mafiarock93 said:
tks mate,tks very much,u make my wish come true and every one here who love miui,is there any way i can help u 'cause i dont have visa to donate for u
Sent from my MB860 using Tapatalk 2
Click to expand...
Click to collapse
Thank you... I am so glad to know that you and your friends can benefit in some way from this little project.
If you have PayPal, you can click the "Donate to me" button, and it takes you to my PayPal donation site. I would probably use the funds to buy a faster SD for experimentation.
Take care.
This guide is for the Sprint Galaxy S4 only and as of now it is only compatible with two kernels: KToonsez S4 Kernel 4.4 AOSP (4/17 or later) and PoKernel 1.7 F2FS ONLY Build. This guide CANNOT be used on Touchwiz or Android 4.3 yet. I will update it when and if that becomes possible
*Disclaimer: You are doing this to your phone under your own consent. This is an experimental procedure and may not work on some hardware revisions or on devices where certain conditions are not met. You assume all the risk by flashing any of the software below or changing your filesystems. I am not responsible if your phone does not work based on the method I am describing below. Modify at your own risk.
This guide had to be updated in order to correct misinformation. The guide will follow KT's instructions explicitly until it gets to the formatting of the system partition
***If you want to format your /system partition to F2FS please read that section first as it requires steps to be taken from your currently working AOSP rom!***
First, go this link download the file:TWRP-KT.ALL-IN-1.zip
http://goo.gl/HLz4al
Formatting Data and Cache to F2FS
NOTE: Follow these steps EXACTLY, do NOT add or remove any steps, period!!!!
1. Backup everything from your internal SD to your PC or external SD, since the entire internal SD is going to get wiped out with format!!!!!!!!!!
2. Download the files from the folder that you got these instructions from (Ignore the OLD WAY folder) and SAVE TO THE EXTERNAL SD!!!
3. ONLY DO THIS STEP IF YOU ARE ON AN OLD VERSION OF MY TWRP. Flash TWRP-KT.ALL-IN-1.zip (this is what gives us the ability to format using F2FS)
4. Reboot recovery
5. Go to "Settings" and check the box to force F2FS for data and cache (you can also check the box to include /system partition if you want to convert your ROM's zip to use that too)
6. Go to "Wipe->Advanced" option and wipe the "Cache" partiton
7. Go to "Wipe->Format Data" option (THIS WIPES YOUR ENTIRE INTERNAL SD CARD, all files and folders, all gone so make a backup to your external SD or PC!!!!!!!!!!!!!)
8. This step you have 2 choices:
A. Flash your ROM/gapps to start completely fresh
B. Go to restore option and ONLY restore your "Data" (you can also restore /system if you are doing the f2fs conversion on /system partition too)
9. ONLY DO THIS STEP IF YOU INSTALLED A NEW ROM. Flash my newest kernel (needs to be a kernel dated 05.05.2014 or newer)
10. DONE!!!!!!!!!!!!!
11. KTweaker has a new option under "Tools" screen to "Get Partition info" to double check your work.
Formatting System Partition with F2FS (Required: KT SGS4 Kernel 4/28 or later!)
Steps:
1.) Before doing any F2FS conversion with the above instructions, use your currently working AOSP ROM to grab the AOSP 4.4 Kernel from HERE (4/28 or later only!) and save it to your external memory card
2.) Once it is saved reboot to recovery and install it (Flashing a kernel in TWRP is Install -> Folder where kernel is -> Click KT 4/28 kernel -> Swipe to install -> Clear cache/dalvik -> Main menu -> click advanced -> Fix Permissions -> Reboot to system)
3.) After you are back in your working AOSP ROM with KT 4/28 kernel installed, download the AOSP rom you want to use and save it to your external sd card (You can leave the filename as it is, the program will rename it for you)
4.) Open KTweaker and click "Tools" and at the very bottom choose "F2FS: Convert ROM ZIP"
5.) It will ask you to locate the file, ask if you're sure, and then it will do the conversion; upon completion the zip file that was created will have "-F2FS.zip" at the end of it
6.) Now you can follow the steps above, but when you get to step 9A you will use the "-F2FS.zip" file instead of the standard ROM file
This procedure is necessary because KTweaker changes your favorite ROM to pass the command mkfs.f2fs so that your system partition is formatted to F2FS before the files are installed. I did this myself to verify and it works a treat. One crucial step to remember though is that after you install your F2FS converted ROM you absolutely must install KT's kernel so your phone will boot.
Returning to EXT4
NOTE: Follow these steps EXACTLY, do NOT add or remove any steps, period!!!!
1. Backup everything from your internal SD to your PC or external SD, since the entire internal SD is going to get wiped out with format!!!!!!!!!!
2. Download the files from the folder that you got these instructions from (Ignore the OLD WAY folder) and SAVE TO THE EXTERNAL SD!!!
3. ONLY DO THIS STEP IF YOU ARE ON AN OLD VERSION OF MY TWRP. Flash TWRP-KT.ALL-IN-1.zip (this is what gives us the ability to format using F2FS)
4. Reboot recovery
5. Go to "Settings" and uncheck the box to force F2FS for data and cache (If you checked the box to include /system partition uncheck it first)
6. Go to "Wipe->Advanced" option and wipe the "Cache" partiton
7. Go to "Wipe->Format Data" option (THIS WIPES YOUR ENTIRE INTERNAL SD CARD, all files and folders, all gone so make a backup to your external SD or PC!!!!!!!!!!!!!)
8. This step you have 2 choices:
A. Flash your ROM/gapps to start completely fresh
B. Go to restore option and ONLY restore your "Data" (you can also restore /system if you are doing the f2fs conversion on /system partition too)
9. ONLY DO THIS STEP IF YOU INSTALLED A NEW ROM. Flash my newest kernel (needs to be a kernel dated 05.05.2014 or newer)
10. DONE!!!!!!!!!!!!!
11. KTweaker has a new option under "Tools" screen to "Get Partition info" to double check your work.
FAQ
Q: Why can't I use this on Touchwiz?
A: It has been developed for the most recent Linux kernel 3.8 and has been implemented in kernels built for 4.4.x OSP builds. This isn't to say it cannot be used on Touchwiz, it is a filesystem and as long as there is a kernel that offers support for reading it installed on your device it should theoretically work on your hardware. However, this can be proven/disproven by the devs here and I will update this answer if it cannot be implemented in a backwards fashion.
Q: Are there advantages to using F2FS?
A: It is built and intended for use on flash filesystems which our devices run exclusively. So since it was developed for flash memory there will be a benefit to using it as it matures. However, this does not imply that benchmarks will increase or your whole phone will become more responsive, its intent is to have files be accessed and written more efficiently. It is supposedly also built for the long-term user who does not constantly reformat their devices because it is supposed to handle large amounts of old files and cleaning more effectively that EXT4. Source: https://www.kernel.org/doc/Documentation/filesystems/f2fs.txt
Q: Will this trip Knox?
A: No more than installing a custom recovery would. So if you already had a custom recovery (Read: TWRP, PhilZ, CWM) in place you are safe following this guide. For now of course; I do not know if there will be another iteration of Samsung software that locks down the device futher.
Q: Can I clear Cache and Dalvik to troubleshoot after changing my filesystem?
A: I tried this myself and the answer is yes. As long as you are using the F2FS custom recovery made by KToonsez you can wipe Cache and Dalvik from recovery and it will rebuild your system. Something I did notice is that first boot will stay on the splash screen longer with F2FS than with EXT4. I saw it hang on the splash screen of my Liquid rom for an extra minute before actually booting and showing cache rebuild. **Your Mileage May Vary**
Q: Why isn't the System Partition formatted into F2FS?
A: This can be done now with KTweaker. See section above.
Q: What ROMs can I use with this filesystem?
A: Any 4.4.x rom (most are 4.4.2 now) that is compatible with either KToonsez S4 AOSP kernel or Pokernel 1.7 F2FS Only.
Q: In Advanced Wipe, Preload has been added to the options of things to wipe. Should I?
A: Ktoonsez answer found HERE was that he has never wiped preload. So I suggest against it unless you know what you are doing.
Thanks
Linux, Google, and Samsung (all this neat stuff comes from those communities)
TWRP Team for their custom recovery and its updates
Ktoonsez for his awesome kernel and the modified recoveries
CPA Poke for his awesome kernel that has F2FS support baked in
LuigiBull23 for edits and reminding me to add content
XDA for giving us a place to host experimental phone procedures
The XDA Devs for all the work they do for us with their time
The XDA community for providing feedback and making this a great place to hang out
If I forgot anyone specifically please let me know and I will update this section or any section
Enjoy and let us know how it works on your device!
Great guide my friend!
delete
Thanx great guide
Sent from my SPH-L720 using XDA Premium 4 mobile app
Great guide OP! Always nice to have a thread to link to.
I'm sure it's been talked about but your posts doesn't mention the ramdisk files. They're listed but not talked about. Now I'm somewhat limited myself in understanding everything there is to know about these things but are those files to do with eventually formatting the system partition to f2fs?
May be worth putting a little note in there regarding those files... You know how some folks go flash crazy once in recovery lol
Sent from my SCH-I545 using Tapatalk
Mistertac said:
Great guide OP! Always nice to have a thread to link to.
I'm sure it's been talked about but your posts doesn't mention the ramdisk files. They're listed but not talked about. Now I'm somewhat limited myself in understanding everything there is to know about these things but are those files to do with eventually formatting the system partition to f2fs?
May be worth putting a little note in there regarding those files... You know how some folks go flash crazy once in recovery lol
Sent from my SCH-I545 using Tapatalk
Click to expand...
Click to collapse
Hello again.. Lol
The ramdisk mod is now obsolete as it's already included in the kernel zip, which will automatically determine whether you're still on EXT4 or F2FS and make the required changes to the ramdisk accordingly. So no need to flash anything but the kernel as usual after following the steps.
OK yea I figured it was either to do with what I said or to do with the kernel obviously. Just figured I'd ask anyways
Sent from my SCH-I545 using Tapatalk
I'll be the first to admit that I wasn't entirely sure what the ramdisk files were for. I knew they might have been for advanced users considering they were offered, but not listed in the instructions. I didn't know for sure and I didn't want to use the word "obsolete" because, well, I was so wrong before
I am glad LuigiBull23 jumped in and answered that for us. I'll get it added into the the guide so future users know what they are or are not used for. Keep the questions coming, I love learning about this stuff!
I'll be the first to admit that I wasn't entirely sure what the ramdisk files were for. I knew they might have been for advanced users considering they were offered, but not listed in the instructions. I didn't know for sure and I didn't want to use the word "obsolete" because, well, I was so wrong before
I am glad LuigiBull23 jumped in and answered that for us. I'll get it added into the the guide so future users know what they are or are not used for. Keep the questions coming, I love learning about this stuff!
Click to expand...
Click to collapse
I understand. A lot of people were and still are confused about these files..
In short, during the testing phases of F2FS, KT compiled a separate zip for changes to the ramdisk that in turn would reflect the EXT4/F2FS mount points as a means to avoid possible bootloops and such. It was indeed a success and as a result was included in his kernel.
Now, upon flashing the kernel it is able to determine which partitions are formatted as EXT4 or F2FS and mod the ramdisk accordingly. He only left the files on his server in case he ever needed them again. So they are most definitely OBSOLETE. You certainly wouldn't have gone wrong using the term in this case.
Updated the guide for KT's new all-in-one TWRP recovery that will allow you to switch back and forth between F2FS and EXT4. I used his exact instructions from his guide in all areas except for the system formatting section which I wrote. If you are using his custom TWRP recovery go ahead and grab the new one so you can use it in the future!
F2FS with CM11 Nightly
When I used KTweaker to convert my latest CM 11 nightly, it came back and said that it was done but could not find all the lines to modify. Is this ok?
mwilder817 said:
When I used KTweaker to convert my latest CM 11 nightly, it came back and said that it was done but could not find all the lines to modify. Is this ok?
Click to expand...
Click to collapse
I know it has been forever since you posted this and I apologize for the late answer, but I imagine that if you received that error you got a bad download of CM11. I've personally converted the snapshot and several nightlies of CM11 and they all passed nicely.
So for anyone getting this, if you get a similar error message: Re-download the ROM you are converting
to bad its still not possible with touchwiz, love to use f2fs on a stock rom for my sgs4-lte.
is it possible in the near future that we can use f2fs on those devices with a Samsung stock rom, using another kernel is no problem.
or is this hard to tell ?
Hello, I've been trying to use this to change my filesystem because I'm coming from CM12 and I'm trying to flash a GPE rom on my S4. But after flashing I am rebooting straight to recovery. Also I'm using the latest TWRP.
RealMikeyTaylor said:
Hello, I've been trying to use this to change my filesystem because I'm coming from CM12 and I'm trying to flash a GPE rom on my S4. But after flashing I am rebooting straight to recovery. Also I'm using the latest TWRP.
Click to expand...
Click to collapse
Make sure you are using a version of TWRP that support F2FS. I don't think the standard issue TWRP does. @AntaresOne has one that does support F2FS and is based on the latest version (2.8.3.0). That's the one I use. Of course, I'm hooked on his CM12 ROM as well. He does really good work!!
mwilder817 said:
Make sure you are using a version of TWRP that support F2FS. I don't think the standard issue TWRP does. @AntaresOne has one that does support F2FS and is based on the latest version (2.8.3.0). That's the one I use. Of course, I'm hooked on his CM12 ROM as well. He does really good work!!
Click to expand...
Click to collapse
But doesn't it have to be in EXT4 for it to work for a GPE ROM?
RealMikeyTaylor said:
But doesn't it have to be in EXT4 for it to work for a GPE ROM?
Click to expand...
Click to collapse
You are probably right. I haven't tried the GPE ROM yet.
Sent from my SPH-L720 using XDA Free mobile app
RealMikeyTaylor said:
But doesn't it have to be in EXT4 for it to work for a GPE ROM?
Click to expand...
Click to collapse
Yup gpe uses ext4 on all partitions because it uses tw framework
TWRP 2.7.1.0 multi-mode recovery. 2.7.1.0 v3 was the first release for p500, (thanks to @HardLight for advising, testing, and posting it. And for making a p500 OS2SD ROM to justify it.)
v1 and up are for thunderc (Optimus V/S), there's a separate thread over there in the appropriate forum.
Now with f2fs! Thanks @HardLight
OS2SD/Internal All-In-One. Switch modes under Advanced. It tells you on the title bar which mode it's in.
It'll flash gapps or PurePerformances or what have you to either the p2/p4 sdcard partitions for OS2SD or the internal partitions.
This has a special partitioner to set up your card for OS2SD. In OS2SD mode, go to Advanced then Partition. Set your sizes, it isn't aware yet of the whole card size (yet) so it'll just tell you if you go over and refuse to format it.
Whatever is left after your system/swap/data is your /sdcard size.
If it's in Internal mode the partitioner does sd-ext and swap instead. same deal, the leftover space is your /sdcard size.
Under the Wipe -> advanced menu, you can now select either system or data and press the 'repair or change filesystem' bar at the bottom, select change filesystem, select f2fs.
TLS enabled, system/data MTD swap on internal mode to match post-7/12/2014 androidarmv6 builds. Won't flash older ROMS or ones without the MTD swap correctly.
I am working on making it compatible with older builds too... but not yet. You may have to use a new update-binary to flash older zips. Or grab the older one from this zip file.
download, shared folder here:
Experimental, may be glitchy! Enjoy!
source on github
reserved
reserved against whatever need
reserved
I suspect I'll need more than one extra post to cover important stuff that won't fit in the OP.
On the portal today was announced a recovery-switcher app. One could have the mtd swapped and not-mtd swapped recoveries, or a cwm and a twrp recovery on the sdcard and use the app to switch between them. Do not know if this baby would work on a P500, though.
Would rather have a decent all-in-one, but that 5meg limitation may make this impractical (for example, the cwm has lost its sdcard partitioning functions).
bigsupersquid said:
TWRP 2.7.1.0 multi-mode recovery. v4. ...
OS2SD/Internal All-In-One. Switch modes under Advanced. It tells you on the title bar which mode it's in.
It'll flash gapps or PurePerformances or what have you to either the p2/p4 sdcard partitions for OS2SD or the internal partitions.
Experimental, may be glitchy! Enjoy!
source on github
Click to expand...
Click to collapse
So if understand correctly i'll flash the mod "buttons search<->power" & other zip files normally and not have to put the files into the rom manually or edit the updater script etc.:victory: thanks a lot
testing...
Dovidhalevi said:
On the portal today was announced a recovery-switcher app. One could have the mtd swapped and not-mtd swapped recoveries, or a cwm and a twrp recovery on the sdcard and use the app to switch between them. Do not know if this baby would work on a P500, though.
Would rather have a decent all-in-one, but that 5meg limitation may make this impractical (for example, the cwm has lost its sdcard partitioning functions).
Click to expand...
Click to collapse
that thing on portal reflashes the recovery every time to change it.
you could just as easily use flashable zip recoveries...
xdema said:
So if understand correctly i'll flash the mod "buttons search<->power" & other zip files normally and not have to put the files into the rom manually or edit the updater script etc.:victory: thanks a lot
testing...
Click to expand...
Click to collapse
that specific mod, you'd have to fix the updater-script to use it for os2sd, because it specifies MTD mounts.
mount("yaffs2", "MTD", "system", "/system");
pa_gapps and CrossBreeder and other more generic zips use
busybox mount /system
//edit: proper syntax:
run_program("/sbin/busybox","mount","/system");
instead of trying to call out the filesystem type.
bigsupersquid said:
that thing on portal reflashes the recovery every time to change it.
you could just as easily use flashable zip recoveries...
that specific mod, you'd have to fix the updater-script to use it for os2sd, because it specifies MTD mounts.
mount("yaffs2", "MTD", "system", "/system");
pa_gapps and CrossBreeder and other more generic zips use
busybox mount /system
instead of trying to call out the filesystem type.
Click to expand...
Click to collapse
i'll check the updater script, thanks for the pureperformance thinks, i discover a another method to speed up the p500 :fingers-crossed:
bump
f2fs enabled for OS2SD.
uses updater script like so:
mount("f2fs", "EMMC", "/dev/block/mmcblk0p4", "/data");
to use f2fs /data go into Wipe menu, advanced, select data checkbox, press 'repair or change filesystem' bar, change filesystem, f2fs. accept.
you only have to do that once to change from the default ext4 partition type.
it handles /system f2fs as well.
mount("f2fs", "EMMC", "/dev/block/mmcblk0p2", "/system");
change the filesystem the same way as data.
new 3.0.101 kernel but I noticed no differences in recovery except the working f2fs. Thanks @HardLight.
for now, attached .img for you who really have to experiment. I haven't tested this one very much on thunderg, just thunderc. basics tested on thunderg.
flashable zip added to shared folder linked in OP.
there's a little something extra in the shared folder...
I'm also uploading ROMs for the adventurous.
f2fs-system and f2fs-data os2sd builds if you're brave enough to try them. change both system and data to f2fs in recovery before flashing the rom unless you've already done that with an earlier version.
I don't have cell service to test but it's basically an androidarmv6 build plus 3.0.101 kernel and f2fs os2sd. everything else looks like it works to me.
I added Email, Apollo, Speech Recorder (which tunes up voice search I think), emojii in messaging and aosp keyboard, and extra wallpapers. Including Grass live wallpaper (which does actually work on armv6, it just looks for some network function and errors out ... I patched it,) and it reverts to building libcamera. Plus hackers keyboard because I like arrow and tab in terminal. No voice search in hackers keyboard though.
...
bump for twrp 2.8.0.0
no other fixes or anything, just a rev up for twrp.
I'll upload in an hour or so. //edit: well, maybe not so soon. I can't test at the moment since my o1 went into a no-boot loop. perfectly good running rom on it too. bah.
take me the evening to fix it.
bigsupersquid said:
bump for twrp 2.8.0.0
no other fixes or anything, just a rev up for twrp.
I'll upload in an hour or so. //edit: well, maybe not so soon. I can't test at the moment since my o1 went into a no-boot loop. perfectly good running rom on it too. bah.
take me the evening to fix it.
Click to expand...
Click to collapse
i'm testing your's 0509
in this you made the on boot fix?
##fix "add_tid_to_cgroup failed to write" errors
chmod 0660 /dev/cpuctl
# allow reading kernel command line
chmod 0644 /proc/cmdline
Click to expand...
Click to collapse
thanks
could you say to me if it's normal this:
i make the wipe of the /system in twrp, then if i go to "repair or change fs" it show size 390mb, used 110mb
but if i make a wipe or a "change fs", used space shouldn't be 0mb?
is the same for /data.
i un/mounted the partitions before, but have always some mb used in both.
hum minitool show me that the two f2fs partitions are fully used, maybe it can't read the f2fs, however i've formatted the partitions again in ext4 and now retry the f2fs format via twrp
edit: however, after 2nd format in the end /data have 144 mb used, /system 110mb. so i suspect it's normal
xdema said:
i'm testing your's 0509
in this you made the on boot fix?
thanks
could you say to me if it's normal this:
i make the wipe of the /system in twrp, then if i go to "repair or change fs" it show size 390mb, used 110mb
but if i make a wipe or a "change fs", used space shouldn't be 0mb?
is the same for /data.
i un/mounted the partitions before, but have always some mb used in both.
hum minitool show me that the two f2fs partitions are fully used, maybe it can't read the f2fs, however i've formatted the partitions again in ext4 and now retry the f2fs format via twrp
edit: however, after 2nd format in the end /data have 144 mb used, /system 110mb. so i suspect it's normal
Click to expand...
Click to collapse
looks normal to me, ext4 uses "only" about 16MB after format but f2fs uses a lot more.
minitool will only work right if your kernel supports f2fs and I doubt m$ware does right now.
and the fix din't get migrated from the overrides in thunderc to p500 yet, sorry, was a 'for fun' build to share after a recent repo sync.
this one probably has a built libcamera instead of the froyo as well. (reversion)
reverted to twrp 2.7.1.0
2.8 kept bootlooping my o1.
one too many passes with kdz, it's total blackout no power, and I'll have to jtag it now.
be a while before I release another update unless I find an o1 with fastboot.
bigsupersquid said:
reverted to twrp 2.7.1.0
2.8 kept bootlooping my o1.
one too many passes with kdz, it's total blackout no power, and I'll have to jtag it now.
be a while before I release another update unless I find an o1 with fastboot.
Click to expand...
Click to collapse
My 01 does have fastboot e.e
andrea210701 said:
My 01 does have fastboot e.e
Click to expand...
Click to collapse
I meant that I can use. HardLight pointed me to the method to enable it... if I hadn't completely fried my firmware. no backlight even, much less lg logo or emergency mode.
eventually I'll find another p500 for development (I can't use gsm phone on my service) but the going rate on ebay is $50 and I can't justify that for a hobby.
unfortunately it's too tweaky and time consuming for me to remotely develop by having someone else debug, so any more p500 stuff will be untested and slightly sketchy because of that.
Project [F2FS] [OS2SD]
[F2FS] [OS2SD] it can work with any other rom? Thanks.
cwm6.0.5.3oldMTDmounts_p500.zip
I do not know what it is? Sorry for the little understood...
Any PlayStore said:
cwm6.0.5.3oldMTDmounts_p500.zip
I do not know what it is? Sorry for the little understood...
Click to expand...
Click to collapse
clockwork mod v 6.0.5.3 for pre-tls roms (before androidarmv6 swapped the system and data Mount points in the kernel) used for kitkat roms around July 2014 or earlier or other 4.4 roms without the MTD partition swap
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
I've read up on the Q&A and development op. After following the instructions here is my current situation. I have the multisystem installed on a stock rooted rom(NCE w/OA1 bl). My ext sd is partitioned in two primary sections. One Fat32 and the other ext4. 50gb and 20(ish)gb. The app opens fine. I clicked install and received a toast notification on the bottom. Then I tried to flash the multisystem zip in safestrap. Flashing in multisystem was not possible for me. When I selected the zip from the multisystem "select file" option nothing appeared in the space under the option. When flash was pressed nothing happened. Anyways, I ended up flashing in safestrap. It appeared the the script was ran and my phone rebooted. The op said to wait for the green led light and set selinux to permissive. Never got that screen. I've tried it a few times now with same results. After I flashed the multisystem zip in safestrap and not getting the green led and multisystem screen on boot I tried flashing the zip in multisystem. Same result, I am unable to flash from the app. It lets me select the file. But after that it doesnt appear in the items to be flashed and pressing the flash button is met with a toast but nothing happens. I'm stuck any help is appreciated. Thanks.
stupid question. Do you have to be rooted for this to work?? Tried on locked lollipop bootlader from att and it force closes.
ecera said:
I've read up on the Q&A and development op. After following the instructions here is my current situation. I have the multisystem installed on a stock rooted rom(NCE w/OA1 bl). My ext sd is partitioned in two primary sections. One Fat32 and the other ext4. 50gb and 20(ish)gb. The app opens fine. I clicked install and received a toast notification on the bottom. Then I tried to flash the multisystem zip in safestrap. Flashing in multisystem was not possible for me. When I selected the zip from the multisystem "select file" option nothing appeared in the space under the option. When flash was pressed nothing happened. Anyways, I ended up flashing in safestrap. It appeared the the script was ran and my phone rebooted. The op said to wait for the green led light and set selinux to permissive. Never got that screen. I've tried it a few times now with same results. After I flashed the multisystem zip in safestrap and not getting the green led and multisystem screen on boot I tried flashing the zip in multisystem. Same result, I am unable to flash from the app. It lets me select the file. But after that it doesnt appear in the items to be flashed and pressing the flash button is met with a toast but nothing happens. I'm stuck any help is appreciated. Thanks.
Click to expand...
Click to collapse
You can't use the flash function until you correctly install MultiSystem. Follow OP instructions & install MultiSystem from within app; then, flash the ZIP file via FlashFire. If this doesn't work for you, send me the log file (if created at all) & /system/bin/e2fsck.
Also, you may get assistance from VZW N3 users here: http://forum.xda-developers.com/verizon-galaxy-note-3/help/qa-multisystem-android-t3089530
Billy06010 said:
stupid question. Do you have to be rooted for this to work?? Tried on locked lollipop bootlader from att and it force closes.
Click to expand...
Click to collapse
Root access is required.
Here are the two files. I odined to NCE w/OA1 bootloader because I ended up soft bricking after a failed flash attempt of the Multisystem.zip in flashfire.(no idea why that happened, I probably goofed up somewhere). Followed muniz's upgrade method for lollipop to keep root OC4 w/OA1 bootloader. Followed the steps as you said to properly install Multisystem. Same result. When I'm on lollipop when I click to add a file in the Multisystem apk it doesn't even open up the files. As it did when I was on 4.4.2 NCE. That's one difference I noticed. The reason I updated after I Odined to NCE stock was that the phone was really laggy. Overall it was the same result for me trying to install Multisystem. Again, I appreciate your help. Thank you.
I got this installed and everything looks correct, i dont see any green led on boot though. Do you need to have a second rom installed for mulisystem to show up?
Sent from my twi5ted SM-G900A using Tapatalk
ecera said:
Here are the two files. I odined to NCE w/OA1 bootloader because I ended up soft bricking after a failed flash attempt of the Multisystem.zip in flashfire.(no idea why that happened, I probably goofed up somewhere). Followed muniz's upgrade method for lollipop to keep root OC4 w/OA1 bootloader. Followed the steps as you said to properly install Multisystem. Same result. When I'm on lollipop when I click to add a file in the Multisystem apk it doesn't even open up the files. As it did when I was on 4.4.2 NCE. That's one difference I noticed. The reason I updated after I Odined to NCE stock was that the phone was really laggy. Overall it was the same result for me trying to install Multisystem. Again, I appreciate your help. Thank you.
Click to expand...
Click to collapse
It seems that you're missing some steps here. Could you please follow or this post or this one, but with skipping any device-specific steps? Just read that post to understand/find the step(s) you've missed. Also, before doing anything, you can check MultiSystem installation: http://forum.xda-developers.com/showpost.php?p=60554742&postcount=6
Rakuu said:
I got this installed and everything looks correct, i dont see any green led on boot though. Do you need to have a second rom installed for mulisystem to show up?
Click to expand...
Click to collapse
Which version have you installed? The latest version fixes LED indicator for S5 & S4.
hsbadr said:
It seems that you're missing some steps here. Could you please follow or this post or this one, but with skipping any device-specific steps? Just read that post to understand/find the step(s) you've missed. Also, before doing anything, you can check MultiSystem installation: http://forum.xda-developers.com/showpost.php?p=60554742&postcount=6
Click to expand...
Click to collapse
I followed the steps as explained in the two posts you quoted. Same result, no green LED after flashing the zip. I went to terminal emulator after flashing the zip and performed the command "mount | grep /MultiSystem" and nothing happens. I just get a new line for a different command. I went into /MultiSystem in root browser. Folder is empty. Not sure if that's normal. On a side note, Is there anyone on ATT S5 running rooted Lollipop that has successfully installed MultiSystem that can chime in?
ecera said:
I followed the steps as explained in the two posts you quoted. Same result, no green LED after flashing the zip. I went to terminal emulator after flashing the zip and performed the command "mount | grep /MultiSystem" and nothing happens. I just get a new line for a different command. On a side note, Is there anyone on ATT S5 running rooted Lollipop that has successfully installed MultiSystem that can chime in?
Click to expand...
Click to collapse
Ok, MultiSystem v1.3 will get released today.
hsbadr said:
Ok, MultiSystem v1.3 will get released today.
Click to expand...
Click to collapse
You are awesome and thanks again for helping me out.
hsbadr said:
Ok, MultiSystem v1.3 will get released today.
Click to expand...
Click to collapse
I have the latest one, my /Multisystem has some folders in it, mount | grep /Multisystem comes upbwoth proper output and running Multisysyem does give an output. Should i turn on runnkng at boot in the settings? Or is something broke that you're going to fix in 1.3?
Sent from my twi5ted SM-G900A using Tapatalk
Rakuu said:
I have the latest one, my /Multisystem has some folders in it, mount | grep /Multisystem comes upbwoth proper output and running Multisysyem does give an output. Should i turn on runnkng at boot in the settings? Or is something broke that you're going to fix in 1.3?
Click to expand...
Click to collapse
No, the on-boot commands is device-spcific kernel tweaks that are currently disabled. Check changelog in the main development thread. Mainly, it now has an option automatically mount the stock or secondary virtual IMG on boot. This has some flashing-releated considerations that I'll explain ASAP.
ecera said:
You are awesome and thanks again for helping me out.
Click to expand...
Click to collapse
You can consult @Rakuu on his successful installation of 1.3.
hsbadr said:
You can consult @Rakuu on his successful installation of 1.3.
Click to expand...
Click to collapse
I just want to double check, i'm not supposed to get any screen right? Just the green led which im supposed to press a key after seeing?
Sent from my twi5ted SM-G900A using Tapatalk
- T W R P 3.2.3-0L [Labs Mod] -
The Swiss Army Knife TWRP Mod for the Axon 7
INTRODUCTION
This was a long term project that I have been using for a long time. I created some scripts to make it easier and faster to flash new roms and quickly restore the daily driver configuration after a testing session. For easier access I modified the TWRP interface to add direct access to the scripts. They had many problems but they were good to me since I created them and I knew how to used them well, but they were not ready for other users.
But the time has come and I have cleaned up most of the annoyances in the tools and in the UI. I have named it "Labs Mod" since it allows me to have my flashing lab on the go, making it extremely easy to switch to different configurations, or recover the daily driver configuration in a few minutes. I believe it is free of major bugs and now I can concentrate on adding new scripts, and more options to the current scripts.
FEATURES
On top of the latest improvements introduced in the official TWRP 3.2.3-0, this mod offers the following added features:
Full vendor partition support (mount, format, wipe, partition image flash, TWRP backup and restore).
Integrated Bootstack backup and restore.
Modem firmware image flash
Reboot to EDL
Button to enable device mapper verity (DM-Verity) enforcing
Button to disable the eMMC write protection (disemmcwp)
Backup/Restore internal storage to the TWRP Backup folder in the external SD. Ensure you have enough free space, free space check is not yet implemented.
EDL backup zip creation. Dual zip use since the resulting zip can be installed using TWRP from the phone or using MiFlash from the computer. It offers the following package creation options:
OS: Operating system (boot, vendor and system).
GPT: Partition table only.
CONFIG: Device config data (IMEI, SN, MAC, etc).
BOOTSTACK: Boot firmware without modem.
MINIMAL: Includes GPT+bootstack+modem+recovery.
EMERGENCY: Minimal + device config.
FULL: Minimal + OS.
FACTORY: Includes Full + config.
Integrated Treble PARTY tool for creating and removing the vendor partition. Vendor partition is required for Treble ROMs. Removal is required for flashing old non-treble roms.
Lockscreen security removal. Removes password, pattern, fingerprint, etc... (in case you forget your password or the security descriptor gets corrupted).
Google account binding removal (in case you want to wipe from within recovery and test with different google accounts).
Bootloader unlock message removal.
New! Expand OS partitions (Vendor and System) to fit the whole partition. Useful for expanding the GSI filesystem for having space for adding GApps or moving apps to system.
New! Deep Wipe function performs a low level wipe of the partition data, erasing the remaining the portions of the eMMC that stored the partition information.
REQUIREMENTS
You need an unlocked Axon 7
INSTALLATION
WARNING, THIS SOFTWARE COULD WIPE ALL THE DATA IN YOUR DEVICE, INCLUDING THE INTERNAL STORAGE.
IT REQUIRES TWRP CUSTOM RECOVERY IN AN UNLOCKED DEVICE, OTHERWISE YOUR DEVICE COULD BE BRICKED.
!!! Whatever you do, it is at your own risk !!!
Follow these steps:
1. Download the TWRP Labs Mod image to your External SD card.
2. Boot to TWRP and select the Install option in the main manu.
3. Tap on the install image button and select your external SD. select the image file you downloaded, select the recovery partition and confirm.
4. Reboot to recovery again to ensure the changes are applied properly.
DOWNLOAD
TWRP_3.2.3-0L_v1.3-Axon7-Labs_Mod.img Flavor of the mod using the official TWRP 3.2.3-0 Kernel binary (Quick boot even when using F2FS, full ADB support, NO B12 Oreo encryption). Use this if you do not plan on using device encryption. Please note that you won't be able to use any tool of this version if your device is encrypted.
TWRP_3.2.3-0L_v1.3.B12-Axon7-Labs_Mod.img Device encryption enabled flavor of the Labs mod. It use the 3.2.1-8 TWRP Kernel binary (Long boot when using F2FS, NO ADB support, B12 Oreo encryption). Use this one if you use device encryption. Please note that this flavor doesn't support adb interface.
NOTES
1. I do not have the time and expertise to dig into kernel hack so this is why I do not provide a unified kernel with fast F2FS boot, ADB and B12 encryption. Probably people developing kernels could help on this issue. It would be nice having a kernel with proper F2FS boot support, B12 encryption and ADB interface. Until then, there is no other way than having 2 flavors depending on the features we require.
SOURCES
C'mon, all of them are scripts!!! the sources are at glance. Use them in your projects but don't forget to give credit to the source !!!
CREDITS
@NFound for the recovery kernel binary supporting Oreo B12 encryption.
@someone755 for the keycheck binary I use in my scripts.
@Chainfire for the TWRP install script hacks.
I hope you enjoy it as much as I did creating and learning throughout the enlightenment journey.
Nice.
Any info on the scripts that are included?
voetbalremco said:
Nice.
Any info on the scripts that are included?
Click to expand...
Click to collapse
Well, all of them are Bourne shell scripts. Some of them are stupidly simple such as those in the Reboot menu, and others in the Advanced > Oki Labs menu are very elaborated, specially:
- PARTY tool: for creating and removing the vendor partition. I released it a few days ago as a separated tool that could well work in other devices.
- EDL backup: for creating EDL flashable backups of a configuration. This tool will probably require a full thread due to the concepts involved. The big feature is that the generated zip can be also flashed using any TWRP.
- Internal Storage Backup/Restore: TWRP doesn't offer a straightforward solution for backing up the internal storage, since it is excluded from the data backup, now it is possible to create a backup and restore the contents of the internal SD in case you want to mess up with the userdata partition. Now this script creates a set of files under the TWRP/backup folder. I am planning to add the possibility of having different backup folders, the same way the GUI treats the data partition.
That is looking very sweet!!!
I'm excited, nice work man!
This is just fantastic!
Well, the non b12 version can't decrypt my device, running los 15.1
also, the lab options did nothing, and when I pressed on PARTY the recovery froze on me.
Hmm.
nfsmw_gr said:
Well, the non b12 version can't decrypt my device, running los 15.1
also, the lab options did nothing, and when I pressed on PARTY the recovery froze on me.
Hmm.
Click to expand...
Click to collapse
Well, that's why in the OP I provide 2 flavors of the mod. If you require decrypt then you have to use the B12. PARTY will not work either if your device is encrypted and you are using the 3.2.3-0L. In your case, using device encryption, you have to use the 3.2.3-0L(B12). You will have all the functions except for ADB. PARTY will work fine too.
Oki said:
Well, that's why in the OP I provide 2 flavors of the mod. If you require decrypt then you have to use the B12. PARTY will not work either if your device is encrypted and you are using the 3.2.3-0L. In your case, using device encryption, you have to use the 3.2.3-0L(B12). You will have all the functions except for ADB. PARTY will work fine too.
Click to expand...
Click to collapse
Got it.
I thought the B12 version was for stock-based ROMs.
Okay I'll flash the other one once I get home, thanks.
nfsmw_gr said:
Got it.
I thought the B12 version was for stock-based ROMs.
Okay I'll flash the other one once I get home, thanks.
Click to expand...
Click to collapse
I'll clarify it a bit more to avoid any misunderstanding. Sorry about that.
Oki said:
I'll clarify it a bit more to avoid any misunderstanding. Sorry about that.
Click to expand...
Click to collapse
Thnx for this tool ! I'll test that this weekend.
It would be great if you'd make a small guide on this with a couple of situations / a possible indepth review with screens / what's possible and what's definitely not possible with this twrp tool.
Anyway seems very promising :good:
Sheesh...i have no external sd card
I have garde flashed your TWRP_3.2.3-0L (B12) -Axon7-Labs_Mod.img but this version says when starting in twrp that my password is wrong. the version 3.2.1.8 of nfound unlocks my password quite normal
Excellent Job! I can't wait to get back my Axon 7 from RMA Services. I'm just going to need sometime to get this running coming from stock MIflavor.
Found bug. Installed the ADB version (thanks Cthulu!), wanted to check the functionality.
Went into the Storage Backup and my phone froze. Rebooting from ADB worked.
EDIT: tried to reproduce the issue - same thing happened 2nd time.
EDIT2: It freezes at any option in Oki Labs
docentore said:
Found bug. Installed the ADB version (thanks Cthulu!), wanted to check the functionality.
Went into the Storage Backup and my phone froze. Rebooting from ADB worked.
EDIT: tried to reproduce the issue - same thing happened 2nd time.
EDIT2: It freezes at any option in Oki Labs
Click to expand...
Click to collapse
I can't duplicate the issue. Are you sure you downloaded it properly? Do you have an SD card? The backup requires an SD card with enough space. Checking for free space is in the todo list for this weekend.
raystef66 said:
Thnx for this tool ! I'll test that this weekend.
Anyway seems very promising :good:
Click to expand...
Click to collapse
Not good enough!
It is downloaded properly. SD card has more than 100gb free space.
As mentioned in edit it is any option that I used in Oki Labs menu that froze my phone
docentore said:
It is downloaded properly. SD card has more than 100gb free space.
As mentioned in edit it is any option that I used in Oki Labs menu that froze my phone
Click to expand...
Click to collapse
What option are you testing? the Storage Backup? What format are you using in your SDCard? Does it happen at the beginning or after a while? Is there any file under TWRP/BACKUPS/STORAGE in your Micro SD after the failure?
@Oki this is amazing. Thank you.
Is it possible to use the recently released kernel sources from los15 to solve the issue of needing two revisions?