MultiRom V32 Resurrected (D850) [Updated: 07-12-2015]

Status
Not open for further replies.

Eliminater74

Recognized Developer
Jan 25, 2014
3,955
16,511
263
Clearwater
lightningbolt.duckdns.org

## Introduction ##

MultiROM is one-of-a-kind multi-boot mod for Nexus 6. 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


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.

## Installation ##

1. Via MultiROM Manager app
This is the easiest way to install everything MultiROM needs. Install the app and select MultiROM and recovery on the Install/Update card. If the Status card says Kernel: doesn't have kexec-hardboot patch! in red letters, you have to install also patched kernel - either select one on the Install/Update card or get some 3rd-party kernel here on XDA. You are chosing kernel for your primary ROM, not any of your (future) secondary ROMs, so select the version accordingly.
Press "Install" on the Install/Update card to start the installation.

2.Manual installation
Firstly, there are videos on youtube. If you want, just search for "MultiROM installation" on youtube and watch those, big thanks to all who made them. There is also an awesome article on Linux Journal.

MultiROM has 4 parts, but you really only need to install 3 parts:


  1. MultiROM Installer:
  2. TWRP Modified Recovery:
  3. Patched Kernel: Primary roms Must have a Kexec Hardboot Patched Kernel
  4. MultiRom UnInstaller:

Adding ROMs:
1. Android
Go to recovery, select Advanced -> MultiROM -> Add ROM. Select the ROM's zip file and confirm. As for the space, clean installation of stock 5.0 after first boot (with dalvik cache generated and connected to google account) takes about 1 GiB of space.

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 ROMs
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.

Special Thanks to @Tasssadar..

XDA:DevDB Information
MultiRom V32 Resurrected (D850), ROM for the AT&T LG G3

Contributors
Eliminater74, thewalkingdude, Tasssadar
Source Code: https://github.com/Tasssadar/multirom

ROM OS Version: 5.1.x Lollipop
ROM Kernel: Linux 3.4.x
ROM Firmware Required: 4.4.x

Version Information
Status: Beta

Created 2015-04-23
Last Updated 2015-07-12
 
Last edited:

Eliminater74

Recognized Developer
Jan 25, 2014
3,955
16,511
263
Clearwater
lightningbolt.duckdns.org
- Download Section


  1. MultiRom V32 Installer: multirom-20150712-v32-UNOFFICIAL-d850.zip
  2. MultiRom Modified TWRP Recovery: TWRP_MultiRom_2.8.7.x_D850_20150712-signed.zip
  3. MultiRom Kexec Hardboot Kernel By @777jon: AOSP-777-Kernel_d850-R10.zip
  4. MultiRom Uninstaller: multirom_uninstaller.zip

Warning: Kernel is for LP 5.1 Only with 32gb variants at question. Sorry 16gigers, I havent done one for you yet.. but you can try this one.. It just may work.

Note: You can compile your own Kexec Hardboot Kernel as well. @fechanaitor and @777jon both have the Correct MultiRom patch that works with this version.

SideNote: Little UnKnownFact. This MultiRom is set up to allow installing Stock OEM roms as secondery as well..
And @777jon's 777Kernel does work on secondary as well with this version..
 
Last edited:

dginsd

Senior Member
Jan 23, 2012
278
56
0
The first 18 lines on iomem

00000000-059fffff : System RAM
00008000-0114c58f : Kernel code
0130e000-016c22fb : Kernel data
0d700000-0f9fffff : System RAM
0ff00000-5fffffff : System RAM
80000000-dd9fffff : System RAM
f9017000-f9017fff : msm-watchdog
f920c100-f92fbfff : f9200000.dwc3
f9824900-f9824a9f : mmc0
f98a4900-f98a4a1b : mmc1
f991d000-f991dfff : msm_serial_hsl
f9923000-f9923fff : f9923000.i2c
f9924000-f9924fff : f9924000.i2c
f9962000-f99620ff : msm_serial_hsl
f9966000-f9966fff : spi_qsd
f9967000-f9967fff : f9967000.i2c
fb21b000-fb21dfff : pmu_base
fc380000-fc3e9fff : fc380000.msm-bimc

My device is a 3 gig on firmware D85020F. I have rooted and installed bumped twrp. Let me know if there's anything I missed. Thank you.

Sent from my LG-D850 using XDA Free mobile app
 

Eliminater74

Recognized Developer
Jan 25, 2014
3,955
16,511
263
Clearwater
lightningbolt.duckdns.org
The first 18 lines on iomem

00000000-059fffff : System RAM
00008000-0114c58f : Kernel code
0130e000-016c22fb : Kernel data
0d700000-0f9fffff : System RAM
0ff00000-5fffffff : System RAM
80000000-dd9fffff : System RAM
f9017000-f9017fff : msm-watchdog
f920c100-f92fbfff : f9200000.dwc3
f9824900-f9824a9f : mmc0
f98a4900-f98a4a1b : mmc1
f991d000-f991dfff : msm_serial_hsl
f9923000-f9923fff : f9923000.i2c
f9924000-f9924fff : f9924000.i2c
f9962000-f99620ff : msm_serial_hsl
f9966000-f9966fff : spi_qsd
f9967000-f9967fff : f9967000.i2c
fb21b000-fb21dfff : pmu_base
fc380000-fc3e9fff : fc380000.msm-bimc

My device is a 3 gig on firmware D85020F. I have rooted and installed bumped twrp. Let me know if there's anything I missed. Thank you.

Sent from my LG-D850 using XDA Free mobile app
By your iomem stats, I can already see that location 0x0ff00000 would prob. be the best for you..
I still need a few others to post to get more of an understanding where everyone is at. I dont wanna make 3 versions. I want only to make one version that works for everyone..
Thats why I need the iomem stats. It helps me determine where to put the kexec_mem_min location...


To explain, the kexec_mem_min is the location where kernel stores during a reboot its within the first 256 megs of ram. and the location you would use is
one of your system ram banks in an address that doesnt get written over during reboot.

Thats why this part is a must..
 

bsinc1962

Senior Member
Jan 5, 2010
388
150
0
Dubois, Wy
This is also from a D850 3gb on Cyanide

00000000-059fffff : System RAM
00008000-011be32f : Kernel code
01310000-0181c303 : Kernel data
0d700000-0f9fffff : System RAM
0ff00000-5fffffff : System RAM
80000000-dd7fffff : System RAM
dd900000-dd9fffff : System RAM
f920c100-f92fbfff : f9200000.dwc3
f9824900-f9824a9f : mmc0
f98a4900-f98a4a1b : mmc1
f991d000-f991dfff : msm_serial_hsl
f9923000-f9923fff : f9923000.i2c
f9924000-f9924fff : f9924000.i2c
f9962000-f99620ff : msm_serial_hsl
f9966000-f9966fff : spi_qsd
f9967000-f9967fff : f9967000.i2c
fb21b000-fb21dfff : pmu_base
fc380000-fc3e9fff : fc380000.msm-bimc
fc401680-fc401683 : restart_reg
fc4016c0-fc4016c3 : restart_reg
fc401700-fc401703 : clk_base
fc4281d0-fc4291cf : vmpm
 

dogg94

Senior Member
Jan 6, 2011
245
39
58
Wisconsin
00000000-059fffff : System RAM
00008000-0114c58f : Kernel code
0130e000-016c22fb : Kernel data
0d700000-0f9fffff : System RAM
0ff00000-5fffffff : System RAM
80000000-dd9fffff : System RAM
f9017000-f9017fff : msm-watchdog
f920c100-f92fbfff : f9200000.dwc3
f9824900-f9824a9f : mmc0
f98a4900-f98a4a1b : mmc1


D850 on Rooted Lollipop Stock
D85020f
 

mcwdude

Member
Nov 11, 2014
15
1
0
d850 running cyanide 3GB

00000000-059fffff : System RAM
00008000-010a2e27 : Kernel code
0120e000-01710f3b : Kernel data
0d700000-0f9fffff : System RAM
0ff00000-5fffffff : System RAM
80000000-dd9fffff : System RAM
f920c100-f92fbfff : f9200000.dwc3
f9824900-f9824a9f : mmc0
f98a4900-f98a4a1b : mmc1
f991d000-f991dfff : msm_serial_hsl
f9923000-f9923fff : f9923000.i2c
f9924000-f9924fff : f9924000.i2c
f9962000-f99620ff : msm_serial_hsl
f9966000-f9966fff : spi_qsd
f9967000-f9967fff : f9967000.i2c
fb21b000-fb21dfff : pmu_base
fc380000-fc3e9fff : fc380000.msm-bimc
fc401680-fc401683 : restart_reg
fc4016c0-fc4016c3 : restart_reg
fc401700-fc401703 : clk_base
fc4281d0-fc4291cf : vmpm
fc460000-fc463fff : fc460000.msm-sys-noc
fc468000-fc46bfff : fc468000.msm-periph-noc
fc470000-fc473fff : fc470000.msm-ocmem-noc
fc478000-fc47bfff : fc478000.msm-mmss-noc
fc480000-fc483fff : fc480000.msm-config-noc
fc4a8000-fc4a9fff : tsens_physical
fc4bc000-fc4bcfff : tsens_eeprom_physical
fc820000-fc82001f : rmb_base
fc880000-fc8800ff : qdsp6_base
fd485300-fd48530b : halt_base
fda00020-fda0002f : csi_clk_mux
fda00030-fda00033 : csiphy_clk_mux
fda00038-fda0003b : csiphy_clk_mux
fda00040-fda00043 : csiphy_clk_mux
fda04000-fda040ff : fda04000.qcom,cpp
fda08000-fda080ff : fda08000.qcom,csid
fda08400-fda084ff : fda08400.qcom,csid
fda08800-fda088ff : fda08800.qcom,csid
fda08c00-fda08cff : fda08c00.qcom,csid
fda0a000-fda0a4ff : fda0a000.qcom,ispif
fda0ac00-fda0adff : fda0ac00.qcom,csiphy
fda0b000-fda0b1ff : fda0b000.qcom,csiphy
fda0b400-fda0b5ff : fda0b400.qcom,csiphy
fda0c000-fda0cfff : fda0c000.qcom,cci
fdb00000-fdb0ffff : kgsl-3d0
fdb20000-fdb2ffff : kgsl-3d0
fdc80000-fdc803ff : vbif_base
fdce0000-fdce3fff : wrapper_base
fe200000-fe2000ff : qdsp6_base
fec00000-fed7ffff : fdd00000.qcom,ocmem
 

Eliminater74

Recognized Developer
Jan 25, 2014
3,955
16,511
263
Clearwater
lightningbolt.duckdns.org
Wow, ok I guess you are interested..

Be aware:, That CM based LP 5.1's are not working correctly as secondary roms. I am working with @Tasssadar on fixing this problem. But Logs are the main thing needed which its hard to show a log
when it wont write to the last_kmsg file. But this problem is present for the time being.
And once I have this Compiled and good to go, I will need testers, as I dont own a D850.

One more thing, you will have to use the current kexec hardboot patch kernels till I set up one of my roms to build you one with my patch.
I never planed on porting anything to your device, so I dont have a local_manifest setup with your device for building roms/kernels.
That would break my #1 rule. Which I knew would happen sooner or later..

I am no pro Dev, im just a person that learns quick and picks up alot of by trials and errors, I have done 90% of all the hard leg work to get this MultiRom to work very good as it was intended to work on
our devices. all patches was received by Mr @Tasssadar him self.

I am also talking to @Tasssadar about getting our Devices compatible on his MultiROMmgr app thats on Google PlayStore. Which would allow you to boot any rom straight from the app as well as install.
and a few other options.

I cant promise that the first few builds will work good, As I dont have the D850 to test it. But as we go along and tweak it, we can get it working.
 

shimbob

Senior Member
Dec 8, 2008
139
21
0
Eugene, OR
Code:
00000000-059fffff : System RAM
   00008000-011be32f : Kernel code
   01310000-0181c303 : Kernel data
0d700000-0f9fffff : System RAM
0ff00000-5fffffff : System RAM
80000000-dd7fffff : System RAM
dd900000-dd9fffff : System RAM
f920c100-f92fbfff : f9200000.dwc3
f9824900-f9824a9f : mmc0
f98a4900-f98a4a1b : mmc1
It's a 3gig, I think all D850s are 3gig, no?

I'm patiently waiting for an updated multirom-enabled twrp. For what it's worth, I seem to be the only one for whom skin1980's release actually worked as advertised, using CM11 as my primary too! There are however certain roms that fail to boot as secondary.
 

Eliminater74

Recognized Developer
Jan 25, 2014
3,955
16,511
263
Clearwater
lightningbolt.duckdns.org
Code:
00000000-059fffff : System RAM
   00008000-011be32f : Kernel code
   01310000-0181c303 : Kernel data
0d700000-0f9fffff : System RAM
0ff00000-5fffffff : System RAM
80000000-dd7fffff : System RAM
dd900000-dd9fffff : System RAM
f920c100-f92fbfff : f9200000.dwc3
f9824900-f9824a9f : mmc0
f98a4900-f98a4a1b : mmc1
It's a 3gig, I think all D850s are 3gig, no?

I'm patiently waiting for an updated multirom-enabled twrp. For what it's worth, I seem to be the only one for whom skin1980's release actually worked as advertised, using CM11 as my primary too! There are however certain roms that fail to boot as secondary.
I just spent the last 20 mins reading up on this bump stuff, Since T-Mobiles come unlocked, I never had to worry about bump. But I have the script.
When I release the Modified TWRP Multirom recovery, I will release it in 2 ways,
#1: run this Bump scrip on the img and then package it.
#2: Just releae the recovery.img and let you all run the script to bump it. ( Just in case I mess things up )

Just till I know that I am doing it right, after thats been validated I will just release the package already bumped and good to go.
I wish LG would just unlock all thier phones. Good thing T-Mobile Forced them too.
 

Eliminater74

Recognized Developer
Jan 25, 2014
3,955
16,511
263
Clearwater
lightningbolt.duckdns.org
I didnt forget about anyone here, I will take me a few days, I have alot going on at the moment.
I am still trying to fix the 5.1 bug. So I can boot 5.1 from secondary. At the same time
im trying to move my build environment to Omnirom LP.. Which took changing the BoardConfig.mk and BoardConfigCommon.mk.
Which will also let me compile on CM sources as well. with a sepolicey change for recovery..

With all that said, Just give me a few days.. I know you would hate to hear this, but I put my device first.. Whats the point in porting a not working version.
 
  • Like
Reactions: noobchef

arjuna_

Senior Member
Aug 6, 2010
316
89
48
I didnt forget about anyone here, I will take me a few days, I have alot going on at the moment.
I am still trying to fix the 5.1 bug. So I can boot 5.1 from secondary. At the same time
im trying to move my build environment to Omnirom LP.. Which took changing the BoardConfig.mk and BoardConfigCommon.mk.
Which will also let me compile on CM sources as well. with a sepolicey change for recovery..

With all that said, Just give me a few days.. I know you would hate to hear this, but I put my device first.. Whats the point in porting a not working version.
No problem man we're not in a rush we're just interested in the project.
 

Eliminater74

Recognized Developer
Jan 25, 2014
3,955
16,511
263
Clearwater
lightningbolt.duckdns.org
MultiRom Resurrected (D850) Posted:

MultiRom Resurrected V32 (D850)

Update: Use a pre-kexec Hardboot patched Kernel for now. Might not work well.. but for now its good enough. Till I make you a beter one.
Also, I cant remember what kexec_mem_min location I used, I think its 0x0ff00000 But not sure.. if it works let me know. if it doesnt. Still let me know with logs please.
and Im not sure about the bump thing. I used the bump.py that Cyanogenmod uses. Anyhow, I only bumped the recovery.. I dont think the multirom needs bumping since its only a bunch of scripts..
I posted 3 recovery uploads for a reason, one is the flashable and the other is a bumped image and the last is just a recovery.img not bumped.
Pick your own poison.....................

I need logs if your going to complain about this. Really I only did this as a request from someone..

Dont forget this is still in testing stages, Till I get a feel as to how this works with your device.. Not sure if I got the location correct. but try it and let me know.
 

arjuna_

Senior Member
Aug 6, 2010
316
89
48
MultiRom Resurrected V32 (D850)

Update: Use a pre-kexec Hardboot patched Kernel for now. Might not work well.. but for now its good enough. Till I make you a beter one.
Also, I cant remember what kexec_mem_min location I used, I think its 0x0ff00000 But not sure.. if it works let me know. if it doesnt. Still let me know with logs please.
and Im not sure about the bump thing. I used the bump.py that Cyanogenmod uses. Anyhow, I only bumped the recovery.. I dont think the multirom needs bumping since its only a bunch of scripts..
I posted 3 recovery uploads for a reason, one is the flashable and the other is a bumped image and the last is just a recovery.img not bumped.
Pick your own poison.....................

I need logs if your going to complain about this. Really I only did this as a request from someone..

Dont forget this is still in testing stages, Till I get a feel as to how this works with your device.. Not sure if I got the location correct. but try it and let me know.
Hey thanks for posting so fast. Was able to successfully flash the MultiROM'd TWRP however 2 things:

1. It boots really really slowly. Was wondering if it actually worked or not for the longest until TWRP finally loaded up.
2. I then flashed the multirom zip and then the 777 kernel zip and added Resurrection Remix and MultiRom properly recognized it.
3. However when I tried to run RR it returned an error and a log was created. Sending that log to you via pm now.
 

Eliminater74

Recognized Developer
Jan 25, 2014
3,955
16,511
263
Clearwater
lightningbolt.duckdns.org
Hey thanks for posting so fast. Was able to successfully flash the MultiROM'd TWRP however 2 things:

1. It boots really really slowly. Was wondering if it actually worked or not for the longest until TWRP finally loaded up.
2. I then flashed the multirom zip and then the 777 kernel zip and added Resurrection Remix and MultiRom properly recognized it.
3. However when I tried to run RR it returned an error and a log was created. Sending that log to you via pm now.
TWRP takes a bit it seems, you gota understand that I turned off the screen while it boots. Thats how I set it in the BoardConfig.mk because the menu wasnt working the other way around.
and the 777 kernel patch isnt my patch, I said you would have to wait for me to do the correct patch. some roms wont work that great with the old patch.. it uses different memory locations
and set different. My patch was direct from @Tasssadar.. He told me what I needed to change to get it working with our devices. same with the hooks file...

Also, RR 5.1 might have problems......... anything related to 5.1 after the 17th is related to CM issues thats being worked on ( This is only as Secondary rom only) Should work as primary..

Kernel panics, are caused of out of boounds memory location.. thats the reason I needed everyones iomem..
But I think I used the 0x0ff00000 but really cant remember. Alot going on.........

As I said in prev. post. I dont own this device other then the fact I have a G3.. and it will take a lot of testing and a few tweaks to get this to work correctly.
I dont expect the first few to work. As long as the Recovery booted, Then I know I did something right. I was worried about the bump thing..
I didnt want to brick anyones phone. So that worried me.. But since it worked. I know I am doing it right.

I did start creating MultiRom on LP 5.0.2 build. and All the problems that used to be on the 4.4.4 build kinda fixed it self.. Vibration and everything seem to work correctly with the LP builds.
so when we tweak this right. I will convert the D850 BoardConf file over to the cm 12.0+ section as I already have for the D851.. Shouldnt be to hard since I already know what I need to change..
First time took a while. I had to find all the correct files to change for the port over ...........

I just upgraded my windows 10 to build 10061 (Yes im a tester for Microsoft) Been one since 1998.... So I was offline for a bit while the update happened..
But my other system was up and running.. But I was also in the middle of a few updated on my linux system as well.


Anyhow, we will get this working correctly for you.. Just give me time.
 

Eliminater74

Recognized Developer
Jan 25, 2014
3,955
16,511
263
Clearwater
lightningbolt.duckdns.org
Update: I made a little error when I compiled the first MultiRom..
I forgot to change the dir structure from D851 to D850.. So thats why it didnt work.
TWRP should be working.. That has nothing to do with what I forgot to do............

I am compiling a new update. Will post it as soon as its done.................
 

Eliminater74

Recognized Developer
Jan 25, 2014
3,955
16,511
263
Clearwater
lightningbolt.duckdns.org
--=[ Multirom V32 Fixed and RePosted ]=--

Update: I Re-Posted Multirom V32.. Sorry last one has a simple mistake.. This one should work for 90% of you.
kexec_mem_min location I used is: 0x0ff00000 Which by all rights, should work for all. I cant stay that 5.1 roms will work..
 
Status
Not open for further replies.