Related
Disclaimers :
#i am no-developer.im just a geek xperian..like many of u.i have created this ,my first ever thread typing on my mob keypad.so forgive me for short words and untidy post.
#links included below is noway related to me.respective links are included as per my findings to support the main moto of this thread.im thankfull to all of them who have tried to scratch on this through their posts and threads
#with all do respect,this thread is intended for our devs who can take this as pre-requsites for development.
#its a humble request for devs to put there effort on this.
#i request all xperians...from devs to simple users...whoever thinks this post worth discussing/developing,ur valueable words on this are highly appreciated.
#and please no trollers
Click to expand...
Click to collapse
I was doodling around today,i got my eyes poped-up wen i encounterd this
[samsung kernel flashing from cwm zip] -> http://forum.xda-developers.com/showthread.php?t=1301756 and this
[samsung general cwm kernel updater] ->http://forum.xda-developers.com/showthread.php?t=2132208
It all began then when i had to be far from my pc.then flashing new kernls for new custom roms began to be a problem.i presume their are a lot of users like me who cant access pc with as ease as many can.or simply to them who dont want to connect to pc just to flash kernels.if this would be success,just imagine how ease it would be?
But before starting to dream lets put together what i have come across till now.
Then i started digging more...on google & found this Tutorial [many devs might be intrestd &could help xperia users& start to run xperiment in our xperia ] --> http://www.modaco.com/topic/360180-howto-build-and-update-kernel-using-cwm/
In my findings i did aknowledge that this matter has/have/had been left out in corner just for some taboos/nerms like our xperia doesnt ship with normal recovery partition or like our custm recovry doesnt support some disk formats.
But whatsoever, i was little arosed by above things....then came a point whereafter i was too excited,wen i found this in our very xperia forum,xperia p forum ->> http://forum.xda-developers.com/showthread.php?t=2409021
Here the dev has created a zip with updatr script writng the kernel image,which stays inside the boot.img file .i couldnt dig more on this zip,as it was not so popular thread.i dont even know for it works or not,all i know is there are devs wanting to build,which is the main moto of this thread to let devs rethink the possibilty.
And yes, its a convincing reason for acceptance that our xperia doesnt have recovry partition like as other vendors device..and what we get as a recovry is hard coded to ramdisk.but like as ,A xperia s user,i too want to question an enlightning point on this...like using recovry fota partition,wich gets blokd and remains unusable aftr bootloader unlockd....why not use that...if not what about repartitioning empty space in device for recovry usage partition... http://forum.xda-developers.com/showthread.php?t=2163643
i too presume, even though we dont have that heavy intrnl space,but i guess we have enough for just a recovry partition.i guess so.correct me.
FOTA partition :
The FOTAKernel partition is used by Sony to do FOTA updates when updating the boot image. Unlocked devices can't take Sony FOTA updates so using this partition for storing the recovery ramdisk seems like a good idea. Unlocked users aren't able to use this partition anyway and the FOTAKernel partition is effectively the "recovery" partition on Sony devices.
Kernel changes : extract_elf_ramdisk setup in kernel
if some body wants a detailed info it can be found here (( **thanks to @officiallysonyrebel ,for the supportive conversation.above words are his ** )) -- http://forum.xda-developers.com/showpost.php?p=38640389&postcount=2
*** Summing up in total ***
It may b a horizon-touching dream..but as a geek user, like me,we dream of it.
Our charming devs can unlock bootloaders/root/giv us custm roms/give us a taste with unimaginable upgrowing ever, android version updates in roms/ ports.these all would also be impossible without their immense hardwork/researchs/xperimnts...i do aknowledge its a lot to ask for this.but with all do respect i wish devs get ther hands on it.
I predict most of xda-ians might already know abt all this,if yes do enlighten us more...ur comments and findings are most needed thing currently.
but truely saying i really dream of using cwm @ its maximum capacity,as of its easeness,isnt it? Different vendors like samsung,zte,etc evn can get rooted simply from cwm only...even most htc can. So why cant our xperia?is it coz of less devs in our xperia?i humbly request all devs to put some work on this so that me,like users who cant access pc with ease/dont want to,can easily get the work done.i also presume there r a lot of xperians,who want this.it cant be more handy than this...can it?
Hope in near future ,we xperians could getwith like these features as others.(rootng/flashng kernels from cwm).
Cheers!!
Xperia-lover!!
Most Xperia kernels are probably including CWM by default in the boot image. About a month ago Dees_Troy submitted some changes to the CyanogenMod repos that were accepted. Newer builds of CM include a special extract_elf_ramdisk utility that Dees_Troy wrote to read and extract a recovery ramdisk from the FOTAKernel partition instead of using the ramdisk that is included in the boot image. If the ramdisk in the FOTAKernel partition is a stock Sony ramdisk or not present, then the existing ramdisk in the boot image is used instead. This setup allows users to choose which recovery they want to keep installed.and whole a lot possibilites
but my major concern is if after unlocking bootloader FOTA partition gets blocked then how can we access it ..
so, first we have to acess FOTA partion then we can start dreaming on
officiallysonyrebel said:
Most Xperia kernels are probably including CWM by default in the boot image. About a month ago Dees_Troy submitted some changes to the CyanogenMod repos that were accepted. Newer builds of CM include a special extract_elf_ramdisk utility that Dees_Troy wrote to read and extract a recovery ramdisk from the FOTAKernel partition instead of using the ramdisk that is included in the boot image. If the ramdisk in the FOTAKernel partition is a stock Sony ramdisk or not present, then the existing ramdisk in the boot image is used instead. This setup allows users to choose which recovery they want to keep installed.and whole a lot possibilites
but my major concern is if after unlocking bootloader FOTA partition gets blocked then how can we access it ..
so, first we have to acess FOTA partion then we can start dreaming on
Click to expand...
Click to collapse
Ya i had read in the link u dirctd...i got to know that aftr unlockng bootloadr, that partition becomes unusuable/inaccessble.if that could be attained...then we can hope...isnt it?if i undrstud... wish devs could wave their magicstick soon.
Sent from my Xperia Ray using xda premium
I'm not sure but what about installing the recovery in /system?
Then we could write a script that detects if the recovery is installed in /system and it will choose the /system recovery over the kernel recovery while booting in recovery. Then we could try mounting the kernel partition and flash the boot.img. Then you flash a zip to remove the /system recovery and boot the new kernel
Not sure if that's possible, and don't have any idea how to do that. It was just an idea :good:
Sent from my Nexus 4 running Android 4.3
mihahn said:
I'm not sure but what about installing the recovery in /system?
Then we could write a script that detects if the recovery is installed in /system and it will choose the /system recovery over the kernel recovery while booting in recovery. Then we could try mounting the kernel partition and flash the boot.img. Then you flash a zip to remove the /system recovery and boot the new kernel
Not sure if that's possible, and don't have any idea how to do that. It was just an idea :good:
Sent from my Nexus 4 running Android 4.3
Click to expand...
Click to collapse
we can't do it in /system basicially we have to do this thing using only FOTA partition ..but our main concern is when we unlock our bootloaders that partition becomes inaccesible for us...
if we somehow gets access to FOTApatition then script will do work..
mihahn said:
I'm not sure but what about installing the recovery in /system?
Then we could write a script that detects if the recovery is installed in /system and it will choose the /system recovery over the kernel recovery while booting in recovery. Then we could try mounting the kernel partition and flash the boot.img. Then you flash a zip to remove the /system recovery and boot the new kernel
Not sure if that's possible, and don't have any idea how to do that. It was just an idea :good:
Sent from my Nexus 4 running Android 4.3
Click to expand...
Click to collapse
Nope...You are still using the same kernel....just booting from different ramdisk when "installed in /system"...
We need to boot from a "second" kernel which can be used to flash the primary kernel ...Most other phone can boot into two kernels ,one stock and one recovery ,hence they can be used to flash kernels via recovery and use flash_image to install recovery in system ...
The problem is not where kernel/recovery is installed
The problem is how to boot the secondary kernel after installation ...It's very difficult to do that ...
lets say I dd the recovery.img to /mmcblk0p4 which is the fourth partition in an SD card
How do I instruct the bootloader to boot the device from /mmcblk0p4(or fota 1 or whatever) instead of /boot ...Thats the problem ...
Okay that's sad
But what about checking the partitions and if we know which blocks contain the Fota partition, could we try to mount it?
The problem would be how to tell the bootloader to boot the recovery or the 2nd kernel right?
Sent from my Nexus 4 running Android 4.3
Still the same problem ,how to instruct the bootloader to boot from fota 1 instead of /boot !!
Check that. It's exactly the same what we want to do, right?
Okay not exactly but we could use that too. But I'm not sure if he is able to install another kernel in the recovery...
Sent from my Nexus 4 running Android 4.3
mihahn said:
Check that. It's exactly the same what we want to do, right?
Sent from my Nexus 4 running Android 4.3
Click to expand...
Click to collapse
Exactly ...we can use Multi partitioned SD card but thats extremely wishful thinking ...Also we need a lot of devices to brick :rofl:
Edit: He can use recovery to install kernels since ,the S1 boot boots LK from mmcblk0p4 (equivalent to /boot) which in turn gives an option to boot to fota1(which is recovery ) or the mmcblk016(which is the new place from which the system boots)
karandpr said:
Exactly ...we can use Multi partitioned SD card but thats extremely wishful thinking ...Also we need a lot of devices to brick :rofl:
Edit: He can use recovery to install kernels since ,the S1 boot boots LK from mmcblk0p4 (equivalent to /boot) which in turn gives an option to boot to fota1(which is recovery ) or the mmcblk016(which is the new place from which the system boots)
Click to expand...
Click to collapse
But later in OP they said it could be possible to reflash the stock rom to restore the partition table. So if we don't touch fastboot and flashmode partitions we should be able to recover the phone
I wrote the OP a PM if he could help us, let's see what happens
Sent from my Nexus 4 running Android 4.3
mihahn said:
But later in OP they said it could be possible to reflash the stock rom to restore the partition table. So if we don't touch fastboot and flashmode partitions we should be able to recover the phone
I wrote the OP a PM if he could help us, let's see what happens
Sent from my Nexus 4 running Android 4.3
Click to expand...
Click to collapse
Unlike them we aren't modifying partitions ...we can use multi SD card but then we need to get SD card mounted by LK ...
There is a fundamental diffrence in two phones ,that they are using an emmc+ext4 and we are using a raw nand/yaffs device . i think the difference is night and day ...I dont think we can modify partitions easily ...
If however we get to mount SD card with LK then it's a different story ...
karandpr said:
Unlike them we aren't modifying partitions ...we can use multi SD card but then we need to get SD card mounted by LK ...
There is a fundamental diffrence in two phones ,that they are using an emmc+ext4 and we are using a raw nand/yaffs device . i think the difference is night and day ...I dont think we can modify partitions easily ...
If however we get to mount SD card with LK then it's a different story ...
Click to expand...
Click to collapse
So you mean we partition the sdcard and use a partition as the recovery partition?
I read about that with multiboot for xperia play (I guess). So maybe it could work for us too?
Sent from my Nexus 4 running Android 4.3
mihahn said:
So you mean we partition the sdcard and use a partition as the recovery partition?
I read about that with multiboot for xperia play (I guess). So maybe it could work for us too?
Sent from my Nexus 4 running Android 4.3
Click to expand...
Click to collapse
it's more logical(and safer) than editing nand ...AFAIK ,the partition setup of nand is included in kernel ...we can partition SD card to whatever we want and is more feasible
karandpr said:
it's more logical(and safer) than editing nand ...AFAIK ,the partition setup of nand is included in kernel ...we can partition SD card to whatever we want and is more feasible
Click to expand...
Click to collapse
Okay so how to start? What could we do to get the project to a higher level?
We have to find out how to get the bootloader to boot the 2nd kernel/recovery partition, right?
Sent from my Nexus 4 running Android 4.3
mihahn said:
Okay so how to start? What could we do to get the project to a higher level?
We have to find out how to get the bootloader to boot the 2nd kernel/recovery partition, right?
Sent from my Nexus 4 running Android 4.3
Click to expand...
Click to collapse
Not really ....we can attempt/try/wish to do what the Xperia T folks did ,flash a bootloader at /boot instead of boot image ...
First thing we really need to know how actually LK works and can it be made to boot a kernel stored in a memory card ,
Editing a nand partition is currently out of question imo ,there is no free space for two kernels...
Edit : TBH ,We should look at HTC HD2 development more than anything since that section has "Android SD development" and Nand development ..
Even saying that we might just be scratching the surface :/
karandpr said:
Not really ....we can attempt/try/wish to do what the Xperia T folks did ,flash a bootloader at /boot instead of boot image ...
First thing we really need to know how actually LK works and can it be made to boot a kernel stored in a memory card ,
Editing a nand partition is currently out of question imo ,there is no free space for two kernels...
Edit : TBH ,We should look at HTC HD2 development more than anything since that section has "Android SD development" and Nand development ..
Even saying that we might just be scratching the surface :/
Click to expand...
Click to collapse
Yes the HTC HD2 has great development support and I already worked with a HD2 of a friend, but I have actually no idea how to use the method they are using for the HD2 for our devices. I think I will dive into it when I'm back at home from my vacation trip
Sent from my Nexus 4 running Android 4.3
maybe at deeper lok of possibiltes
i was searching on sd card booting nd found this
http://glasskeys.com/2011/06/27/how...-card-running-cyanogenmod-for-the-nook-color/
we need to make a seprate partition and kernel to use triggers to boot like we always do but it will call from SD card..
i think it may not work cause calling a kernel from SD card
officiallysonyrebel said:
maybe at deeper lok of possibiltes
i was searching on sd card booting nd found this
http://glasskeys.com/2011/06/27/how...-card-running-cyanogenmod-for-the-nook-color/
we need to make a seprate partition and kernel to use triggers to boot like we always do but it will call from SD card..
i think it may not work cause calling a kernel from SD card
Click to expand...
Click to collapse
Ehh...no it won't work ...the S1boot boots only from /boot...
The thread you cited is too old and worked probably due to an exploit in nook color ...
I think something like LK should work ,provided it waits for sd card to mount...
officiallysonyrebel said:
we can't do it in /system basicially we have to do this thing using only FOTA partition ..but our main concern is when we unlock our bootloaders that partition becomes inaccesible for us...
if we somehow gets access to FOTApatition then script will do work..
Click to expand...
Click to collapse
Correct me if i m wrong.its a noobish thought.
Can we access fota partition before bootloader is unlocked?if we can so what r we waiting for?
lets rehearse for the magick show,do what u have thought of.
(I presume when device is still locked....or if we revert back to locked state from unlocked... we could acces that partition.. .we get space for secondry kernel...if still quesn is letting bootloader know we want to boot from that,then again we r far behind)
Sent from my Xperia Ray using xda premium
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
Will this work on the s5 active version?
jasonj711 said:
Will this work on the s5 active version?
Click to expand...
Click to collapse
Maybe; it works on ARM-based Android devices with microSD card. Howerver, it's currently tested on the devices listed here. You may test it (backup all your files/ROM!) & report back.
Looking forward to trying this out. I've been waiting for a solid MultiBoot solution for some time. Kudos.
Sent from my SM-N910P using XDA Premium 4 mobile app
Sorry, I'm a bit confused as to how one installs a ROM into an img. Whenever I mount an img and try selecting a flashable zip file it returns "file selected: null"
Am I doing something incorrectly?
U kind Sir a genius and a god-send.
Quick Question:
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
Does it mean that we have to wait for this functionality yet or can I use SimplRom or Dr Ketan's Rom as Primary ROM and CM12 as secondary ROM.
Also the MiniTool Partition does not see the phone's SD card. I have a Note 4 International version (N910F).
Thank U and plz forgive the noob question (if the answer is obvious), I have just recently started using Android.
Alright, so whenever I try flashing a ROM the red LED turns on and then quickly off again. Here's my log http://pastebin.com/txN8mSjq
ok a dumb question. do you recommend a special tutorial to show how to convert a zip rom to img rom
Yeah. Support for this is terrible so i gave up.
from my Samsung Galaxy S5 SM-G900T on AT&T, Android 5.0. DOB1 with twi5ted lollipop 5.0 ROM v6
So I installed this and read the Q&A (which tells you what it does) . Now is there instructions somewhere on how to use it?
Dhs92 said:
Sorry, I'm a bit confused as to how one installs a ROM into an img. Whenever I mount an img and try selecting a flashable zip file it returns "file selected: null"
Am I doing something incorrectly?
Click to expand...
Click to collapse
Anubis22666 said:
U kind Sir a genius and a god-send.
Does it mean that we have to wait for this functionality yet or can I use SimplRom or Dr Ketan's Rom as Primary ROM and CM12 as secondary ROM.
Also the MiniTool Partition does not see the phone's SD card. I have a Note 4 International version (N910F).
Thank U and plz forgive the noob question (if the answer is obvious), I have just recently started using Android.
Click to expand...
Click to collapse
Dhs92 said:
Alright, so whenever I try flashing a ROM the red LED turns on and then quickly off again. Here's my log http://pastebin.com/txN8mSjq
Click to expand...
Click to collapse
BACARDILIMON said:
ok a dumb question. do you recommend a special tutorial to show how to convert a zip rom to img rom
Click to expand...
Click to collapse
jt1998 said:
Yeah. Support for this is terrible so i gave up.
Click to expand...
Click to collapse
jir591 said:
So I installed this and read the Q&A (which tells you what it does) . Now is there instructions somewhere on how to use it?
Click to expand...
Click to collapse
Click to expand...
Click to collapse
I'm working with Rootjunky to create a full video tutorial that describes everything to make it easier for you.
As for kexec support for unlocked devices, this has not been implemented yet. MultiSystem supports many devices & so, there'll be delays in responding to all questions in all threads.
thanks for making the video. I think it will help a lot of people.
jt1998 said:
Yeah. Support for this is terrible so i gave up.
from my Samsung Galaxy S5 SM-G900T on AT&T, Android 5.0. DOB1 with twi5ted lollipop 5.0 ROM v6
Click to expand...
Click to collapse
It a work in progress and I am willing to bet when he gives us video we flash junkies will love this . changing rom to fit our mood. I will take it.
---------- Post added at 01:36 AM ---------- Previous post was at 01:35 AM ----------
hsbadr said:
I'm working with Rootjunky to create a full video tutorial that describes everything to make it easier for you.
As for kexec support for unlocked devices, this has not been implemented yet. MultiSystem supports many devices & so, there'll be delays in responding to all questions in all threads.
Click to expand...
Click to collapse
Thank you for all your hard work.
I have a question. I know you recommend a good base but lets say I keep stock image a odex . most roms are deodex will that cause any issues?
BACARDILIMON said:
I have a question. I know you recommend a good base but lets say I keep stock image a odex . most roms are deodex will that cause any issues?
Click to expand...
Click to collapse
It doesn't matter! I like the ODEXED ROMs for stability & memory while DEODEXED ROMs are great for customizations... So, basicly, I use the stock ODEXED on Stock partition & DEODEXED ROMs for the virtual systems.
An f2fs question
Down!grading my Nexus7 2012 Since last OTA it became way too sluggish and a battery monster.
Maybe going to f2fs but not sure quite what I'll be getting.
It's not very clear what a converted ROM will normally have converted, is all file access F2FS or is System partition access left EXT-4.
I've seen "All-F2FS" in a few places, does this indicate all file access is F2FS?
It would be useful to know as before flashing you have to re-format partitions which need F2FS
Elsewhere on XDA I've seen:
The kernels in ROMs with F2FS support, and those made with a converter, mostly support only data partition to be F2FS.
You can add a modified Kernel that support F2FS for data, system and cache. (but I can only find Nexus 5 Modified Kernels).
(From developer of windows script conversion tool) "I have atm stopped development for this Tool as im back on ext4.
Reason for reverting back is its not really helpful on the system partition in my view.since system is a read only partiton. If you format /data into F2FS you'll be at the same performance level as with the System one".
I've not been able to ask what he means as (at the moment) I'm not allowed posts in the developer forums. System is not written to and f2fs has no speed benefit on read only?
? I need a modified ROM only for All-f2fs. If I have stock lollipop on my N4 and have f2fs compatible kernel and recovery, can I simply convert my data and cache partitions to f2fs
A: Yes that should work.
A: I would think you would have to edit your ROM’s fstab to show the partitions as F2FS
If you're wondering what the Convert to F2FS app does... I do know that it injects the Lego Kernel with all-F2FS support into the ROM. I'm not really sure what else is going on.
The Lego Kernel is what allows the device to use the F2FS file system.
? ROM type, f2fs / f2fs-all / any with f2fs kernel
? if just kernel: ? f2fs / f2fs all
? Does anyone have, or know of, a good explanation??
Thanks,
- T R E B L E Y -
Android Partition Treblerizer
A tool able to seamlessly create / remove the vendor partition from within TWRP
INTRODUCTION
The creation of a tool able to create and remove the supplier partition from TWRP, so a computer was not required. So I created this flaming TWRP ZIP which can create and remove the vendor partition from the userdata system or partitions without a computer and without deleting the files in the mother partition in the recommended configuration.
Trebley, finally, also expands on our much loved Galaxy Note 8, bringing with it Project Treble on the much loved device.
The tool will try to resize the mother partition without deleting it, either during the creation and removal of the supplier partition. However, this can only be done when the mother partition is ext4, only when the supplier partition is at the end of the mother partition and when the mother partition is not encrypted. The recommended configuration is the one that is obtained by selecting the first option in each option: subdividing 512 MB from the end of the system partition. A reboot is required after applying the patch to the partition table because the kernel needs to reload it before doing anything else.
REQUIREMENTS
Due to the use of a key detection binary, it is compatible only with ARM and ARM64 devices running TWRP. So far I have tested it in the Samsung Galaxy Note 8 but It should work in any compatible device. I made it this way so other legacy devices could transition to Treble ROMs + GSI, and Android Pie. Please let me know about other devices using this tool!!!!!
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 AND IF YOU FOLLOW MY STEPS BELOW, YOU WILL LOSE YOUR WARRANTY, KNOX WILL DISPLAY 0x1! I'M NOT RESPONSIBLE FOR ANY DAMAGED DEVICE!.
!!! Whatever you do, it is at your own risk !!!
Either for creating or removing a vendor partition, follow these steps:
1. Download the TWRP ZIP tool to your External SD card.
2. Boot to TWRP recovery, under Install, flash the ZIP file as any other ROM or MOD file to execute the tool.
3. Reboot to recovery again to ensure the changes are applied properly.
4. In some cases you will need to format the mother partition after adding or removing the vendor partition next to it.
CREATE A VENDOR PARTITION:
So far these are the available options:
Mother partition selection: system / userdata
Split position: Splitting from the end / start of the mother partition.
Vendor partition size: 512 / 915 MB
REMOVE THE VENDOR PARTITION:
Should a Vendor module already exists, Trebley offers to remove it, returning to a Non-Treble partition table. It will return the space to the mother partition, system or userdata. So, older non Treble ROMs could be flashed after the mandatory reboot.
DOWNLOAD
Trebley_APT_v1.0_ARM_20190215-signed.zip
SOURCES
All rights reserved to the project: Party and its creator(@Oki).
CAUTION
Currently, we recommend the use of Trebley, exclusively to developers, as until now there has been no development of material related to the project treble, this project lays the foundations creating the partition vendor, for the support treble.
CREDITS
@someone755 for the keycheck binary
@Zackptg5 for the V4A install script that inspired my version.
@Oki for the base script.
XDA:DevDB Information
[PARTITION][TREBLE] Project Treble for Samsung Galaxy Note 8 [SM-N950F][15.02.2019], Tool/Utility for the Samsung Galaxy Note 8 (2017 Phone)
Contributors
DarioRetr
Source Code: https://forum.xda-developers.com/axon-7/development/tool-party-v0-1-vendor-partition-t3831517
Version Information
Status: Alpha
Current Stable Version: V1.0
Stable Release Date: 2019-02-26
Current Beta Version: V0.5
Beta Release Date: 2019-02-15
Created 2019-02-17
Last Updated 2019-02-17
oh my lord - it is happening. treble for the Note8 - just think of the possibilities :victory:
thank you unbelievably much:highfive:
WOAH dude! Finally its happening
edit: tried this and any combination i try i get a Error 2 error!
Any ideas? Or should i try this with a full wipe and try and flash it?
joluke said:
WOAH dude! Finally its happening
edit: tried this and any combination i try i get a Error 2 error!
Any ideas? Or should i try this with a full wipe and try and flash it?
Click to expand...
Click to collapse
Dont flash this yet. There's no rom compatible with this. Note that this is just a script to create partition.
v0ne said:
Dont flash this yet. There's no rom compatible with this. Note that this is just a script to create partition.
Click to expand...
Click to collapse
Ups
I'll keep it for the future then ^^
Guys, this script is currently recommended for use only you have developer, make the device compatible for Project Treble, but you need some developer of the scene, compatibilizzai kernel source for project treble, and give you the vendor.img and boot.img including a custom twrp, to be able to use a GSI and then project treble.
Furthermore, the operation of the script on all versions of Note 8 is not guaranteed.
Oh my god, here it is, but I hope that it doesnt end in the first build like everything else for note 8
Thanks devs but please dont quit now
This is insanely good work. This is so cool :laugh:
Deleted
I flashed this and got an error in TWRP.
Most likely because /dev/block/bootdevice doesn't exist on Note8, but this script is searching for that.
Shadow7107 said:
I flashed this and got an error in TWRP.
Most likely because /dev/block/bootdevice doesn't exist on Note8, but this script is searching for that.
Click to expand...
Click to collapse
What model do you have of Samsung Galaxy Note 8?
For advice and support, I suggest you join the Trebley - Making the future group!
https://t.me/joinchat/I5PCthNlYmrJ4YQY8xxXSg
Hello,
is there a way to flash the dtb partition using TWRP ?
I can flash bootloader, boot, system easily using twrp. But since there is no /block device for the dtb partition its not as easy like the other partitions.
Just dd'ing to /dev/dtb does not work, too.
I need to flash 13 devices mounted in a Server Rack, so it would be nice to do this by twrp and not by usb.
Greetings,
chris
Hi!
Did you ever find an answer to your question?
I figured out that /dev/dtb seems to be picking up data from either /dev/block/[email protected] or /dev/block/reserved/@0x440000, there are two identical copies of gzipped dtb.img there.
P.S. Reading the driver code I see that you can just write dtb/multi-dtb into /dev/dtb and it will be stored into both copies on /reserved partition
I wasn't brave enough to try and flash them on a running TV and risk bricking it though