[MOD][FEB 10] MultiROM v33

.MoHaMaD

Senior Member
Mar 19, 2012
287
1,011
133
Here the upload of zip file updated with your script for Flo.
Finally my Multirom is working again with Marshmallow 6.0 MRA58V.
Tested in my N7.

Enviado do meu Nexus 7 através de Tapatalk
working

i have MoHaMaDRoM w/ Elemental-X on Primary and pure_nexus as Secondary

Thanks :eek:
 

Attachments

Last edited:

GuyInTheCorner

Senior Member
Feb 18, 2012
3,515
608
0
London
Okay, just so I get this straight:
I already have 32a installed w/ the custom recovery. All I need to do to get MM working with MultiROM is flash multirom-20151113-v32-UNOFFICIAL-deb.zip?

Cheers in advance guys, I'm slightly confused after reading the last few pages
 

QuietusPlus

Senior Member
Oct 30, 2012
52
22
0
Not sure if mentioned before, but there is currently an issue with the CM13 updater-script. The installer returns "system partition has unexpected contents after OTA update" when attempting to flash. The script can be modified to work by doing the following:
  1. Open cm-13.0-201512##-NIGHTLY-flo.zip
  2. Navigate to "\META-INF\com\google\android"
  3. Extract updater-script and modify it using the example below.
  4. Replace the original updater-script within the .zip.
  5. Flash modified CM13 .zip.
Original

Code:
if range_sha1("/dev/block/platform/msm_sdcc.1/by-name/system", "28,0,32767,32768,32770,32825,32827,33307,65535,65536,65538,98304,98306,98361,98363,98843,130863,131072,131074,163840,163842,163897,163899,164379,169016,196608,196610,197090,215039") == "48415cce2a9134753f377a68cdd8765415275103" then
if range_sha1("/dev/block/platform/msm_sdcc.1/by-name/system", "34,32767,32768,32770,32825,32827,33307,65535,65536,65538,66050,97792,98304,98306,98361,98363,98843,130863,131072,131074,131586,163328,163840,163842,163897,163899,164379,169016,169528,196096,196608,196610,197090,215039,215040") == "2e33035f18150942c354c3015b441f0d079ae37b" then
ui_print("Verified the updated system image.");
else
  abort("system partition has unexpected non-zero contents after OTA update");
endif;
else
  abort("system partition has unexpected contents after OTA update");
endif;
Modified

Code:
if range_sha1("/dev/block/platform/msm_sdcc.1/by-name/system", "28,0,32767,32768,32770,32825,32827,33307,65535,65536,65538,98304,98306,98361,98363,98843,130863,131072,131074,163840,163842,163897,163899,164379,169016,196608,196610,197090,215039") == "48415cce2a9134753f377a68cdd8765415275103" then
ui_print("Verified the updated system image.");
else
if range_sha1("/dev/block/platform/msm_sdcc.1/by-name/system", "34,32767,32768,32770,32825,32827,33307,65535,65536,65538,66050,97792,98304,98306,98361,98363,98843,130863,131072,131074,131586,163328,163840,163842,163897,163899,164379,169016,169528,196096,196608,196610,197090,215039,215040") == "2e33035f18150942c354c3015b441f0d079ae37b" then
ui_print("Verified the updated system image.");
else
  abort("system partition has unexpected non-zero contents after OTA update");
endif;
endif;
 
  • Like
Reactions: drewski_1

tungdil

Senior Member
Jan 30, 2013
86
65
0
Hometown
@QuietusPlus Thank you very much!

There is an easier solution though, IMHO (that will work for other CM-based ROMs as well). Just comment out the lines, i.e. add a hash (#) at the beginning of each line, like so (these lines are from crDroid ROM):
Code:
[COLOR="Red"]#[/COLOR]ui_print("Verifying the updated system image...");
[COLOR="Red"]#[/COLOR]if range_sha1("/dev/block/platform/msm_sdcc.1/by-name/system", "28,0,32767,32768,32770,32825,32827,33307,65535,65536,65538,98304,98306,98361,98363,98843,131071,131072,131074,163840,163842,163897,163899,164379,166302,196608,196610,197090,215039") == "947e1e12c28b4b0f3dcbc867bc410f4786c1bc11" then
[COLOR="Red"]#[/COLOR]if range_sha1("/dev/block/platform/msm_sdcc.1/by-name/system", "34,32767,32768,32770,32825,32827,33307,65535,65536,65538,66050,97792,98304,98306,98361,98363,98843,131071,131072,131074,131586,163328,163840,163842,163897,163899,164379,166302,166814,196096,196608,196610,197090,215039,215040") == "3c55b4dff8589604d8415155d43f0c20ee30e799" then
[COLOR="Red"]#[/COLOR]ui_print("Verified the updated system image.");
[COLOR="Red"]#[/COLOR]else
[COLOR="Red"]#[/COLOR]  abort("system partition has unexpected non-zero contents after OTA update");
[COLOR="Red"]#[/COLOR]endif;
[COLOR="Red"]#[/COLOR]else
[COLOR="Red"]#[/COLOR]  abort("system partition has unexpected contents after OTA update");
[COLOR="Red"]#[/COLOR]endif;
 

nkk71

Inactive Recognized Developer / Inactive Recognize
May 26, 2010
8,743
7,570
0
49
Beirut
I don't know your device, but you may need to look at variants shell script too, if that exists on your device / ROM

Sent from my HTC One M9 using Tapatalk
 

QuietusPlus

Senior Member
Oct 30, 2012
52
22
0
@QuietusPlus Thank you very much!

There is an easier solution though, IMHO (that will work for other CM-based ROMs as well). Just comment out the lines, i.e. add a hash (#) at the beginning of each line, like so (these lines are from crDroid ROM):
Code:
[COLOR="Red"]#[/COLOR]ui_print("Verifying the updated system image...");
[COLOR="Red"]#[/COLOR]if range_sha1("/dev/block/platform/msm_sdcc.1/by-name/system", "28,0,32767,32768,32770,32825,32827,33307,65535,65536,65538,98304,98306,98361,98363,98843,131071,131072,131074,163840,163842,163897,163899,164379,166302,196608,196610,197090,215039") == "947e1e12c28b4b0f3dcbc867bc410f4786c1bc11" then
[COLOR="Red"]#[/COLOR]if range_sha1("/dev/block/platform/msm_sdcc.1/by-name/system", "34,32767,32768,32770,32825,32827,33307,65535,65536,65538,66050,97792,98304,98306,98361,98363,98843,131071,131072,131074,131586,163328,163840,163842,163897,163899,164379,166302,166814,196096,196608,196610,197090,215039,215040") == "3c55b4dff8589604d8415155d43f0c20ee30e799" then
[COLOR="Red"]#[/COLOR]ui_print("Verified the updated system image.");
[COLOR="Red"]#[/COLOR]else
[COLOR="Red"]#[/COLOR]  abort("system partition has unexpected non-zero contents after OTA update");
[COLOR="Red"]#[/COLOR]endif;
[COLOR="Red"]#[/COLOR]else
[COLOR="Red"]#[/COLOR]  abort("system partition has unexpected contents after OTA update");
[COLOR="Red"]#[/COLOR]endif;
Correct me if I'm wrong, but commenting out the entire section also disables any verification. Say something went wrong during the flash, the script wouldn't know... Might be better to modify like I've posted, just to be safe?

Sent from my GT-I9300 using Tapatalk
 

tungdil

Senior Member
Jan 30, 2013
86
65
0
Hometown
Correct me if I'm wrong, but commenting out the entire section also disables any verification. Say something went wrong during the flash, the script wouldn't know... Might be better to modify like I've posted, just to be safe?
Well... I guess this probably is a philosophical question.

As far as I know a lot of custom ROMs do not perform any verification form the updater scripts. I personally believe the risk that something goes wrong during flashing a CM based ROM is not higher than for other ROMs and, I am not sure that doing 1/2 verification is really better than nothing. Finally we're flashing a secondary ROM (which btw is dangerous as such and not supported by a lot of custom ROM developers anyway) and if something goes wrong we're not left with an "unuseable device".

But, ... this is just my opinion and maybe this discussion is anyway too much OT...
 

madbat99

Senior Member
Mar 1, 2014
5,538
3,285
113
Well... I guess this probably is a philosophical question.

As far as I know a lot of custom ROMs do not perform any verification form the updater scripts. I personally believe the risk that something goes wrong during flashing a CM based ROM is not higher than for other ROMs and, I am not sure that doing 1/2 verification is really better than nothing. Finally we're flashing a secondary ROM (which btw is dangerous as such and not supported by a lot of custom ROM developers anyway) and if something goes wrong we're not left with an "unuseable device".

But, ... this is just my opinion and maybe this discussion is anyway too much OT...
A lot of roms actually do perform some checks in the updater script.
 

tungdil

Senior Member
Jan 30, 2013
86
65
0
Hometown
A lot of roms actually do perform some checks in the updater script.
No problem to change the wording to "some". Even though, at least in the updater scripts of the following MM-ROMS for flo I couldn't find the SHA1 verification: PureNexus, MoRoM, BadBoyz, OctOS, and CleanRom. On the other hand side I guess most CM-based MM-ROMs have the verification code in their updater script (unofficial MM AIPC doesn't).
Furthermore I didn't come across the "checksum-problem" in MultiROM prior to CM13. And at least the updater script in cm-12.1-20151117-SNAPSHOT-YOG7DAO1K9-flo.zip (I guess this is also true for other Lollipop ROMs) doesn't do the SHA1 verification.
 
Last edited:

Pawel01

Member
Jun 30, 2015
15
2
0
Anybody here try to install cm13 as secondary?

Sent from my Nexus 7
The problem seems to be making it all bootable.

I've made a dirty flash of the new CM 13 nightly (before I had there CM 12.1 as my primary Rom and stock 5.1.1 as secondary - running the modified Version of multirom to flash MM, beeing posted a few days ago in the multirom-thread). After flashing CM 13 as primary Rom I have installed the open gapps. So far, everything was fine. But then I could not boot the secondary Rom. So I have flashed a kexec-hardboot-kernel (CM 12.1). My secondary stock 5.1.1 botted then, but my primary CM 13 didn't.

Then I've tried flashing another kernel with kexec-hardboot-patch (elemental x). I took the 6.0.1 stock kernel and both ROMs booted, but the colors in the primary ROM were a desaster.

Do you have any idea, which kernel I could take to make both Roms bootable?

Thanks in advance for any help! ☺
 

anon-anon

Member
Dec 21, 2015
11
0
0
The problem seems to be making it all bootable.

I've made a dirty flash of the new CM 13 nightly (before I had there CM 12.1 as my primary Rom and stock 5.1.1 as secondary - running the modified Version of multirom to flash MM, beeing posted a few days ago in the multirom-thread). After flashing CM 13 as primary Rom I have installed the open gapps. So far, everything was fine. But then I could not boot the secondary Rom. So I have flashed a kexec-hardboot-kernel (CM 12.1). My secondary stock 5.1.1 botted then, but my primary CM 13 didn't.

Then I've tried flashing another kernel with kexec-hardboot-patch (elemental x). I took the 6.0.1 stock kernel and both ROMs booted, but the colors in the primary ROM were a desaster.

Do you have any idea, which kernel I could take to make both Roms bootable?

Thanks in advance for any help! ☺
I had a similar problem to you but I solved it as follows,
1. installed stock MM 6.0.1 from Ubuntu (edit install script to remove -w if you don't want your data wiped during installation) and adb. Wiped Dalvik and cache. Reboot.
2. installed TWRP_multirom_flo.img fastboot from Ubuntu
3. flashed hacked multirom-20151113-v32-UNOFFICIAL-flo.zip from Nexus 7
4. flashed ElementalX-N7-5.06 from Nexus 7 for stock MM 6.0.1 as primary. Wiped Dalvik and cache. Reboot.
5. flashed BetaSuperSU 2.6.2-3. Reboot.
6. edited update-script in ROM by commenting out offending code as described earlier in thread. Flashed CM13-NIGHTLY as the secondary ROM.
Works great! I didn't bother with adding a custom kernel to the CM13 ROM as its based on MM 6.0.1 (MMB29K) and ElementalX-N7-5.05-cm is still only up to Android 6.0. Also I haven't tried flashing SuperSU on it, I just turned on the native superuser function in developer tools. Updated SuperSU on primary to 2.6.4 by flashing - no problem. To update CM13- NIGHTLY update-script in ROM needs to be edited every time (til its fixed) so automatic update in the ROM doesn't work.
 

tungdil

Senior Member
Jan 30, 2013
86
65
0
Hometown
So I have flashed a kexec-hardboot-kernel (CM 12.1). My secondary stock 5.1.1 botted then, but my primary CM 13 didn't.

Then I've tried flashing another kernel with kexec-hardboot-patch (elemental x). I took the 6.0.1 stock kernel and both ROMs booted, but the colors in the primary ROM were a desaster.

Do you have any idea, which kernel I could take to make both Roms bootable?
In case you haven't solved this yet...

You'll have to use a CAF (not AOSP) MM kernel for CM13. That's why the CM 12.1 kernel (Lollipop) and Elemental 6.0.1 (AOSP) didn't work. You could try for example ElementalX-N7-5.05-cm or Glitch-flo-r412-CMfull.zip.
 
  • Like
Reactions: anon-anon

Pawel01

Member
Jun 30, 2015
15
2
0
In case you haven't solved this yet...

You'll have to use a CAF (not AOSP) MM kernel for CM13. That's why the CM 12.1 kernel (Lollipop) and Elemental 6.0.1 (AOSP) didn't work. You could try for example ElementalX-N7-5.05-cm or Glitch-flo-r412-CMfull.zip.
Thanks a lot! I've tried out now with ElementalX-N7-5.05-cm and both ROMs are now bootable ??

Gesendet von meinem Nexus 7 mit Tapatalk
 

bahha87

Senior Member
Oct 7, 2008
66
6
28
is MultiRom compatible with Android 6.0.1 . when I flash a rom I get boot loop to recovery . when removed everything works , as soon as I inject boot, it gets to boot loop again .
how do I fix this Rom is Pure nexus project 6.0.1
ElementalX latest .