[TOOL] LunarTools Menu Initd & CommandLine Parsing scripts - HTC Rezound

Welcome to LunarTools​
Download standalone: Link
Can find older versions here along with some other rom mods: Link
Download compatibility test script: Link
Link to script source
Link to app source
Q: What is this?
Breif explanation of LunarCmdline & LunarMenu:
LunarCmdLine: It's intended use is for getting rid of the need of a cpu control app. This script allows the end user to change kernel defaults as a boot.img for either immediate flashing or saving for later on a storage option. Can only be implemented if your kernel supports showp1984's command line options.
LunarInitd: Same as Cmdline but more universal to any kernel when paired with init.d supported roms. Be aware, even though this may be safer it may also not be quite as stable as Cmdline.
LunarMenu: This coincides with the boot.img's created from invoking LunarCmdline. It lists the boot.img's created that are found on internal storage in lunar directory. Also has the ability to flash a recovery for you. Also those rom dev's who wish to implement it later you will be able to switch your boot.img using this script.
Think of them as my implementation of TWRP's Dumlock option that works with with every recovery. AS WELL -DO NOT SET A HOTPLUG GOVERNOR WITH CMDLINE! This *might* result in a softbrick only recoverable by reflashing your rom's boot.img.
Q: Oh neat ok, ..... but how do I run them?
Using a terminal emulator app, allow superuser permissions (su then enter), then invoke either script (menu then enter or cmdline then enter).
Q: There was mention earlier about recoveries or switching boot.img's, how do I use that feature?
Place the recovery you wish to flash in the lunar folder on internal storage(Sense)/external (AOSP) in this name format "recovery<name><version of recovery>.img". You will also be prompted if you wish to create a recovery backup if you wish to use the feature. Examples: recovery_CWMTouch6.0.3.1.img or boot_Rage2.5.img
Q: Would I be able to use this with other boot.img's/kernels?
Currently, if your rom dev supports the feature.
Q: Do you plan to support XxYzZ feature?
Post some feedback. I might consider it.
Q: I have a question not listed here, what information would you need if I had an issue?
Filename of the latest boot/recovery you intended to flash & of course your patience while we work on the issue at hand.
Q: I'm a kernel/rom dev, can I use these for HTC xYzzYx device in my android project ?
This is freely distributed for use, all I ask is if you do use it refer back to this thread. If assistance is needed please PM me or post in thread. You may need to modify some values in cmdline.sh for proper implementation and will need abootimg & unzip in system/bin as part of busybox/toolbox.
Known Bugs:
If flashing a recovery, remember to rename your recovery_backup.img to proper format (recovery<name><version>.img). If you don't and attempt to flash it using the same backup filename, you will just be reflashing your current recovery. No longer a bug
Remember to reboot to recovery if it doesn't automatically.
To do or possibly implement:
zImage flashing similar to AnyKernel. Done!
Known Compatible Devices:
HTC Rezound
Credits @d.kozzer - Without your knowledge & assistance the GUI wouldn't exist
PS: REMEMBER THIS IS ALL AT YOUR OWN RISK AND PURE BETA!!!! YOU CAN POTENTIALLY SOFTBRICK BUT CAN ALSO EASILY RESTORE FROM THAT SOFTBRICK!

A quick how-to from a good friend that's been using this since release candidates:
kcirtap420 said:
Here's a quick rundown of what I came up:
LunarTools(menu only currently) Options Explained
NOTE: If you are prompted to reboot or it fails to auto-reboot please do so
and follow instruction.(auto-reboot doesn't work with sense roms)
Option 1 will give you the ability to flash saved boot.img configurations from the cmdline feature or apply those same settings via init.d , eliminating the need for a cpu or kernel modifing app.
Once selected to will be prompted to choose which boot configuration to flash/appl. If command line, reboot to recovery (auto wipes cache and dalvik) for settings to apply. If init.d a simple reboot will do.
Option 2 has the ability to flash a recovery for you, and also backup your current one!
To do this you must first place a recovery image in the lunar folder, rename it to look like this recovery"name""version" enter recovery name and version without quotes.
Once selected it will ask which recovery to flash(if it's not there make sure it's named correctly and in the lunar folder!)
It will then ask you if you would like to backup your current recovery.(this will be in the lunar folder ready to
go!) Enjoy your new recovery once it's completed! No reboot needed.
Option 3 can be used for a couple things, you can update your kernel, or flash a whole new one!
To flash a new one place kernel zip in the lunar folder. If you would like to update your current kernel, place the zimage from a kernel zip in the lunar folder.
Select either file from the list, Once it's done reboot to recovery if not done automatically ( auto wipes cache and dalvik)
Option 4 is the answer for S-on users and boot.img's, REJOICE!! This option will flash a boot.img from a ROM zip!
To do this first place the ROM zip inside the lunar folder and select it, it will continue to flash the boot.img. Once it's done
reboot to recovery and go about usual ROM flashing habits such as perform factory reset and wipe system, then install your ROM and reboot!
Enjoy your new ROM flashed without fastboot commands!
Click to expand...
Click to collapse
Please try to take any questions/bugs to this thread
http://forum.xda-developers.com/showthread.php?p=41634758
or here
http://themikmik.com/showthread.php?16096-LunarTools-ChitChat-amp-Bugs-Thread

For now, the source that's on git is for AOSP roms(place boot.img's on sdcard/lunar). Bare with me while working on getting insecured boots for AOSP to get the scripting to work properly.

Snuzzo said:
For now, the source that's on git is for AOSP roms(place boot.img's on sdcard/lunar). Bare with me while working on getting insecured boots for AOSP to get the scripting to work properly.
Click to expand...
Click to collapse
wow wait for this to be stable. cheers!

Watching

sexy
lookin sexy!

First bug found
Problem
When choosing recovery_backup<DATE>.img and today's date is the same recovery doent seem to flash.
Solution
Rename recovery_backup<DATE>.img to a proper filename. recovery_<name><version>.img and flash the file under the new filename.
Just a small bug found which I will be rectifying very VERY soon.

Nearing release as standalone flashables.
https://github.com/Snuzzo/LunarTools/commit/9bd3b14b2f6a23172da957ae893fea9f5bb0f766

For those who have been following this; do you see anything that you would like implemented?
Standalone flashables posted in the OP for download.

OK so far heroes what i got in a new menu addition...
Pulls boot.img from zip
Flashes it
Creates a recovery script which right now only flashes the zip you chose
Then auto reboots.
May need some assistance with this as it needs to wipe data cache. I probably could do this with a rm command prior to auto reboot.
Thoughts?
Sent from my Nexus 7 using Tapatalk HD

Snuzzo said:
OK so far heroes what i got in a new menu addition...
Pulls boot.img from zip
Flashes it
Creates a recovery script which right now only flashes the zip you chose
Then auto reboots.
May need some assistance with this as it needs to wipe data cache. I probably could do this with a rm command prior to auto reboot.
Thoughts?
Sent from my Nexus 7 using Tapatalk HD
Click to expand...
Click to collapse
I like the idea of it just auto booting into recovery only after flashing boot.img
Edit: or maybe have the script prompt if you want to reboot
Sent from my ADR6425LVW using xda premium

Bug: mismatched boot and rom in a backup
Solution: before using the 4th option to flash a boot.img from zip run your optional nandroid prior.
Sent from my Nexus 7 using Tapatalk HD

Test builds sent out as extensions to busybox placed in /system/bin.
So far that has been working nicely. If those testers find any softbricks today I won't be releasing.
Next to do:
write a how to even though the menus are rather straight forward.
Add implementation of auto reboot to recovery to finish flashing a zImage from a zip.
Further reduce bootsize buffer for compression of output boot.imgs.
Finalize LunarCmdline.
Write a script to test compliance.
Sent from my ADR6425LVW using Tapatalk 2

Updated OP with a v1 release. Still has some work but 99% of it is completed.
Next to do:
write a how to even though the menus are rather straight forward.
Add implementation of auto reboot to recovery to finish flashing a zImage from a zip. Done
Further reduce bootsize buffer for compression of output boot.imgs. Done
Finalize LunarCmdline.
Write a script to test compliance of other devices.
Footnotes:
1st menu option- Not completely implemented yet. Could be used if wishing to restore a backup from Amon RA/CWM, I have further plans for it
3rd menu option- Use zImage from zip if fresh flashing. Use straight zImage if updating/downdating.
DO NOT PUT INVALID CHARACTERS IN ANY REQUESTED INPUTS! This could lead to unwanted results. Please PLEASE ask questions, don't let curiosity get the best of you.
Sent from my ADR6425LVW using Tapatalk 2

Had to re-upload a fixed AOSP/SDCARD zip. It was attempting to source a file from sdcard2.
http://www.androidfilehost.com/?fid=13858035414129967316

Major thanks, this is a really simple way to make use of cmdline features. :thumbup:
Sent from my ADR6425LVW using xda premium

ezpz
Gotta say this is a very handy tool to have around. I've flashed a bunch of different roms/boot.img/zimage and its pretty simple, especially after doing it at least once.

would this finally be an app to make it noob friendly
Sent from my MIUIFIED using xda premium

live2die said:
would this finally be an app to make it noob friendly
Sent from my MIUIFIED using xda premium
Click to expand...
Click to collapse
A walk thru is in the works but its pretty straight forward
Sent from my ADR6425LVW using xda premium

Still got some minor kinks to work. Mainly on the Sense portion. Some of the ported roms are being a pain. The cmdline script runs beatifully. If you're s-off, mainly going to be interested in menu options 1 & 3. Both scripts work brilliantly with s-on and s-off alike without using fastboot.
Next to do:
write a how to even though the menus are rather straight forward.
Clean up some of the script to make it more efficient.
Create a boot.img to command line bootimg.cfg converter.
Add implementation of auto reboot to recovery to finish flashing a zImage from a zip. Done
Further reduce bootsize buffer for compression of output boot.imgs. Done
Finalize LunarCmdline. Done
Write a script to test compliance of other devices. Done

Related

Flash image gui?

Would this be a possible solution to our kernel flashing problems, I know it works for the evo
Sent from my HTC Amaze 4G using XDA App
DEFINITIONOFREAL said:
Would this be a possible solution to our kernel flashing problems, I know it works for the evo
Sent from my HTC Amaze 4G using XDA App
Click to expand...
Click to collapse
It's possible. In fact I mentioned this about a month ago to a developer.
I would like to see one that has a couple of options such as flashing recovery and flashing boot.img files.
You can easy push the flash_image binary to /system/bin and set the permission to 755. In fact my CWMFaux kernel does just that. Faux stopped using it because it doesn't always work.
In fact I made it so easy that all you need to do is push the boot.img to /system and reboot. Yet... no one uses it. In fact I suggested to a couple of rom developers to simply add the binary file to /system/bin so that you can at least run the command from terminal but they don't even want to do that. I like being able to update my recovery at anytime by entering "flash_image recovery /sdcard/recovery.img" and then just rebooting to recovery. You can easily do that for kernels too. But I suppose it's so much easier to carry a computer around.
Binary100100 said:
It's possible. In fact I mentioned this about a month ago to a developer.
I would like to see one that has a couple of options such as flashing recovery and flashing boot.img files.
You can easy push the flash_image binary to /system/bin and set the permission to 755. In fact my CWMFaux kernel does just that. Faux stopped using it because it doesn't always work.
In fact I made it so easy that all you need to do is push the boot.img to /system and reboot. Yet... no one uses it. In fact I suggested to a couple of rom developers to simply add the binary file to /system/bin so that you can at least run the command from terminal but they don't even want to do that. I like being able to update my recovery at anytime by entering "flash_image recovery /sdcard/recovery.img" and then just rebooting to recovery. You can easily do that for kernels too. But I suppose it's so much easier to carry a computer around.
Click to expand...
Click to collapse
Im going to contact joeykrim and see if I can get him to add support in his app, and Ive been using your method since I got the phone (2 days ago) and started reading, but still a little hassle, and a big htc fail
Sent from my HTC Amaze 4G using XDA App
DEFINITIONOFREAL said:
Im going to contact joeykrim and see if I can get him to add support in his app, and Ive been using your method since I got the phone (2 days ago) and started reading, but still a little hassle, and a big htc fail
Sent from my HTC Amaze 4G using XDA App
Click to expand...
Click to collapse
Keep me posted will ya?
I believe that Faux and other developers would have to use the zImage kernel flashing technique to get it to work with his existing app but I'm sure he can simplify it to accept .img files and the .ko files in the /system/lib directory of a zip file. It actually should be very easy. It took me about ten mintues with testing included to create the script for my method. I just can't code for apps else it would be done by now.
DEFINITIONOFREAL said:
Im going to contact joeykrim and see if I can get him to add support in his app, and Ive been using your method since I got the phone (2 days ago) and started reading, but still a little hassle, and a big htc fail
Sent from my HTC Amaze 4G using XDA App
Click to expand...
Click to collapse
I contacted pershoot, no answer lol!!!
Joeykrim is willing to support the Amaze, he just needs testers, this would be a great backup incase the new script failed to push the kernel. I'll keep everyone posted with updates
Sent from my HTC Amaze 4G using XDA App
I've been working with joeykrim getting his app setup for our device, it looks like it should work, hopefully, within the next couple of days we can get this working and released
Sent from my HTC Amaze 4G using XDA App
DEFINITIONOFREAL said:
I've been working with joeykrim getting his app setup for our device, it looks like it should work, hopefully, within the next couple of days we can get this working and released
Sent from my HTC Amaze 4G using XDA App
Click to expand...
Click to collapse
That would be wonderful!
I'm tired of having to repeat myself.
flash_image boot /sdcard/boot.img
flash_image recovery /sdcard/recovery.img
Binary100100 said:
That would be wonderful!
I'm tired of having to repeat myself.
flash_image boot /sdcard/boot.img
flash_image recovery /sdcard/recovery.img
Click to expand...
Click to collapse
I just wish the devs would use your script, it would make things so much easier
Sent from my HTC Amaze 4G using XDA App
DEFINITIONOFREAL said:
I just wish the devs would use your script, it would make things so much easier
Sent from my HTC Amaze 4G using XDA App
Click to expand...
Click to collapse
Once I see that they do I can work out something else like:
kernelupdate
recoveryupdate
kernelupdate would be
flash_image boot /sdcard/kernel/*boot*.img
recoveryupdate would be
flash_image recovery /sdcard/recovery/*recovery*.img
So that if you place ANY of the appropriate img file in the perspective folders on the sdcard partition it would flash the .img by just entering either of the two commands from adb shell or terminal.
But I'm not going to waste my time if the devs don't want to use it.
Binary100100 said:
Once I see that they do I can work out something else like:
kernelupdate
recoveryupdate
kernelupdate would be
flash_image boot /sdcard/kernel/*boot*.img
recoveryupdate would be
flash_image recovery /sdcard/recovery/*recovery*.img
So that if you place ANY of the appropriate img file in the perspective folders on the sdcard partition it would flash the .img by just entering either of the two commands from adb shell or terminal.
But I'm not going to waste my time if the devs don't want to use it.
Click to expand...
Click to collapse
could a script be written to automatically flash these while installing/flashing the custom rom? This would cut down atleast the step for flashing kernels for a lot of noobs!!
seansk said:
could a script be written to automatically flash these while installing/flashing the custom rom? This would cut down atleast the step for flashing kernels for a lot of noobs!!
Click to expand...
Click to collapse
Actually, yes! I did add it to the init.d script but since xboarder had removed the init.d scripts from his rom it doesn't work anymore. But you sure could. It was basically how I was setting up my CWMFaux kernels. However it didn't seem to work 100% of the time. Couldn't figure out why.
It basically worked like this...
Flashing the CWM custom kernel .zip via recovery.
copies boot.img to /system
copies init.d 06tweaks script to init.d folder.
copies and set permissions for flash_image binary and kernelupdate script to /system/bin directory.
You then boot your phone up which triggers the init.d script which commands the kernelupdate script to initiate. The kernel update script is simply using the flash_image binary command "flash_image boot /system/boot.img" and it automatically updates the kernel. Then the init.d script removes the boot.img file from the /system directory to keep it from flashing upon every boot.
I would like to change it to /sdcard directory but there's the problem that the sdcard doesn't get mounted until the very end. WAY after the system. Which is why I stored it there. The system gets mounted even before the data partition so I couldn't even store the file in data because the script would run even before the data partition could mount. Basically the script is initiated while your still looking at the boot animation. Pretty much when your softkey backlights and led light comes on it flashes the new kernel. It's a pretty neat workaround if I must say but unfortunately nowhere near perfect and not even close to having an s-off workaround.
Now if you don't mind the fact that it won't be initiated upon boot I could make it so that it will flash any file in a perspective folder on the sdcard.
example:
kernelupdate would update the kernel with any *boot*.img file located in a certain directory... say /sdcard/kernel
recoveryupdate would update the recovery with any *recovery*.img file located in a certain directory... say /sdcard/recovery
The problem:
Some people would want to collect their kernels and recoveries and store them in those directories. That would NOT be possible since using the command "flash_image recovery /sdcard/*recovery*.img would flash any img file with the word "recovery" in it. So if there's more than one it would error out and not flash anything because of the conflict. Same principal with the kernel only MOST kernels are simply named "boot.img" where-as almost all recovery files have a unique name since they are all already custom.
Binary100100 said:
Actually, yes! I did add it to the init.d script but since xboarder had removed the init.d scripts from his rom it doesn't work anymore. But you sure could. It was basically how I was setting up my CWMFaux kernels. However it didn't seem to work 100% of the time. Couldn't figure out why.
It basically worked like this...
Flashing the CWM custom kernel .zip via recovery.
copies boot.img to /system
copies init.d 06tweaks script to init.d folder.
copies and set permissions for flash_image binary and kernelupdate script to /system/bin directory.
You then boot your phone up which triggers the init.d script which commands the kernelupdate script to initiate. The kernel update script is simply using the flash_image binary command "flash_image boot /system/boot.img" and it automatically updates the kernel. Then the init.d script removes the boot.img file from the /system directory to keep it from flashing upon every boot.
I would like to change it to /sdcard directory but there's the problem that the sdcard doesn't get mounted until the very end. WAY after the system. Which is why I stored it there. The system gets mounted even before the data partition so I couldn't even store the file in data because the script would run even before the data partition could mount. Basically the script is initiated while your still looking at the boot animation. Pretty much when your softkey backlights and led light comes on it flashes the new kernel. It's a pretty neat workaround if I must say but unfortunately nowhere near perfect and not even close to having an s-off workaround.
Now if you don't mind the fact that it won't be initiated upon boot I could make it so that it will flash any file in a perspective folder on the sdcard.
example:
kernelupdate would update the kernel with any *boot*.img file located in a certain directory... say /sdcard/kernel
recoveryupdate would update the recovery with any *recovery*.img file located in a certain directory... say /sdcard/recovery
The problem:
Some people would want to collect their kernels and recoveries and store them in those directories. That would NOT be possible since using the command "flash_image recovery /sdcard/*recovery*.img would flash any img file with the word "recovery" in it. So if there's more than one it would error out and not flash anything because of the conflict. Same principal with the kernel only MOST kernels are simply named "boot.img" where-as almost all recovery files have a unique name since they are all already custom.
Click to expand...
Click to collapse
quite a dilemma, I wonder if we could add pause to the script until everything is loaded on the first boot then after the pause the script flahes the recovery and more importantly the kernel!!! if this was possible we could keep the files in a separate place on the SD card.
Still nothing like S-off!!! Thanks HTC for being so dev friendly
seansk said:
quite a dilemma, I wonder if we could add pause to the script until everything is loaded on the first boot then after the pause the script flahes the recovery and more importantly the kernel!!! if this was possible we could keep the files in a separate place on the SD card.
Still nothing like S-off!!! Thanks HTC for being so dev friendly
Click to expand...
Click to collapse
I'm sure there's a way to add a delay timer of some sort. I'm just not that savvy. Easiest way would be through an app like Tasker.
DEFINITIONOFREAL said:
Would this be a possible solution to our kernel flashing problems, I know it works for the evo
Sent from my HTC Amaze 4G using XDA App
Click to expand...
Click to collapse
The short answer is yes!
I've setup the application to support the HTC Amaze 4G, but before I release it publically and officially, I want to have a few testers confirm everything is working properly for them.
Posted all the information in a new thread as this one seems to be covering a few different topics so I didn't want to "hijack".
http://forum.xda-developers.com/showthread.php?p=21574722
Thanks for the request and for reaching out to me DEFINITIONOFREAL.
Binary100100 said:
Once I see that they do I can work out something else like:
kernelupdate
recoveryupdate
kernelupdate would be
flash_image boot /sdcard/kernel/*boot*.img
recoveryupdate would be
flash_image recovery /sdcard/recovery/*recovery*.img
So that if you place ANY of the appropriate img file in the perspective folders on the sdcard partition it would flash the .img by just entering either of the two commands from adb shell or terminal.
But I'm not going to waste my time if the devs don't want to use it.
Click to expand...
Click to collapse
I think my application, Flash Image GUI, will be the best alternative, but of course I have a biased opinion!
Regarding alternatives, I think a simple sh script which takes an argument would make a nice wrapper. The argument would be location to the image file to flash. The script could either bundle the flash_image binary or take the location of it as another argument.
All depends on how the developers want to create some type of standard. Which is another great reason Flash Image GUI will work well as it contains everything required and doesn't rely on developers providing support in their ROM, only relys on developers following the standards for ROMs and kernel .zip files.
Also, in looking through some of the custom ROMs and kernel .zip files for this device, I notice one of the custom kernels does something similar to the suggestions above, it executes a file located in /system/etc/init.d on every boot which automatically flashes /system/boot.img file.
At first glance I was horrified to see this as this is a *major* security issue. If anybody were to place any type of file in /system/boot.img, either a rogue kernel or just a blank file, the script automatically flashed it on boot w/o any type of file verification or user notification!
Wanted to get that off my chest and discourage the use of *automatic* loading of any type of major file, such as kernel or recovery image, especially without at least file verification or user approval/notification.
I'll try and keep up with the thread and help contribute ideas to alternatives for anybody who wants to develop/implement! Great ideas in the thread and always enjoy reading community collaboration efforts, especially in resolution to manufacturer "adjustments" of standards.
ugh, sorry about the double post (too excited for being too early in the morning). if a moderator wants to combine my last two posts, please do. i dont have access to delete a post.
joeykrim said:
I think my application, Flash Image GUI, will be the best alternative, but of course I have a biased opinion!
Regarding alternatives, I think a simple sh script which takes an argument would make a nice wrapper. The argument would be location to the image file to flash. The script could either bundle the flash_image binary or take the location of it as another argument.
All depends on how the developers want to create some type of standard. Which is another great reason Flash Image GUI will work well as it contains everything required and doesn't rely on developers providing support in their ROM, only relys on developers following the standards for ROMs and kernel .zip files.
Also, in looking through some of the custom ROMs and kernel .zip files for this device, I notice one of the custom kernels does something similar to the suggestions above, it executes a file located in /system/etc/init.d on every boot which automatically flashes /system/boot.img file.
At first glance I was horrified to see this as this is a *major* security issue. If anybody were to place any type of file in /system/boot.img, either a rogue kernel or just a blank file, the script automatically flashed it on boot w/o any type of file verification or user notification!
Wanted to get that off my chest and discourage the use of *automatic* loading of any type of major file, such as kernel or recovery image, especially without at least file verification or user approval/notification.
I'll try and keep up with the thread and help contribute ideas to alternatives for anybody who wants to develop/implement! Great ideas in the thread and always enjoy reading community collaboration efforts, especially in resolution to manufacturer "adjustments" of standards.
ugh, sorry about the double post (too excited for being too early in the morning). if a moderator wants to combine my last two posts, please do. i dont have access to delete a post.
Click to expand...
Click to collapse
I look forward to tryin out your app.
It was basically what this thread was all about in the first place.
The clockwork method that you mentioned is the only workaround that I was able to come up with for custom kernels (like Faux123) because a kernel cannot be flashed through recovery without s-off. Really stupid. So I started thinking "How can we flash a boot.img file from recovery without the typical means?" Then came up with the solution to flash_image the boot.img file automatically IF the file is detected. But how to start a script automatically upon boot? init.d is the only way I could think of. Okay... so where to put the boot? I tried the sdcard but it failed to mount until it was way too late. So... data. Nope... still didn't mount in time. Cache? Well... how many developers will include a cache file into their roms? So the only other option was /system and it seemed convenient since /system mounts BEFORE the script can run (obviously) so that's why it is as it is. I also figured "If someone wants to flash a new kernel all they need to do is push the boot.img to /system and reboot." Must easier than using the EKF method (requiring PC access) and I don't know about you but I'm not around a computer 24/7.

[SCRIPT/TOOL] Convert2Dualboot-SD Tool v1.4[Linux/OSX/Android/DOS][6/8]

Hello all you Triple-Booters out there! I would like to introduce to you:
Convert2Dualboot-SD Tool​
What is this you ask?
This is a little tool that I've put together that will convert any standard flashable roms for our Nook Color to be DualbootSD compatible. No more waiting on my lazy arse to update you guys!!! I used APK manager as a base for my script. I've written 3 different versions that will run on Linux, OSX and Android. All neccesary binaries are included with each version.
Click to expand...
Click to collapse
Can I use any kind of flashable zips?
Yes and no. You could use any standard flashable "rom" or "gapps" zips only.
Click to expand...
Click to collapse
How do I use it?
You drop a standard rom .zip into a "rom-to-modify" folder. Then execute a shell script that will give you an option to convert it for flashing to Primary or Alternate boot on the DualbootSD.
Click to expand...
Click to collapse
Can I use any CWM Recovery for flashing?
Absolutely not! Only use the CWM Recovery that was included with the DualbootSD.
Click to expand...
Click to collapse
Will you be updating this to add new features and stuff?
Not sure what features I can add, but you can always check the CHANGE LOG in post 3.
Click to expand...
Click to collapse
Can you give us step by step directions on how to use this?
Of course! See second post for more details.
Click to expand...
Click to collapse
***Disclaimer: Usual disclaimer applies here as well... you use this at your own risk, I am not responsible for anything that happens to any of your devices. You assume all responsibility when using this tool.***​
Credits:
Daneshm90 for the APK Manager Script I used as a base
Pinako/Inportb/Jyio/Boss! - for his Android binaries
DizzyDen - for porting this over to DOS and his many ideas to get the script to where it's at
HacDan - for some bash guidance
If I forgot someone else, please notify me.
Convert2Dualboot-SD Tool-README​
Convert2Dualboot-SD-Linux v1.4
DOWNLOAD
*C2DSD=Convert2Dualboot-SD*
1-Extract the zip file you just downloaded anywhere on your system
2-In the C2DSD folder, there are 2 folders called "modify-for-pri" and "modify-for-alt". Copy your rom.zip and/or gapps.zip file into its respective folder. No need to rename the file as long as it has a .zip extension.
3-Open up terminal and cd into Convert2Dualboot-SD-Linux
4-At the termninal prompt execute the C2DSD script
Code:
$ sh convert*
5-This will give you a menu where you can choose to modify the "rom" and/or "gapps" for either Primary or Alternate boot. It will also give you an option to clear out recently modded zips. Now with option to mod both ROM & GAPPS on the fly. Just place both files inside either "modify-for-pri" or "modify-for-alt" and choose the option to modify both from the menu.
6-Choose your option and wait while it does its thing.
7-Once it's finished you can exit the program by choosing "0"
8-Now browse to the C2DSD folder and you can find your DualbootSD modded rom file either in "Primary-Mod" or "Alternate-Mod" depending on your earlier selection.
9-Copy that file to the /sdcard partition of your DualbootSD
10-Boot to CWM Recovery that is included with the DualbootSD
11-Flash and enjoy!
Click to expand...
Click to collapse
------------------------------------------------------------------------------------------
Convert2Dualboot-SD-OSX v1.4
DOWNLOAD
*C2DSD=Convert2Dualboot-SD*
1-Extract the zip file you just downloaded anywhere on your system
2-In the C2DSD folder, there are 2 folders called "modify-for-pri" and "modify-for-alt". Copy your rom.zip and/or gapps.zip file into its respective folder. No need to rename the file as long as it has a .zip extension.
3-Open up terminal and cd into Convert2Dualboot-SD-OSX
4-At the termninal prompt execute the C2DSD script
Code:
$ ./convert*
5-This will give you a menu where you can choose to modify the "rom" and/or "gapps" for either Primary or Alternate boot. It will also give you an option to clear out recently modded zips. Now with option to mod both ROM & GAPPS on the fly. Just place both files inside either "modify-for-pri" or "modify-for-alt" and choose the option to modify both from the menu.
6-Choose your option and wait while it does its thing.
7-Once it's finished you can exit the program by choosing "0"
8-Copy that file to the /sdcard partition of your DualbootSD
9-Boot to CWM Recovery that is included with the DualbootSD
10-Flash and enjoy!
Click to expand...
Click to collapse
------------------------------------------------------------------------------------------
Convert2Dualboot-SD-Android v1.4
DOWNLOAD
*C2DSD=Convert2Dualboot-SD*
1-This will allow you to modify the zip files directly on your Nook
2-Extract the zip file you just downloaded to the root of your DualbootSD /sdcard partition.
3-The folder should be named c2dsd
4-In the c2dsd folder, there are 2 folders called "modify-for-pri" and "modify-for-alt". Copy your rom.zip or gapps.zip file into its respective folder. No need to rename the file as long as it has a .zip extension.
5-Open up any Terminal Emulator and cd into the c2dsd folder which should be "/sdcard/c2dsd"
6-At the termninal prompt execute the C2DSD script
Code:
$ su
# sh convert*
7-This will give you a menu where you can choose to modify the "rom" and/or "gapps" for either Primary or Alternate boot. It will also give you an option to clear out recently modded zips. Now with option to mod both ROM & GAPPS on the fly. Just place both files inside either "modify-for-pri" or "modify-for-alt" and choose the option to modify both from the menu.
8-Choose your option and wait while it does its thing.
9-Once it's finished you can exit the program by choosing "0"
10-Now you can choose to boot to CWM Recovery that is included with the DualbootSD
11-Choose "install zip from sdcard" and browse to either "Primary-Mod" or "Alternate-Mod" depending on your earlier selection.
12-Flash and enjoy!
Click to expand...
Click to collapse
------------------------------------------------------------------------------------------
Convert2Dualboot-SD-DOS v1.3
DOWNLOAD
*C2DSD=Convert2Dualboot-SD*
1-Extract the zip file you just downloaded anywhere on your system
2-In the C2DSD folder, there are 2 folders called "modify-for-pri" and "modify-for-alt". Copy your rom.zip and/or gapps.zip file into its respective folder. No need to rename the file as long as it has a .zip extension.
3-Open up command window and cd into Convert2Dualboot-SD-DOS or create a shortcut on your desktop
4-At the command prompt execute the C2DSD script
Code:
convert2dualboot-sd-dos
5-This will give you a menu where you can choose to modify the "rom" and/or "gapps" for either Primary or Alternate boot. It will also give you an option to clear out recently modded zips. Now with option to mod both ROM & GAPPS on the fly. Just place both files inside either "modify-for-pri" or "modify-for-alt" and choose the option to modify both from the menu.
6-Choose your option and wait while it does its thing.
7-Once it's finished you can exit the program by choosing "0"
8-Copy that file to the /sdcard partition of your DualbootSD
9-Boot to CWM Recovery that is included with the DualbootSD
10-Flash and enjoy!
Click to expand...
Click to collapse
And that's all she wrote... well he, being me.
If I've helped in anyway. Don't hesitate to hit the thanks button.
Change log:
v1.4 (6/8/2012)
-Fixed gapps being zipped with rom when converting rom & gapps together
-Added SDCacheMount to converted roms (see the SDCacheMount thread for more info)
-Fixed mkimage binary executing error for Linux version
-No DOS update yet.... DizzyDen?????
-Thanks goes to xda user "shumash" for the SDCacheMount addition into the script
v1.3a
-Mkimage error on Android Script fixed.
-Mkimage is dependent on 'libmusl.so' which I did not include and linked in the tools folder. I overlooked this tidbit because I had "BOTBREW" installed on my system so it never complained about linking to it.
v1.3
-I effed up on the script!
-RASTAVIPER kept asking me about issues with his gapps. Apparently the mod for Gapps Alt Boot had the wrong mount points inserted into the updater script. NOW I SEE IT!
-Also in the DOS version. Prep of ROM Alt Boot had the wrong mount points as well. Sorry guys.
-It's been fixed and uploaded. Please don't use v1.2 anymore. Thanks.
v1.2
-Changed up UI layout of script: Please re-read README from post 2 above for edited instructions.
-Edited script to speed up mod process (Thanks DizzyDen!)
-Added option to mod both "ROM & GAPPS" on the fly
-Android version now has a tool.img file. This makes modding quicker and safer.
-Added DOS version ported by DizzyDen! (Thank you sir!)
-Modding for EMMC dualboot version in the works???? (That's if you guys want it)
v1.1
-Added gapps option
-Cleaned up some scripting behaviors
v1.0
-Initial release
Well.. after some thought, it really didn't make sense to release this without an option to mod gapps for the DualbootSD. I mean what good is a rom without gapps?!
Convert2Dualboot-SD v1.1 is up if anyone wants to try.
Check post 3 for all changlogs.
Thanks,
Racks
Taking advantage of the opportunity to try something new, I made a dual-boot card for my sister-in-law.
This is cool. I actually haven't tested the card yet as I have my device flashed to internal and have modded the recovery some. I haven't backed up any of the changes I made (I know, I know) and don't want to have to do it again.
I may try updating the card now that you've included gapps, though. I hadn't made a bootable card since I first rooted this thing, and to be honest it was by accident even that time. So I was wondering how to get gapps, was thinking about setting an alt-recovery just for that.
But anyway, I hadn't looked at how to do the gapps yet, maybe it was easier than that. But this seems even easier.
Cool, man! I bet the dual/triple booters will love being able to make their own updates. The experience I had last night couldn't have been easier. My wife got me and her sister the Nooks at the same time, I am excited for her to see what I have been talking about the last six months.
I will be sure to try this once my NC gets here. Thanks!
Racks,
Works great but there's an odd 0 byte file in the DB zip called ^[email protected] Is that an artifact and can I just delete it?
shumash said:
Racks,
Works great but there's an odd 0 byte file in the DB zip called ^[email protected] Is that an artifact and can I just delete it?
Click to expand...
Click to collapse
DB zip? Sorry, but what are you referring to with that?
And could you also let me know which one you used? OSX, Linux, Android?
Edit: That might just be the stupid __MACOSX hidden folder that osx likes to include Forgot to exclude that and the .gitignore file when zipping. Although they aren't detrimental to running the C2DSD Tool, you can choose to delete them if you wish.
Thanks,
Racks
Thanks a lot Racks... great work... we'll get together and sort out the windows based version... can include it in your work here... or as another feature of the IMEI generator.
DizzyDen said:
Thanks a lot Racks... great work... we'll get together and sort out the windows based version... can include it in your work here... or as another feature of the IMEI generator.
Click to expand...
Click to collapse
Awesome to hear! Was hoping you would jump in.
We'll hook up and get the Windows based version here as well as incorporate it into your IMEI generator.
Thanks!
Racks
racks11479 said:
Awesome to hear! Was hoping you would jump in.
We'll hook up and get the Windows based version here as well as incorporate it into your IMEI generator.
Thanks!
Racks
Click to expand...
Click to collapse
Sounds like a plan... I just got in from work... and am off tomorrow.
DizzyDen said:
Thanks a lot Racks... great work... we'll get together and sort out the windows based version... can include it in your work here... or as another feature of the IMEI generator.
Click to expand...
Click to collapse
racks11479 said:
Awesome to hear! Was hoping you would jump in.
We'll hook up and get the Windows based version here as well as incorporate it into your IMEI generator.
Thanks!
Racks
Click to expand...
Click to collapse
+1 from a meathead windows user here.
Sent from my NookColor racks tripple boot using Tapatalk 2
racks11479 said:
DB zip? Sorry, but what are you referring to with that?
And could you also let me know which one you used? OSX, Linux, Android?
--SNIP--
Thanks,
Racks
Click to expand...
Click to collapse
Sorry for being vague. I meant the modded dualboot sd zip build. But I tried it again and it was fine, so let's say no more about it, eh?
On a related note, since you're so motivated now, how about creating those separate cache1 and cache2 partitions so that we don't have to wait so long to boot between the two?
Anyone who tried the new modding option and that would like to share with us which CM9 rom (nightly) did he convert and is working fine after conversion?
spdsl said:
+1 from a meathead windows user here.
Sent from my NookColor racks tripple boot using Tapatalk 2
Click to expand...
Click to collapse
Was hoping to have something before I had to go to work this morning... didn't get it completed...
to keep as close as Racks' I will have a DOS batch file available sometime tonight...
True Windows GUI version will be available early in the week.
Keeping with Racks' desires... both will be open source and stored on his github... I use AutoIT for windows programming these things.
shumash said:
On a related note, since you're so motivated now, how about creating those separate cache1 and cache2 partitions so that we don't have to wait so long to boot between the two?
Click to expand...
Click to collapse
Racks, I just sent you a PM that might help with this issue.
shumash said:
Racks,
Works great but there's an odd 0 byte file in the DB zip called ^[email protected] Is that an artifact and can I just delete it?
Click to expand...
Click to collapse
UPDATE: I converted the latest Mirage build, and when I tried to flash it, Recovery complained that it wasn't a valid zip file. Checked it and the same weird file was in the converted flashable zip. When I ran the conversion a second time, all was good and it flashed as expected. I had deleted all the extraneous _MACOSX and .gitignore file stuff prior to running it the first time. BTW, the problem in the quoted post was when I converted an ICS build the first time, too. Racks, do you think that there is something that occurs the first time the script is run that is different on subsequent runs that might account for this?
Just installed nightly 28.4 without Opengl and then gapps which appeared in the folder Primary Mod after conversion.
After that I cant get inside shop.I click to open it and it gets me back to main menu.
Any ideas?Reflashing of gapps didnt work.
RASTAVIPER said:
Just installed nightly 28.4 without Opengl and then gapps which appeared in the folder Primary Mod after conversion.
After that I cant get inside shop.I click to open it and it gets me back to main menu.
Any ideas?Reflashing of gapps didnt work.
Click to expand...
Click to collapse
Primary mod is for Primary boot. Default primary boot was CM7, so I'm assuming you formatted /system1 & /data1 before flashing?
Could you also unzip the contents of the converted gapps zip. And check the updater script. All /system variables should be /system1.
-Racks
I didn't format anything before flashing. I thought this as an upgrade, so after conversion I just proceed to flashing.
Finally, I flashed your own gapps that you have at your dualboot topic and now everything is back to normal.
Unfortunately, even after this upgrade, I still continue to deal with FC issues of mail, Facebook and of other random apps.I think there is some problem with my card and CM9, since CM7 runs perfect from emmc or from same mem card.
Unleashed from my Revolutionized Desire HD

[CWM] Nexus Q Factory Image

For all you Shotputterz heres the factory image we've been waiting for
assuming you have debug mode enabled, ADB and fastboot working properly
EDIT 1: REUP'D CWM mod
EDIT 2: reordered process to make more sense
Method:
1. Download the Beta CWM mod from rootzwikis credit to birdman EDIT:REUP'ED http://d-h.st/Fdp
2. Using fastboot, DO NOT FLASH Clockwork mod just use the syntax
"fastboot boot 'File path of clockwork mod image'
Note* this will boot directly into the recovery without permanently writing to the recovery and boot partition on the eMMC on the Nexus Qs board
3. Download the posted CWM factory backup posted
4. make the directory on the device and adb push the backup folder (unzipped) to /sdcard/clockworkmod/backup while in CWM recovery
*The device should show up in "adb devices" while in the CWM recovery*
5. *TEXT WILL BE REALLY SMALL! Now navigate with the Scroll wheel to backups and restore and tap the mute button to select.
*IF SOMETHING IS SELECTED IN ERROR THERE IS NO BACK BUTTON JUST REBOOT AND REDO FASTBOOT BOOT*
6. Now select restore and select the image folder
7.blah blah CWM Freaking MAGIC
8. Your Q is back to factory state
If someone wants to PM me or show me how to package this in a nicer CWM zip to install with a script let me know
http://d-h.st/yeo
*Note* I am NOT responsible if you brick your already bricked Nexus Q*
You sir get a beer, since my 2nd (dev) Q won't arrive until later this week, and mine was a shot put until this post.
If you happen to be in NYC before I move to SF, you get three beers.
Hoppy ones.
I am moving to SF
Did the reflash go smoothly?
fiveipads said:
I am moving to SF
Did the reflash go smoothly?
Click to expand...
Click to collapse
No unfortunately it didn't--I blew away all partitions other than bootloader so I can't, to my knowledge at least, push the zip since I can't adb.
I've got factory recovery, boot, system imgs but the system img won't push out because of fastboot's apparent inability to handle files that large (1GB exactly I believe).
...I guess I have to patiently await my second Q but the point of having two was to *use* one and have one for dev... rather than have one as a heavy reminder of my overzealous endeavors...
Hopefully I can give it more time while on this SF trip...
Boot into the cwm bootloader with fastboot without flashing. Adb will be enabled and you can push files the files while your in adb recovery. Try that and flash it.
Sent from my SPH-D710 using xda app-developers app
Does our Q's have internal memory.. if not wouldn't it be possible to run back up of off otg memory stick if recovery would support it
Sent from my Galaxy Nexus using xda premium
fiveipads said:
Boot into the cwm bootloader with fastboot without flashing. Adb will be enabled and you can push files the files while your in adb recovery. Try that and flash it.
Sent from my SPH-D710 using xda app-developers app
Click to expand...
Click to collapse
The problem I'm having is that ADB is not responding from CWM... at least not on a Windows machine. The drivers are fine as ADB was working in normal mode before my issue sprung up.
EDIT: As suspected Virtual Ubuntu on a Win host didn't see the device, Physical Ubuntu had no issue. NQ reloaded.
fiveipads said:
Boot into the cwm bootloader with fastboot without flashing. Adb will be enabled and you can push files the files while your in adb recovery. Try that and flash it.
Sent from my SPH-D710 using xda app-developers app
Click to expand...
Click to collapse
Can we do this by say pushing the file to the download folder and then installing from zip?
And i know slightly off topic but once we've installed some apks for example, what's currently the best interface to use to navigate through the apps and use them?
How do I make a directory on Nexus Q
fiveipads said:
For all you Shotputterz heres the factory image we've been waiting for
assuming you have debug mode enabled, ADB and fastboot working properly
Method:
1. Download the posted CWM factory backup posted
2. make the directory on the device and adb push the backup folder (unzipped) to /sdcard/clockworkmod/backup
http://d-h.st/yeo
Click to expand...
Click to collapse
In step 2 you say make a directory for the file that is posted below. How do I create a directory on the Nexus Q? Currently my Q is stuck in a bootloop after trying to launch CWM from a Galaxy Nexus. If you could post command codes that would be awesome!
I figured it out. You can just follow step #4 and in CWM you can push the CWM Factory img to the /sdcard/Download/ folder and use CWM to unzip and launch.
Could someone please provide me the beta cwm image for Nexus Q? The links are all circular and point to
http://goo.im/devs/birdman/CWM-steelhead-beta.img
Which is dead...
discoltk said:
Could someone please provide me the beta cwm image for Nexus Q? The links are all circular and point to
http://goo.im/devs/birdman/CWM-steelhead-beta.img
Which is dead...
Click to expand...
Click to collapse
I've been trying to get ahold of this image too! Anyone?? anyone?? Bueller???
WildSatchmo said:
I've been trying to get ahold of this image too! Anyone?? anyone?? Bueller???
Click to expand...
Click to collapse
Me as well...not sure why I got this damn thing...lol
The edit didn't prompt an email to me even though I'm following the thread, so those of you looking for the clockworkmod beta image please take note that OP was kind enough to provide a working link to the image.
Thanks fiveipads!
Can someone post full backup please?
caioketo said:
Can someone post full backup please?
Click to expand...
Click to collapse
The link at the bottom still works for me...
http://d-h.st/yeo
..
ok this is really bothering me, i've restored with this factory image several times, and I have to do it again right now and I cannot seem to push this file folder to /sdcard/clockworkmod/backup
what am i doing wrong..
it should be:
adb push NexusQFactoryImage /sdcard/clockworkmod/backup/ (assuming the file is in same folder as adb which it is)
that's it right.... the extracted folder contents in a folder.. not the zip.. so i dont understand why this is not working. Everytime I go to CWM and try to restore it tells me nothing to restore...
what really bothers me is that i've done this a hundred times, and never had this problem..
UKROB86 said:
ok this is really bothering me, i've restored with this factory image several times, and I have to do it again right now and I cannot seem to push this file folder to /sdcard/clockworkmod/backup
what am i doing wrong..
it should be:
adb push NexusQFactoryImage /sdcard/clockworkmod/backup/ (assuming the file is in same folder as adb which it is)
that's it right.... the extracted folder contents in a folder.. not the zip.. so i dont understand why this is not working. Everytime I go to CWM and try to restore it tells me nothing to restore...
what really bothers me is that i've done this a hundred times, and never had this problem..
Click to expand...
Click to collapse
BUMP.. stuck in CWM unable to get a restorable file.. no idea why...
Download OneClickRestore (it's the factory image straight from Google with the needed fastboot files included)
Extract zip to OneClickRestore
Unplug Nexus Q
Plug in Nexus Q and place hand on it til the leds turn red then remove hand
Launch "flash-all.bat" from the OneClickRestore folder
You may need to do a full reset, it's hit or miss
Another option is push & flash (Nexus Q)uantum Singularity Project RTS ROM from CWM and again may need to hard reset.
RTS is
Based on stock 4.0.4 build IAN67K
Deodexed
Zip aligned
init.d Support
bash support
Busybox updated
Prerooted
Superuser
Updated Keymap (Home=Home, End=Back, Delete=Menu, Insert=Visualizer)
Lokifish Marz said:
Download OneClickRestore (it's the factory image straight from Google with the needed fastboot files included)
Extract zip to OneClickRestore
Unplug Nexus Q
Plug in Nexus Q and place hand on it til the leds turn red then remove hand
Launch "flash-all.bat" from the OneClickRestore folder
You may need to do a full reset, it's hit or miss
Another option is push & flash (Nexus Q)uantum Singularity Project RTS ROM from CWM and again may need to hard reset.
RTS is
Based on stock 4.0.4 build IAN67K
Deodexed
Zip aligned
init.d Support
bash support
Busybox updated
Prerooted
Superuser
Updated Keymap (Home=Home, End=Back, Delete=Menu, Insert=Visualizer)
Click to expand...
Click to collapse
The problem with putting Quantum singularity project on is that I can't turn on ADB debug, because i use a bluetooth mouse and keyboard, don't have an OTG mouse/keyboard, so somehow I need to be able to connect with adb to setup a bluetooth connected mouse/keyboard
I was thinking to install stock image, and then without wiping install Quantum SIngularity Project over top to preserve the settings for usb debug, on.
what's confusing to me is that i've restored the stock image many times before, and never had a problem.. that's why im wondering what the problem is.. if im typing something wrong.
I used the OneClickRestore as you said, and im just booting it up now
EDIT: didn't get past boot logo, i'll try again
So just to confirm this OneClickRestore is loading the stock nexus Q img right? I've never used it before I usually manually do it
EDIT: still stuck at the nexus q logo before home screen
do you see any error in my commands of trying to push the stock img folder (original post) to "/sdcard/clockworkmod/backup" ? I've done it many times before never had a problem

Dual boot for MDK users

[PATCHER][APP] Dual boot any ROM on all Galaxy S4 variants!
So from there, download Dual Boot Switcher app and DualBootUtility zip.
And loki-doki from here.
The unzip whatever ROM you're wanting to dual boot. Go to META-INF/com/google/android/updater-script and edit the updater-script manually. The instructions for that are in the post up top I linked to.
Patch the boot.img with the automatic patcher tool, patch-ramdisk.sh. It will create boot_dualboot.img. I just renamed that to boot.img.
Then I put the new boot.img back into the ROM folder.
Create a file named dualboot.sh, and put this in there dualboot.sh.
Put this file in the base of the ROM folder, the same place where the boot.img is.
Zip this all up. the gapps zip I just patched automatically with the patcher app, also in the downloads from the first link.
Instructions for dual booting
Before doing anything, download the Dual Boot Switcher app and the DualBootUtilities.zip from the download section below.
Follow these steps.
chenxiaolong said:
Before doing anything, download the Dual Boot Switcher app and the DualBootUtilities.zip from the download section below.
Note: Only the secondary ROM and other zips that should be installed for the secondary ROM need to be patched. Nothing needs to be done for the primary ROM.
Boot into your primary ROM and install the Dual Boot Switcher app
Open the app and set the current kernel as the primary kernel (screenshot)
If the primary ROM is TouchWiz, you will need to remove some bloatware. Otherwise, two ROMs won't be able to fit on the /system partition. You can also convert some system apps to user apps with this tool: https://play.google.com/store/apps/details?id=de.j4velin.systemappmover&hl=en
Patch the ROM (see the "How to use the patcher" section)
Reboot into recovery
Flash the patched zip files.
Reboot
Install the Dual Boot Switcher app again in the secondary ROM. If you have a locked bootloader, set the kernel for the secondary ROM (just in case).
Enjoy!
Click to expand...
Click to collapse
Then just flash your ROM.zip, gapps.zip, and loki-doki.zip. Don't wipe anything. Just reboot. It should boot into your second ROM. Install the ROM switcher app again, set the current kernel as the secondary kernel.
If you want to boot back into your primary ROM, just pick it in the ROM switcher app.
Note: When manually patching, you can go off the examples, and it makes it easier, BUT be careful because not all updater-scripts are the same. I copied off of aokp.dualboot.patch and it kept ruining my ROM. I could boot into AOKP all day long, but if I tried to boot into HyperDrive, it'd just stick at the Samsung splash screen. I looked over my patched updater-script and there was another line with:
format("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "0", "/system");
that I missed. So, just be sure to make a nandroid backup.
I'm including a copy of the AOKP updater-script that I edited. It's for the official 10-18 nightly. I tried to make a patch info file to send to the guy who came up this awesome app/mod, but for some reason I'm just inept in this area. I suck at how-to's as well, but I don't see anyone else trying to explain this for our phone
Since you said you had to do some steps, care to share them for users in general? Might save your inbox from getting slammed.
Well I had to remove/add a few lines to the updater script, which I kept messing up because I seem to get deslycix when reading code at 2 am.
Then the boot.img needs to be patched, but there's a tool for that in the OP of the thread I linked. It will create a file called boot_dualboot.img. I renamed that to just boot.img, and removed the original from the zip.
Then I put dualboot.sh at the base of the ROM zip.
Patched gapps automatically with the patcher tool.
Flashed patched ROM, patched gapps, and loki-doki. Just Google loki-doki, it's the first result.
Patching the boot.img removes loki. Flashing loki-doki will loki the kernel again.
Edit: I'll do up a better How to later. I'm at school right now though.
Sent from your mom's smartphone
Updated OP. If you have any problems, just post and I'll help where I can. I'm no expert, I'm just good at following instructions.
Hey, thanks for doing this thread. How do you remove dual booting when you want your phone back to normal again? haha
Restore a nandroid. Or do a clean flash from recovery and you'll be on one ROM.
Sent from your mom's smartphone
If anyone can do a precise and accurate video tutorial for this, that would be awesome! I'm more of a visual learner.
That is way beyond my level of knowledge lol.
Sent from your mom's smartphone
thats pretty ill. i personally do not see a reason to do it, but i like that its possible, LOL

Boot multiple roms on nexus 6p using Dual boot patcher!

Haven't seen anyone else discussing this particular solution yet so figured I'd share that we can boot multiple roms using dual boot patcher by @chenxiaolong.
*The only things I'd recommend are the following:
*MAKING A BACKUP FIRST IN RECOVERY. Especially if you've never used the app, this helps in case you misunderstood something or didn't read enough or didn't think enough or the dog ate your homework.
*I recommend using TWRP version 3.0.3-0 which can be found here - https://dl.twrp.me/angler/
* I have not tried this with f2fs only ext4 so naturally I'd only recommend using ext4 partitioning on your device.
* If your device is encrypted in any way booting multiple roms will not work, which should be obvious but I'll state that anyways. Thanks @JKforUA for helping us figure this out.
*If you want to boot more than just two roms, that you use the data slot options for your roms which can be named anything you'd like and they will be stored on the phones internal storage.
* Make sure you're on the latest Radio and Bootloader for the nexus 6p, I flashed this and it works fine and is backwards compatible with Marshmallow roms.
Radio & Bootloader link -
https://forum.xda-developers.com/nexus-6p/general/nexus-6p-radio-bootloader-recovery-t3433637
* Use the patcher app to update the ramdisk and set your primary rom's kernel as Primary before patching or flashing anything.
*If you use the fingerprint scanner you'll have to delete the file /data/system/locksettings.db in each multi boot directory, this disables getting an incorrect pin error when switching roms.
*If using a marshmallow and nougat rom you'll need to flash the appropriate vendor image in recovery before boot.
*Vendor images should not be patched.
This process is fairly simple to me because I've been using it for years but if you have any questions feel free to ask in this thread and hit thanks if I helped ya.
* Before reporting errors I would suggest you try the following steps-
1. Make sure you're using this version of the patcher app because it is the one I have been using without issue -
Version 9.1.0r80-
https://dbp.noobdev.io/files/9.1.0....atcherAndroid-9.1.0.r80.gd5920b2-snapshot.apk
2. Make sure you have enough free space to have two of the zips you want to use because that is what you will have after you patch.
3. Make sure your path to the zip is correct when browsing for the zip, go through internal storage to the directory where the zip is.
4. If you get any error patching, uninstall the patcher app, re-download it, and reinstall it.
5. There is also a Windows version you can try if you prefer.
*If you are still having issues we can discuss it here, and if nobody can seem to come up with a fix in this thread then errors can further be reported by following instructions here - https://dbp.noobdev.io/downloads/
Credits - @chenxiaolong for the patcher app!
Links :
Dual boot patcher (All versions) - https://dbp.noobdev.io
Original forum - https://forum.xda-developers.com/showthread.php?t=2447534
* Screen shots of my current setup attached below for additional guidance if desired.
Status - sharing, using, in some cases testing, always learning (^_-)...
Thanks for sharing, I've never heard of this before. A few questions;
How similar/dissimilar to multirom is this?
Do I need a specific kernel, or will it with with any kernel?
I briefly read through the original thread, am I creating a zip that flashes two Roms, or is the zip something that flashes alongside the ROM I currently have?
Thanks for sharing. Used this on my further G4. Didn't know that our device is supported. So no need to wait until multirom is working on 7.1.1. Gonna play around now.
Where do we report errors? I was about to patch several files and the app crashed. I have a couple log files.
DaringDomino3s said:
Thanks for sharing, I've never heard of this before. A few questions;
How similar/dissimilar to multirom is this?
Do I need a specific kernel, or will it with with any kernel?
I briefly read through the original thread, am I creating a zip that flashes two Roms, or is the zip something that flashes alongside the ROM I currently have?
Click to expand...
Click to collapse
I actually prefer it because it's what I'm used to, you can patch whatever kernel you choose and flash it in recovery, reboot into that rom, open the patcher app, set kernel, profit.
Basically you patch the rom zip you want to flash as secondary, or in my case data slot, naming them 2 and 3 because the Multislot options won't flash anything for me but using data slots works fine. Patch rom, patch gapps, patch whatever kernel, flash all in the whatever succession recommended by the rom op, and you'll automatically boot into the newly flashed rom when you reboot.
OmegaBlaze said:
Where do we report errors? I was about to patch several files and the app crashed. I have a couple log files.
Click to expand...
Click to collapse
Hmmm I found this
https://forum.xda-developers.com/showpost.php?p=64727670&postcount=8259
I would try re-downloading the app because I haven't had it crash in any roms I've used yet, I just grabbed the latest build, installed, opened, granted root when prompted, updated the ramdisk if needed which is indicated the app, rebooted when prompted, set kernel, and done.
If it's still crashing for you there's the usual force closing the app from your roms settings and clearing the apps cache and data but you probably already tried that?
t83wood said:
I actually prefer it because it's what I'm used to, you can patch whatever kernel you choose and flash it in recovery, reboot into that rom, open the patcher app, set kernel, profit.
Basically you patch the rom zip you want to flash as secondary, or in my case data slot, naming them 2 and 3 because the Multislot options won't flash anything for me but using data slots works fine. Patch rom, patch gapps, patch whatever kernel, flash all in the whatever succession recommended by the rom op, and you'll automatically boot into the newly flashed rom when you reboot.
Click to expand...
Click to collapse
I'm gonna play with this over the weekend, I like new stuff!
So whatever fkashable zip I patch will be designated during the flash as secondary (or whatever) and won't overwrite my current ROM allowing it to exist along side it?
DaringDomino3s said:
I'm gonna play with this over the weekend, I like new stuff!
So whatever fkashable zip I patch will be designated during the flash as secondary (or whatever) and won't overwrite my current ROM allowing it to exist along side it?
Click to expand...
Click to collapse
Correct, so long as you don't patch it as Primary. It will tell you where it's flashing to in recovery. You can also use the dual boot patcher recovery zip for things like switching roms from recovery and wiping roms, wiping multiboot files will get rid of a rom in its entirety if you wanted to replace it with something else. I've always installed the patcher app in my other roms after first boot and used it to set the kernel for that rom too.
t83wood said:
Correct, so long as you don't patch it as Primary. It will tell you where it's flashing to in recovery. You can also use the dual boot patcher recovery zip for things like switching roms from recovery and wiping roms, wiping multiboot files will get rid of a rom in its entirety if you wanted to replace it with something else. I've always installed the patcher app in my other roms after first boot and used it to set the kernel for that rom too.
Click to expand...
Click to collapse
If I'm patching for the data partition, am I correct in making all zips (ROM, Gapps, and su) to the same name? (Ex. I named the ROM zip slot "rom2", and then used the same name for the other zips)
DaringDomino3s said:
If I'm patching for the data partition, am I correct in making all zips (ROM, Gapps, and su) to the same name? (Ex. I named the ROM zip slot "rom2", and then used the same name for the other zips)
Click to expand...
Click to collapse
Yep looks good!
t83wood said:
Yep looks good!
Click to expand...
Click to collapse
Awesome, thanks, I'll see what happens :good:
Edit: it worked! It's a little more involved than multirom, but it seems to be fine! Easier than I thought.
I've not yet switched between the two, but the app on the secondary (data slot) recognizes the primary
Wow great. Running great on data-slot. Even magisk is supported. Good to have a new playground. Happy to have the 128 GB variant. Gonna do some test with Viper.
How do I switch roms
All perfect. Viper running with magisk. Every rom i tried booting without any problem. So atm the perfect tool to test other rom!
---------- Post added at 11:45 AM ---------- Previous post was at 11:43 AM ----------
DEVILOPS 007 said:
How do I switch roms
Click to expand...
Click to collapse
Install dualpatcher app and choose rom in 'ROMs'. Then reboot. Or run utulities in twrp (install).
What do I do? It says failed error code - 1 tried doing cortex rom and selecting data. Is there something I need to do?
DEVILOPS 007 said:
What do I do? It says failed error code - 1 tried doing cortex rom and selecting data. Is there something I need to do?
Click to expand...
Click to collapse
Cortex also flashes the vendor. Maybe this gives the error because in dualboot all roms use the same vendor partition (could be a problem to flash vendor through dualpatcher...). All other roms i tried vendor was not included to flash (only rom und gapps separately). I am just trying cortex too (just ready to flash). Gonna report, if i succeed.
Donric13 said:
Cortex also flashes the vendor. Maybe this gives the error because in dualboot all roms use the same vendor partition (could be a problem to flash vendor through dualpatcher...). All other roms i tried vendor was not included to flash (only rom und gapps separately). I am just trying cortex too (just ready to flash). Gonna report, if i succeed.
Click to expand...
Click to collapse
Okay thanks Bro, I might try out lineage. Also open gaps failed for me bit do I need the rom first or do I need to use dynamic gaps? I appreciate the help!
DEVILOPS 007 said:
What do I do? It says failed error code - 1 tried doing cortex rom and selecting data. Is there something I need to do?
Click to expand...
Click to collapse
Cortex rom running fine on multiboot on my device. So no problem with vendor in multiboot. I can also switch back to another rom. As gapps i suggest you to use only dynamic gapps (banks gapps). I always use mini dynamic gapps. Opengapps give many problems.... On primary i got rr oms-release from 12.01. ATM running with 3 different rom all on internal sd card. Just pay attention to give always the same name when patching a zip file in dualpatcher.
Donric13 said:
Cortex rom running fine on multiboot on my device. So no problem with vendor in multiboot. I can also switch back to another rom. As gapps i suggest you to use only dynamic gapps (banks gapps). I always use mini dynamic gapps. Opengapps give many problems.... On primary i got rr oms-release from 12.01. ATM running with 3 different rom all on internal sd card. Just pay attention to give always the same name when patching a zip file in dualpatcher.
Click to expand...
Click to collapse
What do you mean by same name? I am on pimps rr oms and whenever I flash any rom it says error code - 1. Any idea what I can do?
DEVILOPS 007 said:
What do you mean by same name? I am on pimps rr oms and whenever I flash any rom it says error code - 1. Any idea what I can do?
Click to expand...
Click to collapse
Did you flash in twrp (3.0.3.0)? I only use twrp to flash a new multiboot rom. Before flashing a new rom just make sure, you patch all necessary zip files (rom, gapps, etc.). Same name means u choose where (on angler i always choose Data slot - this is internal sd card). Then you give the name (no capital letters) and choose the directory to save the patched file. This you do with every zip file for the rom u gonna flash. The new zip file have the original name and the text "....._data-slot-namegiven.zip" (example for data-slot). The part "data-slot-namegiven" should appeir in every name of the patched zip file. I think with our device it's goot to use the data-slot if you have enough space on your internal sd-card. Using Multi Slot could lead to space problems on system partition of the device. Then just flash the patched files one after another in twrp. Don't forget to flash also patched supersu.zip oder magisk.zip to get root (if it's not in the rom included). You need to patch gapps and supersu or magisk for each slot separately. The name of the patched file just says the path for the multiboot rom. So twrp flashes the patched zip to the right place. Sorry if i wrote to much. Hope it's gonna give you some help. More information you find in the original thread of multiboot.

Categories

Resources