FORUMS

[MOD][07-08-2015][XMS] MultiRom v31x for Xperia M

886 posts
Thanks Meter: 976
 
Post Reply Email Thread
Announcement from aweosomeabhijeet: Stable release! Use NUI kernel!
Xperia Multirom

MultiROM is a one-of-a-kind multi-boot mod. It can boot any Android ROM as well as other systems like Ubuntu Touch, once they are ported to that device. Besides booting from device's internal memory, MultiROM can boot from USB drive connected to the device via OTG cable. The main part of MultiROM is a boot manager, which appears every time your device starts and lets you choose ROM to boot. You can see how it looks on the left image below and in gallery. ROMs are installed and managed via modified TWRP recovery. You can use standard ZIP files to install secondary Android ROMs and MultiROM even has its own installer system, which can be used to ship other Linux-based systems.

Features:
* Multiboot any number of Android ROMs
* Restore nandroid backup as secondary ROM
* Boot from USB drive attached via OTG cable

You can also watch a video which shows it in action.

WARNING

It is dangerous. This whole thing is basically one giant hack - none of these systems are made with multibooting in mind. It is no longer messing with data partition or boot sector, but it is possible that something goes wrong and you will have to flash factory images again. Make backups. Always.
IMPORTANT
1. I'm not responsible for anything, you do all this on your own risk.
2. Once you have flashed and set up MultiROM, don't flash another boot.img using fastboot or normally. Always go to "Advanced -> MultiROM" to flash ROMs/kernels or other mods.
3. If you want to uninstall MultiROM, just flash the MultiROM uninstaller.
4. I am not certainly sure about the compatibility with stock Roms, I still need to test this yet.
5. Your device must not be encrypted.
6. To all devs maintaing Stock-based ROMs: Feel free to use my patched stock kernels to add MultiROM support to your ROMs.
7. When booting another ROM, you'll notice that in some cases, you can enter the recovery of the boot.img of the ROM. Please don't use it, flash everything using MultiROM TWRP.
INSTALLATION
1. Make sure you are on a rom compatible with these kernels.
2. Flash the required kernel zip.
3. Flash MultiROM_TWRP-xx-xx-xxxx.img on fota partition.
4. Flash MultiRom_xx-xx-xxxx-v31x.zip
5. Done1
Adding ROMs
Go to recovery, select Advanced -> MultiROM -> Add ROM. Select the ROM's zip file and confirm.
Using USB drive
During installation, recovery lets you select install location. Plug in the USB drive, wait a while and press "refresh" so that it shows partitions on the USB drive. You just select the location (extX, NTFS and FAT32 partitions are supported) and proceed with the installation.
If you wanna use other than default FAT32 partition, just format it in PC. If you don't know how/don't know where to find out how, you probably should not try installing MultiROM.
If you are installing to NTFS or FAT32 partition, recovery asks you to set image size for all the partitions - this cannot be easilly changed afterward, so choose carefully. FAT32 is limited to maximum of 4095MB per image - it is limitation of the filesystem, I can do nothing about that.
Installation to USB drives takes a bit longer, because the flash drive is (usually) slower and it needs to create the images, so installation of Ubuntu to 4Gb image on my pretty fast USB drive takes about 20 minutes.
Enumerating USB drive can take a while in MultiROM menu, so when you press the "USB" button in MultiROM, wait a while (max. 30-45s) until it searches the USB drive. It does it by itself, no need to press something, just wait.
Updating/changing ROMs
1. Primary ROM (Internal)
  • Flash ROM's ZIP file as usual, do factory reset if needed (it won't erase secondary ROMs).
  • Go to Advanced -> MultiROM in recovery and do Inject curr. boot sector.
2. Secondary Android Rom
If you want to change the ROM, delete it and add new one. To update ROM, follow these steps:
  • Go to Advanced -> MultiROM -> List ROMs and select the ROM you want to update.
  • Select "Flash ZIP" and flash ROM's ZIP file.
SOURCEs

MultiROM - https://github.com/XperiaMultiROM/multirom/ (branch old)
Modified TWRP - https://github.com/XperiaMultiROM/an...table_recovery (branch master)
Kernel w/ kexec-hardboot patch - https://github.com/aweosomeabhijeet/...l_sony_msm8x27 (cm-Kernel)
CREDITs
  • Tasssadar
  • Alvinhochun - without his kexec patch, it would have been impossible for me, kudos to him
  • Xperia Multirom
  • Myself5
  • Every other dev behind this
If you think my work is good, please consider a small donation

Donate to me
You might want to consider a Donation to Tasssadar, who is the Mastermind behind all of this, I just ported it to the M

Donate to Tasssadar
XDA:DevDB Information
MultiRom for Xperia M, Tool/Utility for the Sony Xperia M

Contributors
aweosomeabhijeet, alvinhochun, XperiaMultirom
Source Code: https://github.com/XperiaMultiROM/multirom/


Version Information
Status: Stable
Current Stable Version: v31x
Stable Release Date: 2015-08-13

Created 2015-08-07
Last Updated 2015-08-13
Attached Thumbnails
Click image for larger version

Name:	mrom_screenshot_001.png
Views:	2280
Size:	15.2 KB
ID:	3431214   Click image for larger version

Name:	Screenshot_2015-08-06-10-45-45.png
Views:	2220
Size:	27.8 KB
ID:	3431215   Click image for larger version

Name:	Screenshot_2015-08-06-10-47-49.png
Views:	2210
Size:	36.3 KB
ID:	3431216  
The Following 18 Users Say Thank You to aweosomeabhijeet For This Useful Post: [ View ] Gift aweosomeabhijeet Ad-Free
7th August 2015, 11:17 AM |#2  
aweosomeabhijeet's Avatar
OP Senior Member
Flag Jaipur
Thanks Meter: 976
 
Donate to Me
More
Exclamation
BUGs
NO BUGS as of now

LIMITATIONs
1. For MTP to work in TWRP you need to disable and enable it again.

CHANGELOG :
Code:
2015-08-13
Stable release!
Fixed minor touch issues present in the kernel by [email protected] !

2015-08-07
Beta version
Fixed erasing primary rom with secondary
Fixed wifi

2015-08-07
Initial release!
The Following 9 Users Say Thank You to aweosomeabhijeet For This Useful Post: [ View ] Gift aweosomeabhijeet Ad-Free
7th August 2015, 11:17 AM |#3  
aweosomeabhijeet's Avatar
OP Senior Member
Flag Jaipur
Thanks Meter: 976
 
Donate to Me
More
Cool
DOWNLOADS
Kernels with kexec-hardboot support :

XMS-stock-Kexec.zip(To be flashed in recovery)(not yet tested)
XMD-stock-Kexec.zip(To be flashed in recovery)(not yet tested)
XM_CM_kexec-08-13-2015.zip(has touch screen issue)

Other kernels with kexec-hardboot support:
1. NUI kernel(kudos to dev.)

Instructions to use NUI kernel
MultiROM TWRP :

recovery.img(To be flashed on fota-partition)

MultiROM-zip :

multirom-20150813-v31x-UNOFFICIAL-nicki.zip(To be flashed in recovery)
The Following 13 Users Say Thank You to aweosomeabhijeet For This Useful Post: [ View ] Gift aweosomeabhijeet Ad-Free
7th August 2015, 05:05 PM |#4  
itsnie's Avatar
Senior Member
Thanks Meter: 219
 
More
Use sdcard class 10 to boot cm11, run very smoothly

Great work, thang's ..

Sent from my waifu
7th August 2015, 07:15 PM |#5  
manoj36's Avatar
Senior Member
Flag banglore
Thanks Meter: 53
 
More
Superb job @aweosomeabhijeet
And u can even add XMD in thread title bcoz it even works on it.. I am XMD user.. It's working well
7th August 2015, 08:26 PM |#6  
Agu_Ra's Avatar
Senior Member
Flag Lviv
Thanks Meter: 1,591
 
More
@aweosomeabhijeet, to prevent compatibility issues that may occur it will be better to use boot image repacking script (e.g. with unpackbootimg and mkbootimg utilities) that will inject new zImage (it is kernel file in your out/target/product/nicki folder) in boot image than flashing raw boot.img, so ramdisk will not be overridden (as far as I understand we don't need changes in ramdisk for kexec, do we? and even if we do, it will be better to replaced only changed files, not the whole ramdisk). Noel Macwan uses that thing in his kernels, I used his script as base for my old injecting CWM/TWRP script.

---------- Post added at 21:26 ---------- Previous post was at 20:57 ----------

BTW, what kernel sources did you use for your kexec-patched kernel? Are they Sony stock ones? Aren't they from CM12.1 repo?
8th August 2015, 02:53 AM |#7  
kjinx01's Avatar
Senior Member
Thanks Meter: 150
 
More
Smile
SUCCESS

so today i successfully flashed 3 roms on in XMD which run smoothly..the only problem i faced is patience when flashed through recovery i in usbdisk (which is obvious)..so now i dont need to wipe or format my primary rom in oder to test other builds..fabulous job @aweosomeabhijeet
Now mutlirom thread is active almost after one and half year for our xperia m...
All credits to u...
The Following 2 Users Say Thank You to kjinx01 For This Useful Post: [ View ] Gift kjinx01 Ad-Free
8th August 2015, 09:21 AM |#8  
Senior Member
Thanks Meter: 235
 
More
[deleted]
8th August 2015, 09:25 AM |#9  
aweosomeabhijeet's Avatar
OP Senior Member
Flag Jaipur
Thanks Meter: 976
 
Donate to Me
More
Quote:
Originally Posted by cucumber09

@aweosomeabhijeet, to prevent compatibility issues that may occur it will be better to use boot image repacking script (e.g. with unpackbootimg and mkbootimg utilities) that will inject new zImage (it is kernel file in your out/target/product/nicki folder) in boot image than flashing raw boot.img, so ramdisk will not be overridden (as far as I understand we don't need changes in ramdisk for kexec, do we? and even if we do, it will be better to replaced only changed files, not the whole ramdisk). Noel Macwan uses that thing in his kernels, I used his script as base for my old injecting CWM/TWRP script.

---------- Post added at 21:26 ---------- Previous post was at 20:57 ----------

BTW, what kernel sources did you use for your kexec-patched kernel? Are they Sony stock ones? Aren't they from CM12.1 repo?

Indeed a very good idea, but I am worried about pure stock users. I think the script won't work, though I haven't tried.

They are from CM repo only, I am fixing some issues will push changes to my fork of CM kernel.
The Following User Says Thank You to aweosomeabhijeet For This Useful Post: [ View ] Gift aweosomeabhijeet Ad-Free
8th August 2015, 02:28 PM |#10  
Agu_Ra's Avatar
Senior Member
Flag Lviv
Thanks Meter: 1,591
 
More
Quote:
Originally Posted by aweosomeabhijeet

Indeed a very good idea, but I am worried about pure stock users. I think the script won't work, though I haven't tried.

They are from CM repo only, I am fixing some issues will push changes to my fork of CM kernel.

We can make different zip for pure stock and for custom ROMs. But is now MR working on stock? Doesn't it have split screen bug? If yes, you should try using custom recovery graphics, and I am not familiar to C, so can't help. And BTW does stock work with CM kernel? I very doubt it. Even if it will work with stock ramdisk and CM zImage (which I doubt too, as CM kernel is built on CAF sources with some changes from stock kernel if I'm not wrong), it surely won't work with full CM boot image, so repacking script will be the best solution (I can even make it for you today if changes in initrd are not needed). And if stock will boot with CM zImage we will not have screen split bug anymore, and script also should work even with stock (as the command line is the same, and even if not, we can read it from unpackbootimg output by using `cat *.img-cmdline` for command line value in script). But building different kernels for stock and custom ROMs (all custom ROMs for our device share the same kernel source, difference is only in ramdisk, you can even boot CM11 with CM12.1 kernel if you will keep CM11's ramdisk) is better solution.
8th August 2015, 02:37 PM |#11  
aweosomeabhijeet's Avatar
OP Senior Member
Flag Jaipur
Thanks Meter: 976
 
Donate to Me
More
Quote:
Originally Posted by cucumber09

We can make different zip for pure stock and for custom ROMs. But is now MR working on stock? Doesn't it have split screen bug? If yes, you should try using custom recovery graphics, and I am not familiar to C, so can't help. And BTW does stock work with CM kernel? I very doubt it. Even if it will work with stock ramdisk and CM zImage (which I doubt too, as CM kernel is built on CAF sources with some changes from stock kernel if I'm not wrong), it surely won't work with full CM boot image, so repacking script will be the best solution (I can even make it for you today if changes in initrd are not needed). And if stock will boot with CM zImage we will not have screen split bug anymore, and script also should work even with stock (as the command line is the same, and even if not, we can read it from unpackbootimg output by using `cat *.img-cmdline` for command line value in script). But building different kernels for stock and custom ROMs (all custom ROMs for our device share the same kernel source, difference is only in ramdisk, you can even boot CM11 with CM12.1 kernel if you will keep CM11's ramdisk) is better solution.

Actually you are getting it wrong!
1. We would not have any screen shift bug
2. Every ROM we boot from multirom can use it's own kernel irrespective of what kernel is installed in the device. (That's the benefit of kexec-hardboot)
3. I have a better idea for maintaing stock and all. Will upload new zip soon. I would like to use parts of your script if you don't mind.
Post Reply Subscribe to Thread

Tags
development

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes