yashsingh1/xdaforums huggingface dataset:
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] FoxTrotz:
Since hyperdrive is an Android 4.1.2 Rom, then you must use a 4.1.2 kernel this http://xdaforums.com/showthread.php?t=1756776 is one of the most used ones for the sgs3, but you can use any kernel that has a 4.1.2 TOUCHWIZ version. Really make sure you download the right one.
[One (M7) Original Android Development] oblikas:
Introduction

http://www.youtube.com/watch?v=SCYh14Zwl3s You can also watch a video which shows it in action.​

Warning!

Installation

Note 1: Your device must not be encrypted (hint: if you don't know what it is, then it is not encrypted).

MultiROM has 3 parts you need to install:

FAQ

Click on this link

Adding ROMs

1. Android

2. Other Systems

Updating/changing ROMs

2. Secondary Android ROMs

Source code
[One (M7) Original Android Development] oblikas:
Downloads

1. Main downloads

2. third-party kernels with kexec-hardboot patch

Donations

Thanks [MENTION=1662843]Giblet-dono[/MENTION] for the FAQ code
[One (M7) Original Android Development] FitAmp:
This was such a great mod on my nexus 7. Happy to see it here for my HTC One as well :D
[One (M7) Original Android Development] jawonder:
Hells YESSS !! , have this on my nexus 7 and it's the best thing ever .

---------- Post added at 05:51 PM ---------- Previous post was at 05:31 PM ----------

Wait, this is just for the International HTC One ?.
[One (M7) Original Android Development] mastermind777:
I've just installed the MultiROM modded recovery, but on my HTC One, the resolution is wrong. The recovery cuts off at the right side, so the back button in TWRP is almost completely off-screen and the second column of icons is more or less right-justified. This is a big problem when naming backups, for example, because the keyboard is also cut off and the rightmost keys are beyond the screen's margin. Currently making a backup, so I'll test the actual MultiROM functionality soon.
[One (M7) Original Android Development] jawonder:
You are on T Mobile ? .
[One (M7) Original Android Development] mastermind777:
It was originally a T-Mobile HTC One, which I modded (S-OFF, SuperCID, etc.)
[One (M7) Original Android Development] jawonder:
So that means i can't flash it on my Developer ATT One ?.
[One (M7) Original Android Development] bnbasarir:
Subscribed

Sounds like a great idea. Not a big fan of Sense and no kernel for the latest GP ROM so gonna keep an eye on the development of this goodie.

Multumim anticipat :cowboy:
[One (M7) Original Android Development] oblikas:
I think it works on Super-CID'ed T-Mobile,Sprint,AT&T,Verizon too...
[One (M7) Original Android Development] oblikas:
Yeah,the recovery needs some resize.
[One (M7) Original Android Development] Atze001:
Can we use only USB devices or can we use a part from internal memory?
[One (M7) Original Android Development] oblikas:
You can flash ROMs on internal or on USB
[One (M7) Original Android Development] Atze001:
Ah Great!!

---------- Post added at 07:09 AM ---------- Previous post was at 06:11 AM ----------

Musst try again cause first attempt failed. On both Roms my wlan dont work
[One (M7) Original Android Development] oblikas:
Check "Don't share " in TWRP when you flash a secondary ROM.
[One (M7) Original Android Development] Atze001:
I try it and dont work. I think it was a kernel issue. Your Kernel dont work with EragonRC4.

My first rom is EragonRC4 (Sense based).

First I install EragonRC4 than I Flash your Recovery than your kernel and your multirom.zip. After that I boot up Eragon and wifi is gone :(
[One (M7) Original Android Development] oblikas:
Of course it won't work .You can boot only CM/AOSP ROMs .
[One (M7) Original Android Development] Atze001:
:(:crying::(
[One (M7) Original Android Development] leventccc:
Can we boot gpe rom + sense rom since they have the same kernel?
[One (M7) Original Android Development] oblikas:
Try and let us know if it worked for you.
[One (M7) Original Android Development] Vitruvian:
I've just spent last four days changing and playing with Roms thanks to this awsome mod. I've just tried MIUI from adyscorpius to see if it's going to work as secondary Rom and it's working like a charm without a problem. I would recommend this mod to every flashoholic out there :) it's awsome ;)
[One (M7) Original Android Development] tbalden:
teamseven gpe 4.3 kernel is patched with kexec since last release (oct 21) http://xdaforums.com/showthread.php?t=2307371
[One (M7) Original Android Development] Giblet-dono:
Thanks!

Will add it to the FAQ
[One (M7) Original Android Development] Nekromantik:
Would I get into boot loop if I update primary ROM and not do Inject curr. boot sector?

This will be bad option for people on renovater sadly :( as the SVN updates auto flash and reboot the phone unless you wait for a zip to be created that you flash manually.
[One (M7) Original Android Development] oblikas:
You can reboot back to recovery and inject it without a problem.
[One (M7) Original Android Development] formula84:
Can anyone check on available ram on the additional roms? I am only getting 817 showing in about...

ElementalX as my primary kernel.
[One (M7) Original Android Development] karizma60:
Same here. i m using elementalX kernel and my secondary rom is vanir
[One (M7) Original Android Development] formula84:
Okay now we need to figure out if this is the mods fault or the fact we are using sense as Rom #1.

Having this little ram defeats this mod for me because I am getting app closures and massive launcher redraw due to limited ram.
[One (M7) Original Android Development] formula84:
[MENTION=3088420]tbalden[/MENTION] any ideas on the memory related issues?

Also is there any aosp kernels besides the one in the 2nd post? The link works but when I choose download the page says the file is unavailable. I would like to see if the memory issues exist with the ops kernel on cm 10 as first rom rather then sense.
[One (M7) Original Android Development] oblikas:
Oh cool...Tried to adjust some stuff on the kexec patch and I bricked the phone..Not even bootloader
[One (M7) Original Android Development] DJ-Mills:
Amy chance of a cm11 kernel with kexec?
[One (M7) Original Android Development] Giblet-dono:
Woah!

Do you get ANY connection to pc? like QUSB-DLOAD?

You could ask some help here: http://xdaforums.com/showthread.php?t=2363516

---------- Post added at 10:35 PM ---------- Previous post was at 10:32 PM ----------

In the last post on the previous page (the post before yours) oblikas says he bricked is phone.

So no chance at getting one from him for now.
[One (M7) Original Android Development] oblikas:
That is what I am trying now
[One (M7) Original Android Development] formula84:
Good luck man that's rough. Hope something works out for you.
[One (M7) Original Android Development] oblikas:
****..no luck
[One (M7) Original Android Development] Mikey:
I would replace the link directing to flar2 kernels with http://goo.im/devs/flar2/One

For one your link is dead.

Two makes it easier for users to pick the newest and/or older kernel version of their choosing.
[One (M7) Original Android Development] formula84:
Wow, that's terrible. Do you have insurance of any kind? You could try to send to HTC and see what they say, maybe since it does not power on you will get lucky and they wont know what caused it.
[One (M7) Original Android Development] oblikas:
No warranty...and no HTC service in my country..
[One (M7) Original Android Development] formula84:
Thats crazy so anyone that buys an HTC product in your country has no warranty? You really cant ship to the closest country with a service center...
[One (M7) Original Android Development] Giblet-dono:
it's true, BUT, as some kernel versions can only be used on specific bases, android or sense versions I'd better replace them with links to his thread here on XDA.

Updated the google doc, but Oblikas should update his (first) post

He already pmed a mod to give me post 3 so I could keep the FAQ up-2-date, but somehow I never got it.

Anyway, I will edit my post straight away!
[One (M7) Original Android Development] h4waii:
I seem unable to boot anything apart from my primary ROM, which is a GPe build with ElementalX kernel.

I've tried multiple builds of CM10.2 as a secondary, after selecting it from MultiROM, I get a black screen, and after a little bit of time, the MultiROM selector comes back up.

I've tried sharing and isolating each kernel. Same results.

Any ideas?
[One (M7) Original Android Development] Giblet-dono:
I have never had this before but what I should do is:

Open TWRP and remove all roms from list (apart from your primary ofcourse)

Reinstall one rom to it from my signature (these I have tested personally to work)

After installing the secondary rom, dont share kernel or do anythign else, just try booting it

If it works, try one you would like to use, if the one you would like to use (cm10.2 or the likes) doesn't work, it's probably the roms fault.

If one of the roms form my sig doesn't work it's probably something else messing up.
[One (M7) Original Android Development] h4waii:
I think my issue lies with ElementalX 4.4, it would appear that kexec-hardboot wasn't patched in for GPe at all, only SENSE5 kernels got it.

I'll test with the latest 2.2.8 from teaMSeven and report back.

EDIT:

Yes, the kernel was the problem. I can't delete the above posts. Hopefully a moderator will.
[One (M7) Original Android Development] Root-Maniac:
Hey guys, First of all GREAT JOB!! I have it working flawless, i must say though the instructions in the op seem to be a little backwards but i got it running flawless, thanks again guys!!
[One (M7) Original Android Development] h4waii:
I don't seem to be able to swap kernels on my secondary ROMs. I'm using codefireXperiment with is based on CM10, flashed the same AOSP/GPe teaMSeven 2.2.8 kexec-patched kernel that I'm using on my primary ROM, and I simply get a failed boot, goes back to MultiROM selector.

I've also tried extracting the boot.img to revert back to the original kernel in the ROM, no dice.

Any ideas?
[One (M7) Original Android Development] Giblet-dono:
Second kernel doesn;t need to have the kexec patch, but I don't think ahving it shoudl be the problem.

How do you attempt to swap the kernel.

You should:

Open TWRP -> Advanced -> multirom -> rom list -> flash zip

Choose a kernel compatible with you selected rom (I can't test everything)

Should work that way.

To use the "original" kernel just reflash the full rom zip

Using the above method
[One (M7) Original Android Development] shaaXo:
Just tried kexec-hardbooting from ElementalX kernel and the patched cm-10.1 kernel and both have "MemTotal: 865872 kB" in /proc/meminfo (instead of "MemTotal: 1906280 kB"). Will recompile my CM kernel tomorrow and see what it shows in dmesg, the current buffer size is too small to get the initial messages during early boot. Unfortunately, I have no idea how the pysical memory map is determined, but apparently it can be set via the "mem=<size>[KM][,@<phys_offset>]" cmdline, so whatever is causing the misdetection, working around it should be easy.
[One (M7) Original Android Development] Sonic7:
Sense 4.3 and CM11 working perfectly fine here. TeamSeven 2.2.8 Kernel ans Stock CM11
[One (M7) Original Android Development] mlaws90:
I have Sense 5.5 Android 4.3 as the internal ROM. And I installed CM11 Android 4.4 KitKat as a secondary from a TWRP backup. It can also be installed from a zip, KitKat that is.

Sent from my KitKat One
[One (M7) Original Android Development] formula84:
Nice looking forward to what you figure out, this is a great mod just can't sacrifice that much ram for it.
[One (M7) Original Android Development] shaaXo:
Thanks for the awesome work and I hope you can get your phone working again somehow!

I compared the dmesg between the same (kexec-patched CM) kernel booted directly and after kexec-hardboot, the first difference was this:

parse_tag_memsize: 2048
m7_fixup: mem_size_mb=2048

parse_tag_memsize: 0
m7_fixup: mem_size_mb=0

As far as I know, on ARM, the kernel gets the physical memory map from the bootloader (instead of from the BIOS, as on x86), and in the kexec case, there is an issue finding the memsize tag. I'll look into the kernel source and see what I can find.
[One (M7) Original Android Development] shaaXo:
Update on the RAM issue. mem_size_mb is set based on ATAG contents, so I made the ATAG contents more readable using a dumpatag tool originally for the Nokia N900. Had to change the buffer size because it only read the first 10000 bytes. It turns out that something isn't quite right with the ATAG copying routine, because the order is changed and many entries are missing. As it's implemented in ASM and I never touched x86 assembler, I just hardcoded the value in the kexec'ed kernel (arch/arm/mach-msm/board-m7.c:5487) and now the RAM is back.

This is just a quick hack and patching every kernel that should get booted is not really practical, but at least it demonstrates where the issue lies.
[One (M7) Original Android Development] T.I.E.R.:
fail

Cant remove this post(
[One (M7) Original Android Development] tbalden:
Good to know, thanks for letting know :):good:
[One (M7) Original Android Development] formula84:
[MENTION=3088420]tbalden[/MENTION] any chance you could add the above work around to the ram issue in your kernels?
[One (M7) Original Android Development] bambam1978:
Ok I want to try this here's where my head is at and please correct me if I'm wrong. Via fastboot flash New twrp image then flash multi Rom.zip through new recovery. Then flash first primary Rom and let it boot up. Restart recovery and use new multi Rom settings to flash a secondary Rom. One question I have is I'm already on viperrom which is sense based can I then flash new recovery img. And keep viper as primary and flash a secondary rom?

Sent from my HTC One using Xparent Green Tapatalk 2
[One (M7) Original Android Development] Giblet-dono:
You can just keep your ViperOne installation as a primary rom

Don't forget this will NOT work with the STOCK kernel, you must use either ElementalX or TeamSeven

So if you are using the stock kernel don't forget to flash a custom one!

So With your primary (ViperOne) rom installed:

Fastboot flash the modified twrp

In recovery you flash multirom zip

- if you aren't using a custom kernel, flash it NOW! (if you do, don't forget to also inject current bootsector after the install)

then let the primary rom boot, you should see a boot menu during the boot.

If it boots up ok you can go back in recovery and use the advanced > multirom > add rom menu to add a secondary rom

I have used this method the first time I installed multirom and it worked properly
[One (M7) Original Android Development] bambam1978:
Followed your directions and worked perfectly now im going to install cm 10.2 as secondary!
[One (M7) Original Android Development] Sieze:
well that was interesting XD i forgot to wipe data and what not for the 4.4 i had isntlled and on boot all the colors where inverted and when i tried taking a screenshot it crashed and froze. was very entertaining lol is this a known bug/issue or should i have pulled a logcat before i anhilated everything?
[One (M7) Original Android Development] Giblet-dono:
weird thing shappen when your forget to wipe ;) Drivers get messed up, kernels get confused and all

So, I think this was an isolated issue, if it happens again please do get a logcat
[One (M7) Original Android Development] Tasssadar:
Something might indeed be wrong with the assembler part - this is pretty much the first time I made something in ARM assembler. If that is the case, I'd like to fix it. Can someone experienced enough (wink wink [MENTION=4590152]shaaXo[/MENTION]) try the things below and get me some info?

First of all, it might be just issue with the kexec binary - this wasn't updated since v15, maybe I fixed it in the meantime. Just download this binary, go to recovery and adb push kexec /sdcard/multirom/. Reboot and see if the problem is still there (make sure you remove your kernel with that fix).

If that won't help, can you get me some more info? Firstly, dmesg from both kernels - host and guest (with the bug). Then, take this binary, push it somewhere, set the chmod and run it, e.g. like this:

adb push atags_print /data/local/tmp/
adb shell
su
cd /data/local/tmp
chmod 755 atags_print
./atags_print

It will print out contents of the /proc/atags file*. Can you put that somewhere on pastebin too, please? From both internal (without kexec) and secondary (with kexec and the bug present) ROMs. You must have patched kernel in both ROMs for this to work (/proc/atags is not present on normal kernel).

Thank you.

* Source of atags_print: https://gist.github.com/Tasssadar/7630188
[One (M7) Original Android Development] Arcterus:
The new kexec binary doesn't fix the issue. I'm going to try atags_print after I patch the kernel I'm using.
[One (M7) Original Android Development] shaaXo:
Interestingly, it did work for me. I recompiled the kernel without the ATAG_MEMSIZE hack and originally though I forgot to flash it for the secondary rom. But dmesg and uname confirmed it and I booted a completely untouched Omni and PA, which also showed the full amount of RAM.

Attached is the dmesg output of the CM kernel patched with just the kexec patch, running from a coldboot into MultiROM (dmesg-coldboot), then the exact same kernel booted by selecting the non-primary ROM with the updated kexec (dmesg-kexec.txt) and then again the same kernel started using the old kexec (dmesg-oldkexec.txt). Note that the kernel booted with the updated kexec not only gets the correct mem_size_mb (as it already did with the hack), but also the gyro and compass ATAGS.
[One (M7) Original Android Development] Arcterus:
Well, that's odd. Perhaps I did something incorrectly... I guess I'll just try again and see what happens.
[One (M7) Original Android Development] shaaXo:
I had some problems accessing the /sdcard/multirom folder, even as root. Ended up copying it into /realdata/media/0/multirom/.

Is there any documentation about the initramfs rewriting and boot process in general? I would like to make it Sense/GPe compatible so they can be used as non-primary. A quick glance seems to indicate that the replaced init sets up the mounts and chroots into the new system. Any technical barriers preventing this from working with Sense/GPe, or should rewriting their init process work, too?
[One (M7) Original Android Development] Arcterus:
I was able to access /sdcard/multirom, but kexec didn't work there. I'll try /realdata/media/0/multirom soon.

I am not aware of any technical barriers that keep MultiROM from working with Sense/GPE kernels. It is probable that they just have a non-standard setup (hopefully just init-related) that needs to be account for by MultiROM.

My suggestion would be to look for any major differences between AOSP and Sense/GPE inits and add them to MultiROM.

EDIT: kexec fixes the issue when put in /realdata/media/0/multirom.
[One (M7) Original Android Development] deathrowz_sri:
Im trying to install MIUI one as an additional rom but it gives a error message saying the file size is too big and its repacking or something. But once its repacked it says md5 error and refuses to install. Any solution? Is there a maximum size for second rom?
[One (M7) Original Android Development] Giblet-dono:
Is the Miui rom based on AOSP or Sense sources?

As far as I know it's based on Sense, and sense based can't be used as a secondary rom..

If you are unsure, please post a link to the thread
[One (M7) Original Android Development] djeddy:
😃

hello guys i tried to install the recovery MultiROM, but not conpare advanced function button MultiROM. could you help me. thanks
[One (M7) Original Android Development] duhhh:
did you flash custom kernel and hit inject current bootsector after the install
[One (M7) Original Android Development] Arcterus:
If there's an MD5 error, then your MIUI image is probably corrupted. You should download it again.

---------- Post added at 01:49 PM ---------- Previous post was at 01:46 PM ----------

It's based off of AOSP, and I've tried it so I know it works. :)
[One (M7) Original Android Development] djeddy:
guys, it works with Android 4.4 rom?
[One (M7) Original Android Development] duhhh:
yes
[One (M7) Original Android Development] djeddy:
I like the rom first and second viperone Android Revolution HD-One GE. When I go to select the second rom, will not start. Why?
[One (M7) Original Android Development] Giblet-dono:
Please read the OP, the FAQ and search the thread, this question has been answered before.

You cannot use Sense/GPE as a secondary rom!

Only AOSP based roms (such as AOKP/PAC/MIUI/AICP/Carbon)
[One (M7) Original Android Development] djeddy:
you can use as romprimaria the gpe and as the second sense?
[One (M7) Original Android Development] Freak07:
read the post above :D
[One (M7) Original Android Development] jawonder:
Are you gonna update the recovery to TWRP 2.6.3.3 ?
[One (M7) Original Android Development] blast1987:
Does anyone know if it's possibile to install second rom from a ROM Backup ? (done with TWRP)
[One (M7) Original Android Development] duhhh:
yep should work
[One (M7) Original Android Development] maerdance:
yes, u can!

;)
[One (M7) Original Android Development] formula84:
Is everyone still seeing the memory issues with any ROM other then #1?
[One (M7) Original Android Development] Giblet-dono:
Just keep in mind that GPE and Sense based roms will not work as secondary, even using this method..
[One (M7) Original Android Development] blast1987:
ah, gpe can't be used as secondary.. didn't know that. i thought only sense...

well then, i can't do dual boot with multirom sense\gpe based roms :|
[One (M7) Original Android Development] Giblet-dono:
Sense and GPE can only be used as a primary rom, secondary rom can only be AOSP based, such as: AOKP, PAC, CM, MIUI etc
[One (M7) Original Android Development] tri.ananta:
Yes, I have the same question.. without the latest TWRP recovery, we will not be able to boot ARHD 40.2 Android 4.4 KitKat as the primary rom.
[One (M7) Original Android Development] blast1987:
Yes i have the same question too :D

Anyway i am a developer and I'd be happy to help if any help is needed.
[One (M7) Original Android Development] Nightf0x_007:
i am on viperone rom and i want to install 4.4 insertcoin as a 2nd rom but it needs twrp 2.6.3.3 recovery ?
[One (M7) Original Android Development] blast1987:
like someone said before, you can't use sense\gpe based roms as 2ND ROMS
[One (M7) Original Android Development] Nightf0x_007:
oooh ok thank you for clearing it
[One (M7) Original Android Development] Nekromantik:
Can I install it for Sense KK 1st ROM and Omni KK 2nd ROM?
[One (M7) Original Android Development] Giblet-dono:
Yep!

As long as you don't try Sense or GPE as a seconday you will be fine
[One (M7) Original Android Development] Nekromantik:
Thanks

What about latest version of TWRP with patch as some ROMs only work with new version.
[One (M7) Original Android Development] Giblet-dono:
[MENTION=4870917]oblikas[/MENTION] has been very busy with school, I am also hoping he will make a new version ofer christmas holidays or something.

But for now we will have to do without
[One (M7) Original Android Development] oblikas:
I am reeeeally busy with school,I will update everything after exams
[One (M7) Original Android Development] Giblet-dono:
Don't worry, school is always more important!

We will wait!
[One (M7) Original Android Development] Nekromantik:
Ok :)

Thanks
[One (M7) Original Android Development] n3ocort3x:
i wondered where u have been on hangouts.... :) AICP misses one man atm.... lol do ur exams and fingers crossed
[One (M7) Original Android Development] z31s1g:
TWRP Holofied theme for MultiROM released

TWRP Holofied theme for MultiROM released

If some of you want to give it a try, have a look at the TWRP Holofied thread.
[One (M7) Original Android Development] Giblet-dono:
Amazing work!

I love this vertical layour of buttons way better than the default grid layout!