[MOD][Z5] MultiROM v33x - Xperia Z5 Original Android Development

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
MultiROM is a one-of-a-kind multi-boot mod. It can boot any Android ROM as well as other systems like Ubuntu Touch, once they are ported to that device. Besides booting from device's internal memory, MultiROM can boot from USB drive connected to the device via OTG cable. The main part of MultiROM is a boot manager, which appears every time your device starts and lets you choose ROM to boot. You can see how it looks on the left image below and in gallery. ROMs are installed and managed via modified TWRP recovery. You can use standard ZIP files to install secondary Android ROMs and MultiROM even has its own installer system, which can be used to ship other Linux-based systems.
Features:
* Multiboot any number of Android ROMs
* Restore nandroid backup as secondary ROM
* Boot from USB drive attached via OTG cable
You can also watch a video which shows it in action.​
WARNING
It is dangerous. This whole thing is basically one giant hack - none of these systems are made with multibooting in mind. It is no longer messing with data partition or boot sector, but it is possible that something goes wrong and you will have to flash factory images again. Make backups. Always.​
IMPORTANT
I'm not responsible for anything, you do all this on your own risk.
Once you have flashed and set up MultiROM, don't flash another boot.img using fastboot or normally. Always go to TheMultiROM Menu (3 bars in the top right corner) to flash ROMs/kernels or other mods.
If you want to uninstall MultiROM, just flash the MultiROM uninstaller.
Your device must not be encrypted.
When booting another ROM, you'll notice that in some cases, you can enter the recovery of the boot.img of the ROM. Please don't use it, flash everything using MultiROM TWRP.
INSTALLATION
Make sure you are on a Rom compatible with one of these kernels and flash it or use the non-kexec workaround. (See important Notices)
Reboot into MultiROM TWRP and flash the MultiROM installer
That's it. You can now go to TheMultiROM Menu (3 bars in the top right corner) to start flashing other ROMs.
Adding ROMs
Go to recovery, select TheMultiROM Menu (3 bars in the top right corner) -> Add ROM. Select the ROM's zip file and confirm.​
Using USB drive
During installation, recovery lets you select install location. Plug in the USB drive, wait a while and press "refresh" so that it shows partitions on the USB drive. You just select the location (extX, NTFS and FAT32 partitions are supported) and proceed with the installation.
If you wanna use other than default FAT32 partition, just format it in PC. If you don't know how/don't know where to find out how, you probably should not try installing MultiROM.
If you are installing to NTFS or FAT32 partition, recovery asks you to set image size for all the partitions - this cannot be easilly changed afterward, so choose carefully. FAT32 is limited to maximum of 4095MB per image - it is limitation of the filesystem, I can do nothing about that.
Installation to USB drives takes a bit longer, because the flash drive is (usually) slower and it needs to create the images, so installation of Ubuntu to 4Gb image on my pretty fast USB drive takes about 20 minutes.
Enumerating USB drive can take a while in MultiROM menu, so when you press the "USB" button in MultiROM, wait a while (max. 30-45s) until it searches the USB drive. It does it by itself, no need to press something, just wait.​
Updating/changing ROMs
1. Primary ROM (Internal)
Flash ROM's ZIP file as usual, do factory reset if needed (it won't erase secondary ROMs)
Go to TheMultiROM Menu (3 bars in the top right corner) in recovery and do Inject curr. boot sector.
2. Secondary Android ROMs
If you want to change the ROM, delete it and add new one. To update ROM, follow these steps:
Go to TheMultiROM Menu (3 bars in the top right corner) -> List ROMs and select the ROM you want to update.
Select "Flash ZIP" and flash ROM's ZIP file.
SOURCEs
MultiROM - https://github.com/XperiaMultiROM/multirom/ (branch master)
Modified TWRP - https://github.com/multirom-htc/Team-Win-Recovery-Project (branch android-6.0)
Kernel w/ kexec-hardboot patch - https://github.com/Myself5/kernel/ (branch aosp/LA.BF64.1.2.2_rb4.7)​
FAQs can be found here.
CREDITs
Tasssadar
Olivier
nkk71
Garcia98
Thunder07
skin1980
Envious_Data
[NUT]
Panic Brothers
You might want to consider a Donation to Tasssadar, who is the Mastermind behind MultiROM
​
As well as a Donation to nkk71, who wrote the kexec-workaround and helped me a lot
​
Thanks a lot to those who have donated! The 2 really deserve it!​
XDA:DevDB Information
MultiROM for Sony Xperia Z5, Tool/Utility for the Sony Xperia Z5
Contributors
Myself5
Source Code: https://github.com/XperiaMultiROM/multirom/tree/master
Version Information
Status: Testing
Created 2016-05-08
Last Updated 2016-06-25

Important Notice
This Posts includes Important Notices you need to read if you want to use MultiROM on your Z5.
You need to a kexec-hardboot supporting kernel or the non-kexec workaround as described perfectly by @nkk71 here: http://forum.xda-developers.com/showpost.php?p=64248526&postcount=4 (Be sure to leave him a like!)
Recovery Notice: The Recovery is working with init_sony. If your Kernel is using a older way to load recoverys, then it wont work. Talk to your Kernel dev about using init_sony.
MOST IMPORTANT: When installing MultiROM on Stock, USB Connections will be broken (Charging is fine). It's caused by MultiROM screwing up the permissions of a init file which is responsible for USB. There are Kernels where USB is fixed already. A list of them is in post 3. For intrested Devs, this is how to fix it:
Just add
Code:
chmod 750 /init.usbmode.sh
to the on init step inside of init.sony.usb.rc. It will fixup the permissions MultiROM screwes up.

CHANGELOGs
General MultiROM Changelog can be found here:
Changelog
XperiaMultiROM Specific Changelog is here:
Recovery Changelog
MultiROM Changelog
DOWNLOAD
https://dl.myself5.de
The recovery.img is Tassadars modified TWRP to flash secondary Roms. It is needed to flash the secondary Roms.
SUPPORTED KERNELs
Basically you can use any Kernel you want, if you can live without Touch Support in MultiROM and use the no-kexec workaround.
However, if you want Touch Support as well as fixed USB and kexec-hardboot, use one of these kernels:
OM5Z Kernel
AndroPlus Kernel (not sure if AP Kernel has fixed USB)
If you want your favorite kernel to support kexec or at least working touch and USB, tell the dev to merge my commits.

Nice work mate :good::good:
Though every effort has been made to ensure some form of safeguards and redundancy, MultiROM has always been a "hack", and the no-kexec-workaround is as well.
The no-kexec-workaround is working nicely on HTCs (well at least M7, M8, and M9) and I've seen some other devices using it successfully as well.
As always, have your backups safely tucked away somewhere fully safe.
Happy testing, and feel free to mention me (easiest way for me to get notified), if you think there's an issue to be addressed with the workaround.... I've personally only used it on HTC M7, M8 and M9, so there may be device specific issues, which I cannot account for.
Special thanks to @Captain_Throwback , @ljjehl and @MassStash for all the help and encouragement
And a very special thanks to @z31s1g not only for the official TWRP theme, but all the help he provided bringing it to MultiROM in a very quick way, thanks :good:

Wow this is so nice I was waiting for this! I still have a few questions tho:
-Will this work with stock 6.0 with the modified stock kernel (DM-Verity disabled/ Sony RIC disabled / DRM-FIX) ? I'm worried if it will brick my device since you wrote you have a hard time with stock.
-What is no-kexec? Why do I need it?
-About the USB connection bug on stock so if I install your dirty fix everything will work as before? If I uninstall multiROM I assume the USB bug will go away right?
Thank you for your time sorry I'm a noob

zate27 said:
Wow this is so nice I was waiting for this! I still have a few questions tho:
-Will this work with stock 6.0 with the modified stock kernel (DM-Verity disabled/ Sony RIC disabled / DRM-FIX) ? I'm worried if it will brick my device since you wrote you have a hard time with stock.
-What is no-kexec? Why do I need it?
-About the USB connection bug on stock so if I install your dirty fix everything will work as before? If I uninstall multiROM I assume the USB bug will go away right?
Thank you for your time sorry I'm a noob
Click to expand...
Click to collapse
1. Yes, it will work (You just won't have touch in the MultiROM menu (don't worry, you can setup the kexec workaround to work automatically in TWRP, as well as navigate with the volume buttons inside the MRom Menu). The hard time I get is with porting kexec to the stock kernel.
2. The No-kexec workaround is a (ha, who tought that ) workaround to not use kexec-hardboot. Kexec hardboot is a technology to load a kernel into the RAM using an other kernel. This is how MultiROM usually works. Read more about that here if you're intrested: http://forum.xda-developers.com/showthread.php?t=2104706 . Now, the no-kexec workaround is doing it on a rather dirty (but nicely working) way. It flashes the secondary ROMs boot.img to your boot partition, and then modifies the mount points to link to the ROM files in your internal/external storage (whereever you installed your secondary ROMs). It is needed, because of (1.), and because stock will probably not able to load a AOSP Kernel once kexec is working (so stock can only load stock, and AOSP can only load AOSP. For everything else, you need the no-kexec workaround).
3. Yes. USB is not working, because a script (which is responsible to start the USB Service) has the wrong permissions after booting from the MultiROM Menu (I was not able to include a proper fix for it inside the MultiROM code itself, maybe I will be some day). My App just fixes the permissions and executes the script (which else would be done by the system automatically) (It's basically just executing these 2 commands when pressing the button (or at boot when you turn the autofix on) https://github.com/Myself5/andoid_p...ava/de/myself5/stockusbfix/FixIt.java#L31-L34). Once you remove MultiROM, the script will get its proper permissions back as its a ramdisk file, inside the ramdisk it actually has its proper permissions, it just doesnt when getting extracted from the ramdisk at boot and MultiROM follows (MultiROM messes up the permissions).
I hope that answers your questions, if not, feel free to ask again
P.S. Be sure to read nkk71s Info about how to enable the kexec-workaround in the post I linked in the important notices post, it might shed some more light on what is the non-kexec workaround.

Myself5 said:
SNIP
Click to expand...
Click to collapse
Thank you very much for your quick answer!
So if I understood this right the detailed instructions would be:
Flash TWRP-Multirom-20160507-00-sumire.img or the recovery.img or both(?) with fastboot(?) to get the modified TWRP w/ MultiROM support
Now with this Modded TWRP I need to enable that no-kexec workaround in the settings?
Flash the actual multiROM: multirom-20160507-v33x-UNOFFICIAL-sumire.zip in TWRP
Flash e.g. CM13 (Finally ) from here: http://forum.xda-developers.com/xperia-z5/development/rom-cyanogenmod-13-sony-xperia-z5-t3356163" via the MultiROM menu.
Install the usbfix.
Does the CM13 Rom need to be modified to work with MultiROM or will it work as it is?
Thank you in advance

zate27 said:
Thank you very much for your quick answer!
So if I understood this right the detailed instructions would be:
Flash TWRP-Multirom-20160507-00-sumire.img or the recovery.img or both(?) with fastboot(?) to get the modified TWRP w/ MultiROM support
Now with this Modded TWRP I need to enable that no-kexec workaround in the settings?
Flash the actual multiROM: multirom-20160507-v33x-UNOFFICIAL-sumire.zip in TWRP
Flash e.g. CM13 (Finally ) from here: http://forum.xda-developers.com/xperia-z5/development/rom-cyanogenmod-13-sony-xperia-z5-t3356163" via the MultiROM menu.
Install the usbfix.
Does the CM13 Rom need to be modified to work with MultiROM or will it work as it is?
Thank you in advance
Click to expand...
Click to collapse
1. TWRP-Multirom-Stock-20160507-00-sumire.img is the recovery you need. Flash it via
Code:
fastboot flash recovery TWRP-Multirom-Stock-20160507-00-sumire.img
(If the Stock is not working, use the other one, I don't know which of the 2 existing recovery loading tools your kernel is using).
2. First flash multirom, then enable it in the MultiROM Settings Tab inside TWRP (see important notices on how to do that, nkk71 describes it in the thread)
3. yes.
4. Exactly.
5. Yes, only needed for stock roms, don't forget that. Oh, and it requires root, so depending if you have root already, you also need to install SuperSU (use 2.71 beta, it worked fine for me)
6. No, the secondary Roms don't need any changes at all.
BTW, your questions seem to be common, do you mind if I copy them together with my answers to a little FAQ in post 2?

Myself5 said:
1. TWRP-Multirom-Stock-20160507-00-sumire.img is the recovery you need. Flash it via
Code:
fastboot flash recovery TWRP-Multirom-Stock-20160507-00-sumire.img
(If the Stock is not working, use the other one, I don't know which of the 2 existing recovery loading tools your kernel is using).
2. First flash multirom, then enable it in the MultiROM Settings Tab inside TWRP (see important notices on how to do that, nkk71 describes it in the thread)
3. yes.
4. Exactly.
5. Yes, only needed for stock roms, don't forget that. Oh, and it requires root, so depending if you have root already, you also need to install SuperSU (use 2.71 beta, it worked fine for me)
6. No, the secondary Roms don't need any changes at all.
BTW, your questions seem to be common, do you mind if I copy them together with my answers to a little FAQ in post 2?
Click to expand...
Click to collapse
Thanks for answering all my questions. That should have cleared it up for noobs like me
The instructions seem a bit summarily written so your answers help a lot.
Yes sure go ahead FAQ is always nice

noob flasher here not quite got this fully working with a secondary rom yet still trying, but one scenario I can't get my head around.
If your primary rom is stock no root. How can you install the usbfix? Is this scenario possible?

bongo1 said:
noob flasher here not quite got this fully working with a secondary rom yet still trying, but one scenario I can't get my head around.
If your primary rom is stock no root. How can you install the usbfix? Is this scenario possible?
Click to expand...
Click to collapse
Nope. USB Fix needs root to work. I am still working on a different workaround for it (maybe inside MultiROM), but thats lower priority.
Sent from my Xperia Z3 using Tapatalk

@Myself5 , hey.
Could you extend support to the z5 premium too maybe ?
Thanks
Regards
AVK

Ashray_Vk said:
@Myself5 , hey.
Could you extend support to the z5 premium too maybe ?
Thanks
Regards
AVK
Click to expand...
Click to collapse
I don't develop for devices I don't own, as I then can't guarantee that everything does work nor that it won't break someones device. If there is a developer working on satsuki who wants to port it and comes across problems, I'll gladly help, but I'm not going to blind-port it on my own, I hope you understand that

Hey I have the E6653 and I'm getting error 7 while flashing multirom. Recovery flashing was successful tho. Why am I getting the error the codename of my phone should be "sumire" or is there something I've missed?

zate27 said:
Hey I have the E6653 and I'm getting error 7 while flashing multirom. Recovery flashing was successful tho. Why am I getting the error the codename of my phone should be "sumire" or is there something I've missed?
Click to expand...
Click to collapse
hum, 6653 is what I have too. What did you flash it on? Which recovery did you use? The Stock or the other one?
Sent from my Xperia Z3 using Tapatalk

Damn man you answer fast
I flashed it via TWRP, TWRP 3.0.2-0 (wrong I guess), I tried to flash the stock recovery one
Here is my fastboot output:
C:\Program Files (x86)\Minimal ADB and Fastboot>fastboot flash recovery C:\Users
\Pein\Downloads\TWRP-Multirom-Stock-20160507-00-sumire.img
target reported max download size of 536870912 bytes
sending 'recovery' (33988 KB)...
OKAY [ 1.118s]
writing 'recovery'...
OKAY [ 0.464s]
finished. total time: 1.584s
Seems like it wasn't successfull because TWRP seems like the same as before :/ Should I try the other recovery? (Without stock)

zate27 said:
Damn man you answer fast [emoji14]
I flashed it via TWRP, TWRP 3.0.2-0 (wrong I guess), I tried to flash the stock recovery one
Here is my fastboot output:
C:\Program Files (x86)\Minimal ADB and Fastboot>fastboot flash recovery C:\Users
\Pein\Downloads\TWRP-Multirom-Stock-20160507-00-sumire.img
target reported max download size of 536870912 bytes
sending 'recovery' (33988 KB)...
OKAY [ 1.118s]
writing 'recovery'...
OKAY [ 0.464s]
finished. total time: 1.584s
Seems like it wasn't successfull because TWRP seems like the same as before :/ Should I try the other recovery? (Without stock)
Click to expand...
Click to collapse
which kernel are you using?
BTW: MROM TWRP looks pretty similiar to the default TWRP, it just has 3 bars in the upper right corner which opens the Mrom Menu.
Sent from my Xperia Z3 using Tapatalk

kexec and Stock!
All right. I finally managed to get kexec-hardboot working on stock. I ported it to @AndroPlus Kernel at a first, because it seems to be the kernel you people use. I also uploaded a flashable zip (I used AndroPlus' flashable zip as a base), you can find it here:
Boot.img: http://dl.myself5.de/sumire/MultiROM/boot_E6653_M5_AP.img
Flashable ZIP: http://dl.myself5.de/sumire/MultiROM/Z5_AndroPlusKernel_M5_ModZ_Edit_Permissive_v27.zip
Source for it would be here: https://github.com/Myself5/android_kernel_sony_msm8994_kitakami_r2
I also send a PR for it to @AndroPlus (https://github.com/AndroPlus-org/android_kernel_sony_msm8994_kitakami_r2/pull/3)
(Ramdisk is from AndroPlus Kernel v27, with the fix below)
Oh, and because I am badass, I also fixed up USB on Stock with that Kernel.
For every Stock Kernel Developer who's intrested how I did that (looking at you @AndroPlus and @zacharias.maladroit), I simply adjusted the USB files permissions in the ramdisk.
Just add
Code:
chmod 750 /init.usbmode.sh
to the on init step inside of init.sony.usb.rc. I know it's dirty.. but hey. It surely is less dirty than my hacky App (which therefore is no longer needed BTW).

Will suzuran devices work

killedbyghost58 said:
Will suzuran devices work
Click to expand...
Click to collapse
No.
Regarding porting requests its the same as for Z5 Premium. If I don't own the device, I'm not going to port Mrom to it.
HOWEVER: For suzuran specifically, @oshmoun is working on porting MultiROM to it, based on my device trees which means MultiROM for Z5C is coming in the nearish future.

Related

[RECOVERY][Xperia S] DooMRecovery (CWM-based recovery){GB}[Rel:v05]{Dt:21/MAY}

------[ UPDATE ]-------
DooMRecovery v05 released! changelog here
------[ UPDATE ]-------
DooMRecovery for Sony Xperia S is based on ClockworkMod recovery source (GB 5.0.2.x).
Credits and special thanks to Koush and everyone else involved in Cyanogenmod project!
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
(the video is a bit older one from my Xperia Play but gives u an idea how it will work on device)​
[ info ]
firstly i want to thank all the users of this community who donated the device to me! thanks everyone!
so friends i present to u DooMRecovery! its based on CWM 5.0.2.x sources... i have done some additions which i feel makes the recovery a lot smarter... i am still working on the recovery and will be actively maintaining it, so there will be updates as and when i get things working/add new features...
Touch capabilities are added by my teammate (Team UtterChaos) Napstar....
For posting BUGS/issues related to my kernel post them in kernel thread:
http://forum.xda-developers.com/showthread.php?t=1557452
For posting BUGS/issues related to my recovery post them in recovery thread:
http://forum.xda-developers.com/showthread.php?t=1594828
For general discussion regarding my kernel/recovery OR if u want to request for new features, post them in discussion thread:
http://forum.xda-developers.com/showthread.php?t=1596041
RECOVERY IS CURRENTLY AVAILABLE AS PART OF DooMKernel & Advanced Stock Kernel
THE RECOVERY IS STILL WORK IN PROGRESS AND I AM WORKING TO IMPROVE IT!!!
THE RECOVERY IS COMPATIBLE WITH ROM MANAGER!
Start the ROM Manager APP
Click on Menu
Select Manual Flash Override
Click OK at the next prompt
Confirm phone model as "LT26i"
Confirm version as "ClockworkMod 3.x+"
Click OK at the next prompt
thats it ROM Manager is now configured to use this recovery
[ disabled for this device ]
Advanced Menu -> Partition SDcard
[ credits / special thanks ]
Koush - for the brilliant work & coding on CWM recovery
Napstar - for doing most of the work on Touch capabilities for CWM recovery (not fully implemented it)
Frosty666 for the Vibration triggers
FreeXperia Team (Bin4ry & jerpelea) - for tooo many things!!
[ features ]
added a new menu "More Options"
AROMA File Manager is NOW directly accessible via this new menu
current ROM details can be retrieved via this new menu
fixed some internal sdcard (/emmc) related bugs
fixed advanced backup option
fixed this bug
fixed display of "build timestamp" and battery level
some more changes in font color to make it more readable
replaced background with my old favorite (thanks to Soheil)
implemented detection of internal sdcard as /emmc (if required)
slight changes in font color to make it more readable
now features larger XHDPI fonts (thanks to koush)
replaced the bottom "on-screen navigation buttons" with bigger buttons
fixed SDCARD mounting to PC as mass-storage
now recovery can backup/restore kernels and users can flash kernels (kernel.elf)
FULL TOUCH interface
swipe gesture support!!! - the hotspot for this is across full screen
swipe left to GO BACK/ Scroll UP
swipe right to Scroll Down
Honeycomb themed
haptic feedback
incase the recovery "hangs" or incase some unwanted event starts u can press the POWER button to restart the recovery (the device wont reboot, only recovery will restart)
shows current time (time when the recovery was entered/started)
shows the current battery percentage (CURRENTLY BUGGY)
uses new Roboto FONT (from latest CWM repo)
new "select update.zip menu": it will give u a new option - "show file details" - which will display the size (in bytes) and the MD5SUM of the selected file
when any update.zip is selected its complete file name will now be displayed (right at the top) and full path to that file will be printed before flashing begins
added prompt to display the "backup folder name" when user starts restoring a backup
added a warning and option to abort backup if space on sdcard is < 150 MB
removed Wipe cache partition from main menu (u can format /cache from "Mounts & Storage" menu)
removed those tons of "No"s
add confirmation to "backup" option in Nandroid menu... it used to keep getting pressed by mistake and start making backups immediately... now it will ask u before starting backup
replaced "reboot system now" with new menu "reboot options"... now with this new menu u can:
reboot sytem
reboot into recovery
reboot into fastboot mode
Power Off
added "advanced backup" menu (based on amit.bagaria implementations for his CF-Root kernel for SGS-SL)
now u can selectively choose which partitions to backup
its like a toggle
once u have finished choosing which partitions u want just click on "perform backup" and only those partitions will be backed up!!!
revamped layout for recovery menu (to improve navigation) [renamed few options and changed their order]
changed "wipe data/factory reset" option to just "factory reset", and detailed the partitions which will be wiped
changed text of most menus to fit the new honeycomb inspired design
the Nandroid backups & restore now show/displays which files were used to restore/what the backup is called (folder name)
[ known bugs ]
all backups are done get time stamp of year 1970 dont know why this happens but i am trying to sort it out some how
the recovery sometimes hangs - just press power button it will restart recovery without rebooting device
there are some graphics glitches
backups created with v01 recovery might give errors while restoring using v02 recovery... work around is posted here
if you encounter any other bugs/issues DO LET ME KNOW ASAP by posting them in THIS THREAD
[ requirements ]
UNLOCKED BOOTLOADER
fastboot binaries
[ how to install? ]
The recovery in integrated into the kernel! so when u flash the kernel it will contain the recovery!
[ how to enter recovery? ]
the recovery entry key is VOLUME UP button... so when you see the bootlogo watch out for the following notification which will tell u when u press the entry key (VOL UP):
the LED will turn BLUE
the device will vibrate for short duration
the bottom strip will be illuminated
if u press the entry key within this timeframe of the notifications (3 seconds) the device will enter into recovery
[ how to use recovery? ]
hardware keys
VOL UP/VOL DOWN key to move Up/Down in menu
HOME key to SELECT item
BACK key to GO BACK
OR
On-screen Navigation buttons
OR
Full Touch capibility!
[ donations ]
if u feel that this work has helped u OR u think that the work i put into making this is worthy of donations, then click on the following link for buying me some coffee/beer/etc
PAYPAL DONATION LINK
ENJOY!!
DooMRecovery v01 released!
details, changelog at first post!!!
DooMRecovery is currently available ONLY as a part of DooMKernel!
please test out and let me know if u have any bugs/issues in THIS THREAD...
for general discussions use the following thread:
http://forum.xda-developers.com/showthread.php?t=1596041
I have just made an very old recovery backup as it says
Current Time:
12:03:27 GMT Mon 23 Feb 1970
but it feels good to have recory backup back again, thanks.
Hi Doom,
One quick question - is it possible to disable vibration in the recovery?
harfot said:
I have just made an very old recovery backup as it says
Current Time:
12:03:27 GMT Mon 23 Feb 1970
but it feels good to have recory backup back again, thanks.
Click to expand...
Click to collapse
ya i know
its like back to the future
kazuni said:
Hi Doom,
One quick question - is it possible to disable vibration in the recovery?
Click to expand...
Click to collapse
nope i have implemented it as a feature so its easier to check if the "touch response" was registered...
@DooMLoRD
Have you considered to get your CWM based recovery actually on CWM ROM Manager?
Auto Installation would be sweet for something like this for allready rooted users. and much easier to update aswell.
Might be a consideration. I would certainly donate for that to happen. ;D
Just flashed this. Runs good, su works as expected, overclocking is good to have, but I'll probably stick to default or even underclock a bit.
Sent from my LT26i using XDA
Edit: wrong thread, derp.
How about make console runs in recovery mode? With console, we can browse and delete apps in recovery!
The OpenRecovery for Motorola Milestone has this feature!
Thank!
juzz|NOR said:
@DooMLoRD
Have you considered to get your CWM based recovery actually on CWM ROM Manager?
Auto Installation would be sweet for something like this for allready rooted users. and much easier to update aswell.
Might be a consideration. I would certainly donate for that to happen. ;D
Click to expand...
Click to collapse
we dont have dedicated recovery partition... so we cant use any app to flash it...
also only officially supported devices get official CWM from ROM Manager (its limited only to releases by Koush)...
K900 said:
Just flashed this. Runs good, su works as expected, overclocking is good to have, but I'll probably stick to default or even underclock a bit.
Sent from my LT26i using XDA
Edit: wrong thread, derp.
Click to expand...
Click to collapse
yes even i underclock to max 1Ghz
keunhuvac said:
How about make console runs in recovery mode? With console, we can browse and delete apps in recovery!
The OpenRecovery for Motorola Milestone has this feature!
Thank!
Click to expand...
Click to collapse
interesting can u share some details?
PLEASE KEEP THIS THREAD FOR REPORTING ISSUES/BUGS
FOR GENERAL DISCUSSION/FEATURE REQUEST USE THIS THREAD
DooMLoRD said:
we dont have dedicated recovery partition... so we cant use any app to flash it...
also only officially supported devices get official CWM from ROM Manager (its limited only to releases by Koush)...
Click to expand...
Click to collapse
Something I came up with the other day: maybe put the recovery fs in a separate file? Then we can change the ramdisk to either load android normally or mount the recovery image like a ramdisk and boot it. This way any kernel (as long as it supports this method) can coexist with any recovery. Also means we could probably use recovery to flash kernels because it runs from RAM so there's no risk of breaking the recovery.
Sent from my Transformer TF101 using XDA
__ delete
K900 said:
Something I came up with the other day: maybe put the recovery fs in a separate file? Then we can change the ramdisk to either load android normally or mount the recovery image like a ramdisk and boot it. This way any kernel (as long as it supports this method) can coexist with any recovery. Also means we could probably use recovery to flash kernels because it runs from RAM so there's no risk of breaking the recovery.
Sent from my Transformer TF101 using XDA
Click to expand...
Click to collapse
we already did those things for X10, ARC... point is where will u keep the recovery file? if u keep it on /system then its not a true recovery as formatting /system will remove it... and in case of "bad flash" u will be left with no access to recovery...
so we have done the next best thing... integrated recovery into kernel... we use this for all xperia devices...
If I install the recovery with ROM Manager, also install automatically the Kernel?
Are there any requirements to install it?
Thank you!!
treoking said:
If I install the recovery with ROM Manager, also install automatically the Kernel?
Are there any requirements to install it?
Thank you!!
Click to expand...
Click to collapse
installing recovery from ROM Manager is ONLY supported for devices which have dedicated recovery partition and the ones which officially supported by Koush...
only way to get recovery is to flash kernel containing recovery via fastboot
DooMLoRD said:
we already did those things for X10, ARC... point is where will u keep the recovery file? if u keep it on /system then its not a true recovery as formatting /system will remove it... and in case of "bad flash" u will be left with no access to recovery...
so we have done the next best thing... integrated recovery into kernel... we use this for all xperia devices...
Click to expand...
Click to collapse
The idea is to keep the recovery on /boot, but make it possible to run a custom image from /system.
Sent from my Transformer TF101 using XDA
K900 said:
The idea is to keep the recovery on /boot, but make it possible to run a custom image from /system.
Sent from my Transformer TF101 using XDA
Click to expand...
Click to collapse
/boot is the kernel partition, which is not accessible... so essentially its going to be in kernel ramdisk
DooMLoRD said:
/boot is the kernel partition, which is not accessible... so essentially its going to be in kernel ramdisk
Click to expand...
Click to collapse
That's what I meant. I still getting used to the Xperias' internals after three years of HTC/Samsung
Sent from my Transformer TF101 using XDA
K900 said:
That's what I meant. I still getting used to the Xperias' internals after three years of HTC/Samsung
Sent from my Transformer TF101 using XDA
Click to expand...
Click to collapse
hehe...
Xperia are a bit of a pain in the a**...
anyways u all will be happy to know that we can finally flash kernels from recovery/OS to boot partition of this device (Xperia S)...
i have tested and it works well!!
Creating a new file called .hidenandroidprogress in the clockworkmod folder should speed up the nandroid backups eg:
/sdcard/clockworkmod/.hidenandroidprogress
-smc
DooMLoRD said:
hehe...
Xperia are a bit of a pain in the a**...
anyways u all will be happy to know that we can finally flash kernels from recovery/OS to boot partition of this device (Xperia S)...
i have tested and it works well!!
Click to expand...
Click to collapse
Great news Also HTCs can sometimes be even more pain, especially locked ones
Sent from my Transformer TF101 using XDA

[APP] Flash Image GUI - Flash Kernels and Recoveries from normal Android mode!

Credits:
birbeck for the usual random java guidance, slushpupie for his previous java guidance, dodgejcr for extreme amounts of testing, and one_love_420 and shift for some great graphics!
testers: JT-, couga6442, happytweak and many others I might have forgot in the furry of three days I built the initial app from scratch.!
Thanks to SDX
Works with HTC Unlock Method (And s-off methods):
Tested after using htcdev.com's bootloader unlock method.
Please see the guides at the bottom of this post!
Background:
flash_image (bmlwrite) is an extremely useful utility for flashing custom kernels, boot logos (so far ONLY Samsung devices) and recoveries. This binary has made it possible to easily flash all these items and is used almost everywhere behind the scenes (i.e. in custom recoveries, packaged into a kernel /sbin directoy, included in custom ROMs, etc).
Description:
This android application, FlashImageGUI, is basically a GUI interface for the linux binary, flash_image provided by google in AOSP for loading custom kernels and recovery images onto the phone.
This app allows the flashing of kernels and custom recovery images in normal android mode!
Current Device Support:
Full Kernel (Anykernel and boot.img) Flashing and Recovery (zip file or image) flashing: International HTC One, T-Mobile HTC One, Sprint HTC One, HTC EVO 4G LTE, HTC One S, HTC EVO 3D CDMA and GSM, HTC One XL, HTC Droid DNA, HTC Amaze, HTC Vivid/Holiday, HTC EVO 4G, HTC EVO Shift, Google Nexus 4, Google Nexus 10, Google Nexus 7, Samsung Google Galaxy Nexus, Nexus S/Nexus S 4G & LG Optimus
Full Kernel, Logo and Recovery flashing: Samsung Moment, Transform, Intercept and Acclaim - the s3c6410 series of devices
Full Kernel (zImage) Flashing: Samsung Epic
Check application version for updates
Future Support:
Let me know if there are any issues. Feel free to post the encountered issue and a link to the exact file that was flashed. Thanks for the support!
Install Directions:
Install process is the same as any other .apk. Download to computer and adb push or mount sdcard on computer and copy over or download directly to the phone. Use any file manager, adb, connectbot/terminal emulator to install.
My preferred method, maybe a bit technical: ./adb install c:\downloads\FlashImageGUI.apk
Download Locations
Market (99 cents!): Flash Image GUI
Release version (free): Flash Image GUI
Contact:
Any questions, comments, concerns, or issues, please post in this thread or send me an email! Thanks for all the help and support!
FAQ:
Q: Will this app support a marketplace to pick and chose kernels from?
A: No.
Q: Can I flash nandroid kernel backups?
A: Yes. Rename the specific image to boot.img and select from inside of Flash Image GUI. **Make sure to also load the associated modules or WiFi might stop working!
Screenshots:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Feedback:
Please post any helpful feedback. I'm always looking to improve the application!
HTC Unlock - User Guides for Flash Image GUI!!
HTC Unlock - Users Guide for ROMs with a Kernel (boot.img file):
1) Unlock using the HTC method and gain root access.
2) Load this application, Flash Image GUI, onto the device, either through the Market or the link provided in this OP.
3) Download ROM .zip file to the sdcard on the device.
4) Open up Flash Image GUI, select Browse and select the ROM .zip file, downloaded to /sdcard in the previous step.
5) Flash Image GUI will provide a warning, reminding that the ROM .zip file will *need* to be flashed in the custom recovery afterward.
6) Flash Image GUI will index the full ROM .zip file searching for the kernel and kernel modules. Once located, the Flash Image button should be enabled.
7) Select the Flash Image button and Flash Image GUI will load the kernel modules and kernel from inside the ROM zip file.
8) Select reboot recovery.
9) Inside the custom recovery, wipe data as ROM requires and load/flash the ROM zip file.
10) Reboot to normal Android mode and all should work including WiFi!
HTC Unlock - Users Guide for flashing ONLY a Kernel (zip file):
1) Unlock using the HTC method and gain root access.
2) Make sure the selected Kernel is compatible with the currently loaded ROM. If not, this will result in a lot of frustration!!! See troubleshooting steps below.
3) Download kernel zip file to /sdcard.
4) Open Flash Image GUI, browse and select kernel zip file, downloaded/loaded to sdcard in previous step.
5) Flash Image GUI will validate the kernel zip file is contains the minimum required files
6) Select the Flash Image button and Flash Image GUI will load the kernel and the kernel modules from the source kernel zip file.
7) Reboot
Troubleshooting after Rebooting:
First step, when experiencing issues flashing is to RE FLASH the files again. Many times, re flashing again will clear up any issues. If not, see the issues/solutions below.
Issue #1: If the device hangs or reboots while on the splash screen, the kernel itself or the ramdisk packaged in the kernel is NOT compatible with your device!!!
Solution for #1: Have to boot into fastboot (or directly into the custom recovery) and load the custom recovery to flash a known good kernel or restore a previously known good nandroid backup. Command: fastboot boot c:\downloads\cwm-recovery.img
Issue #2: If the device hangs or reboots while on the boot animation, the ROM is likely NOT compatible with the kernel!!!
Solution for #2: Have to boot into fastboot and load the custom recovery to flash a known good ROM/kernel combination either from a zip file or restore from a nandroid backup.
Great!!! Was waiting for it to work with the One
Thanks!!!
great!
(bookmark)
buy it and love it! no pc no more!
this looks awesome. Will this work on unrooted phone (i.e stock rom, stock recovery but unlocked and s off)
reason being i need to flash CWM but away from pc and also as on stock rom, no SU of course :good:
exocetdj said:
this looks awesome. Will this work on unrooted phone (i.e stock rom, stock recovery but unlocked and s off)
reason being i need to flash CWM but away from pc and also as on stock rom, no SU of course :good:
Click to expand...
Click to collapse
I do understand the convenience factor of not having to hassle with all the steps, including a computer, drivers, cables, etc.
Yes, to everything except root access is required by Android in order to have security access to write to the kernel or recovery partitions.
Reviewing the Android security model: if any installed application had access to replace the kernel or recovery without root access, this would seem a bit concerning!
Once root access is setup on the device, Flash Image GUI will allow you to flash custom recoveries and kernels without being at a computer!
Hopefully that makes sense and helps! Thanks for the feedback!
joeykrim said:
I do understand the convenience factor of not having to hassle with all the steps, including a computer, drivers, cables, etc.
Yes, to everything except root access is required by Android in order to have security access to write to the kernel or recovery partitions.
Reviewing the Android security model: if any installed application had access to replace the kernel or recovery without root access, this would seem a bit concerning!
Once root access is setup on the device, Flash Image GUI will allow you to flash custom recoveries and kernels without being at a computer!
Hopefully that makes sense and helps! Thanks for the feedback!
Click to expand...
Click to collapse
Thanks for clearing that up!!!! il make a purchase from the market when I can
exocetdj said:
Thanks for clearing that up!!!! il make a purchase from the market when I can
Click to expand...
Click to collapse
Of course. I do like the thread of thought you were on. Feel free to make any other suggestions or ideas for features and improvements as you use the app. I'm always open to improving and making a better experience!
joeykrim said:
Of course. I do like the thread of thought you were on. Feel free to make any other suggestions or ideas for features and improvements as you use the app. I'm always open to improving and making a better experience!
Click to expand...
Click to collapse
that would be f#cking awesome if possible but would be a pain in teh arse to implement im sure hahaha!!!! il have a play and keep you posted
however this would have helped me out in the past a few time in sticky situations had i heard of this lol
bcmon run?? htc one
HTC One cihazımdan Tapatalk ile gönderildi

[Kernel][Exynos][BROKEN] Kali NetHunter for the Galaxy S7

OKAY SO
Currently, I am unable to get even stock kernel sources to boot. I'm not sure what to do to at this point. Waiting on someone else that actually has the device to get this figured out - DO NOT FLASH!
WARNING: This is completely untested, highly theoretical, and possibly dangerous. Flash at your own risk.
Back up your original boot image in TWRP before attempting to flash this! If it doesn't boot, you can simply restore your previous boot image.
This is Kali NetHunter 3.0.5 for the Galaxy S7.
If you don't know what Kali NetHunter is, well, it's the entire Kali Linux operating system in a chroot on your phone, plus a bunch of awesome apps for executing exploits, fixing things, doing cool things. It goes on, I suppose.
I'm gonna be honest guys, I'm not a security person. When it comes to security, I'm more of a Paul Blart.
What I do know though, is that there is apt-get, and apt-get is life.
Find much more information here: https://github.com/offensive-security/kali-nethunter/wiki
The answer to all your questions, generally the answer is YES, IT CAN DO THAT.
Most ROMs should be supported, as our installer uses a dynamic patching method on your current boot image!
The updater zip will add a few files to your /system partition, and install all of the NetHunter apps to your /data partition.
The chroot is located in /data/local, so you don't have to worry about your system partition being full. It's full read/write capable.
Understand that the zip will replace your current kernel with a completely different one.
This is necessary because most stock or custom kernels don't provide the drivers needed to operate most of Kali NetHunter's features.
DOWNLOAD
Current version: 3.0.5 (beta, 2016-03-11)
Please be careful to download the right version based on this table:
SM-G930F, SM-G930FD, SM-G930X, SM-G930W8: herolte
SM-G935F, SM-G935FD, SM-G935X, SM-G935W8: See proper forum.
All others be sad.
Download is available at: https://idlekernel.com/nethunter/herolte/
Grab the 700 MB+ zip.
Kernel-only zip is for upgrading your kernel, or just using the NetHunter kernel by itself. (yes, you can do that!)
BEFORE INSTALLING
IMPORTANT: Kali NetHunter requires write access to your data partition!
Flash this zip in TWRP to allow system modifications and unencrypted data: https://idlekernel.com/fun-stuff-trust-me/no-verity-opt-encrypt.zip
Once that is flashed, go to the wipe page and use the [Format Data] button.
This will wipe all your data, including internal storage!
Boot up your system and set up Android.
Now you can go back into TWRP and flash Kali NetHunter.
Currently, Samsung encryption is not supported by TWRP, so we have to disable it.
Sorry security freaks! There's a lot of irony here, isn't there?
The Kali chroot and apps are installed on your data partition (in /data/local for chroot). To initialize the chroot and install Kali Linux, you need to start the Kali NetHunter app.
The NetHunter installer will automatically install SuperSU (2.68) in system mode, which I consider to be more stable. Since NetHunter already modifies your system partition, there is no need to use systemless SuperSU anyways.
Also included is an extra Busybox that gives you full large file support and some extra applets.
FULL FRESH INSTALL STEPS
Install Team Win Recovery Project to your recovery partition.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
If your data partition doesn't mount in TWRP:
Go to [Wipe] -> [Format Data] (not advanced wipe) -> type "yes".
WARNING: This will wipe your internal storage, disable encryption, and factory reset your phone!
Once your data partition is formatted, go to [Reboot] -> [Recovery].
Download dm-verity and force encryption disabler.
Without exiting TWRP, transfer no-verity-opt-encrypt.zip to your device over MTP* and flash it using [Install] in TWRP.
If you wiped your data partition in step 2:
Go to [Reboot] -> [System].
Set up your phone by following the Android setup wizard.
Once it's set up, reboot back into recovery.
Download Kali NetHunter.
Without exiting TWRP, transfer the NetHunter installer zip to your device over MTP* and flash it using [Install] in TWRP.
Go to [Reboot] -> [System].
Wait 5-15 minutes for your device to finish setting itself up.
Open the NetHunter app to initialize the environment
You're done!
* MTP, known as Media Transfer Protocol, is the same way you transfer files from your PC to your device when booted into system.
UPDATING TO A NEWER BUILD
Going from 3.0.0 and up, all you have to do is flash the new build in recovery and wipe dalvik cache.
UPDATING YOUR ROM
To get all your NetHunter and SuperSU functions back after flashing a new ROM, just flash the ~60 MB update-nethunter-* zip again.
THE KERNEL
The NetHunter kernel for the Galaxy S7 is based on Samsung's OSRC G930FXXU1APAW kernel sources.
It has the following changes:
F2FS updated to Jaeguek Kim's latest kernel.org f2fs-stable sources
F2FS formatted system, data, and cache partition support
UKSM Ultra Kernel Same-page Merging KSM support
Updated and enabled USB (OTG) Atheros, Ralink, and Realtek WiFi drivers
Simple IO (SIO) scheduler as default IO scheduler
USB HID Gadget keyboard support
mac80211 packet injection support
DriveDroid compatibility
Additional drivers built in for the full Kali NetHunter experience
Data partition encryption changed from forced to optional (disabled during installation)
Disables dm-verity and allows you to boot modified system partitions
RAN INTO AN ISSUE OR BUG?
In order for me to help you, you have to at minimum reply with:
The link to the exact zip you downloaded
Your device model (it better not be something other than G900F, dangit!)
The name of the ROM you're flashing it on
The version and build date of the ROM you're flashing it on
A complete description of your problem
Optional: An audio recording of you reading this entire post
If your issue is with a specific app, it might be better to contact the developer of that app.
If your issue is during the installation (ex. flashing the NetHunter zip), then please collect a TWRP recovery.log for me.
If you found a problem and were able to fix it, and no one's mentioned it in the thread already, it would be kind to state the issue and your fix for others to make use of as well.
You can join me and the other NetHunter developers on IRC at the #nethunter room on freenode to more handily diagnose problems together.
I apologize, but I can't do house calls at this time.
KNOWN ISSUES
USB Keyboard - The keyboard is unusable when using Google Keyboard as your input method. Switch to Hacker's Keyboard.
NetHunter Terminal - It doesn't automatically set the columns/rows, so you need to type "resize" sometimes to fix the display.
DEVELOPMENT
You can see my branch of the installer development here: https://github.com/jcadduono/kali-nethunter
Alternatively, the main branch is also available on the Offensive Security GitHub: https://github.com/offensive-security/kali-nethunter
Kernel source: https://github.com/jcadduono/nethunter_kernel_herolte
SCREENSHOTS
DISCLAIMER
I am not affiliated with Offensive Security. They seem like cool guys though.
I'm not even a novice when it comes to security and penetration. I'm just a simple system administrator with a passion for breaking Android.
Please restrain yourselves from asking me security related questions.
XDA:DevDB Information
Kali NetHunter for the Galaxy S7, Kernel for the Samsung Galaxy S7
Contributors
jcadduono, The Kali NetHunter team
Source Code: https://github.com/offensive-security/kali-nethunter
Kernel Special Features:
Version Information
Status: Beta
Current Beta Version: 3.0.5
Beta Release Date: 2016-03-11
Created 2016-03-11
Last Updated 2016-04-15
Awesome! I asked if this was possible years ago. Glad someone is actually making it happen!
phone is rebooting now and then after flashing the kernel.. any idea why?
[email protected] said:
phone is rebooting now and then after flashing the kernel.. any idea why?
Click to expand...
Click to collapse
no you will have to wait for someone to try it that can actually provide useful information such as logs
jcadduono said:
no you will have to wait for someone to try it that can actually provide useful information such as logs
Click to expand...
Click to collapse
Not sure how to get logs when the device doesn't boot could you give us a hint so we can provide you with what you need?
finally, did great work there, but how do i download it
ok did manage it some how the IDM was the issue and cant download it
hm cant flash ur kernel and stuck in boot loop, when i try to flash it its says in twrp "unable to mount /data as rw!" any idea?
SELinux ins still enforcing or do you managed to change it?
Activadee said:
SELinux ins still enforcing or do you managed to change it?
Click to expand...
Click to collapse
The new kernel is selinux permissive if you don't mind trying it for me. It would really help if someone could join #nethunter on freenode IRC to get this working with me.
I've removed the full installer until we can get the kernel working without issues.
I installed now your test 2 Kernel zip. But its causing Bootloop - its dont go over the "Samsung Galaxy S7" logo. Its a European s7 with Exynos. If you tell me HOW to provide some logs i would like to help you if i can ;D
Edit// I Managed to upload the log from booting with your kernel. I don't know if it's right but maybe it helps you. I backed up my boot with twrp, flashed your kernel, reboot until the loop and restored the old boot with twrp
https://drive.google.com/file/d/0B9IHgLrX7UgTRThJUEs3RExUR1k/view?usp=docslist_api
Activadee said:
I installed now your test 2 Kernel zip. But its causing Bootloop - its dont go over the "Samsung Galaxy S7" logo. Its a European s7 with Exynos. If you tell me HOW to provide some logs i would like to help you if i can ;D
Edit// I Managed to upload the log from booting with your kernel. I don't know if it's right but maybe it helps you. I backed up my boot with twrp, flashed your kernel, reboot until the loop and restored the old boot with twrp
https://drive.google.com/file/d/0B9IHgLrX7UgTRThJUEs3RExUR1k/view?usp=docslist_api
Click to expand...
Click to collapse
nope need /sys/fs/pstore not recovery.log
i also need a backup of your boot partition after flashing the kernel
I upload the boot partition later. Would you please tell me how to grab the log from /sys/fs/pstore ? Via Adb from twrp?
// Edit
The files from the boot partition are uploaded
https://drive.google.com/folderview?id=0B9IHgLrX7UgTRnlvcWFiRHVwYUE
I just flashed your Kernel and backed up the partition after this. Or do you need one with already tried to boot?
Activadee said:
I upload the boot partition later. Would you please tell me how to grab the log from /sys/fs/pstore ? Via Adb from twrp?
Click to expand...
Click to collapse
yes it should exist for a few minutes after exiting boot loop and entering twrp, adb pull /sys/fs/pstore
it will grab the whole folder for you
in the meantime, i have made a flashable tar for kernel with the boot image you gave me. i trimmed out much of the secure stuff & knox, and enabled adb debugging.
https://idlekernel.com/nethunter/herolte/AP_nethunter_G930F_APB9_test1.tar
you should hopefully be able to adb in and get logcat and /proc/kmsg while it is stuck in samsung logo after flashing it....
jcadduono said:
yes it should exist for a few minutes after exiting boot loop and entering twrp, adb pull /sys/fs/pstore
it will grab the whole folder for you
in the meantime, i have made a flashable tar for kernel with the boot image you gave me. i trimmed out much of the secure stuff & knox, and enabled adb debugging.
https://idlekernel.com/nethunter/herolte/AP_nethunter_kernel_G930F.tar
you should hopefully be able to adb in and get logcat and /proc/kmsg while it is stuck in samsung logo after flashing it....
Click to expand...
Click to collapse
Going to do this later this day.
Activadee said:
Going to do this later this day.
Click to expand...
Click to collapse
Ok, lets begin.
I flashed first the test 2 zip from yesterday to get /sys/fs/pstore
flashed the zip via twrp -> reboot to system -> again it dont go over the FIRST Samsung logo - it shows up for 2 secs and rebooting again. This is the only result i get when i flash the zip. after i rebooted to twrp i connected my phone to my laptop to pull /sys/fs/pstore
So i started adb and typed in: adb pull /sys/fs/pstore
the result is
pull: building file list...
0 files pulled. 0 files skipped.
Click to expand...
Click to collapse
There is no files in the folder.
I restored the original boot partition and flashed your *.tar file via odin 3.10.7.
the result is just the same.
For better undestanding i uploaded a picture with my "high end build in 2MP Tablet Camera" to show you what samsung logo i mean. Its showing up for 2 secs, reboots and showing up again.
https://drive.google.com/open?id=0B9IHgLrX7UgTbkstc0RrOS1zamc
With the original boot partition - there is an other samsung logo after the first one. I uploaded it here :
https://drive.google.com/open?id=0B9IHgLrX7UgTcG1nZ3cyZ3VNbkk
Hope i could help you with this.
Activadee said:
Hope i could help you with this.
Click to expand...
Click to collapse
Thanks for your time and assistance. Would anyone else be willing to come to #nethunter on freenode IRC and flash a few test zips for me?
jcadduono said:
Thanks for your time and assistance. Would anyone else be willing to come to #nethunter on freenode IRC and flash a few test zips for me?
Click to expand...
Click to collapse
I would. I have the G935F so could help with that. Let me know. Everytime I go to #nethunter you're not active. I'm assuming it's due to our different time zones. I was then told I shouldn't be there if it's nothing to do with AOSP, which was rude. but anyway, let me know what I can do to help. I am available anytime after 2pm (GMT)
Sent from my SM-G935F using Tapatalk
Just ordered mine unnfortunately there's a 7 day lead time / back log if you're still stuck then I will be happy to come on IRC and help with the testing
this is kind of irrellevant, but could you please trhy to port it to the s6? it has no problems with the bootloader when loading unofficial files. also, i have not planned on getting the s7
Mgrev said:
this is kind of irrellevant, but could you please trhy to port it to the s6? it has no problems with the bootloader when loading unofficial files. also, i have not planned on getting the s7
Click to expand...
Click to collapse
i'm actually having the exact same problem on Note 5 right now, which will also apply to S6...can't figure out how to boot custom kernels without it rebooting at lock screen. =(
hopefully t-mobile S7/edge will not have these problems since it is qcom...
got to say development would be a million times easier if i had these phones myself ><
update 2016-03-28: try this if you're crazy enough! https://idlekernel.com/nethunter/herolte/ (grab latest)

[MOD][15-NOV-2016] MultiROM 33 + TWRP_3.0.2-6_MultiROM_Edition_2016-11-15 [TestBuild]

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
You use this tool at your own risk!!
I have tried to put as many safeguards as I can,
but I cannot be held accountable for any soft-bricks, hard-bricks, loss of data and/or information,
or anything else going wrong.​
Introduction
MultiROM is one-of-a-kind multi-boot mod for HTC 10. It can boot any Android ROM as well as other systems like Ubuntu Touch, Plasma Active, Bohdi Linux or WebOS port. Besides booting from device's internal memory, MultiROM can boot from USB drive connected to the device via OTG cable. The main part of MultiROM is a boot manager, which appears every time your device starts and lets you choose ROM to boot. You can see how it looks on the left image below and in gallery. ROMs are installed and managed via modified TWRP recovery. You can use standard ZIP files to install secondary Android ROMs, daily prebuilt image files to install Ubuntu Touch and MultiROM even has its own installer system, which can be used to ship other Linux-based systems.
Features:
* Multiboot any number of Android ROMs
* Restore nandroid backup as secondary ROM
* Use for example Ubuntu Touch or Desktop alongside with Android, without the need of device formatting
* Boot from USB drive attached via OTG cable
​
Warning!
It _is_ dangerous. This whole thing is basically one giant hack - none of these systems are made with multibooting in mind. It is messing with boot sector and data partition. It is no longer messing with data partition or boot sector (actually the no-kexec workaround is messing with your boot sector), but it is possible that something goes wrong and you will have to flash factory images again.
Make backups. Always.​
Now seriously: HTC 10 Warnings!
Beware of Dragons, Goblins, Gremlins and lingering primary_boot.img(RIP)
Due to lack of kexec-hardboot kernel support, I am messing with your boot partition!​
Since we lack kernels with kexec-hardboot patch, I'm using a workaround to bypass that restriction, and although tested successfully on the HTC One M7, M8, M9, and HTC 10, as well as several other devices I'm not involved with, things can still go wrong, since I'm directly flashing your boot partition.
I have yet to see any negative effect of that, and version 4 of the no-kexec workaround is much more robust, you should still be aware that I'm "temp-flashing" your real boot partition.
If you are in doubt, either ask, or avoid it completely; MultiROM has always been a huge hack to begin with, and this is even more of a hack.
Always have a backup ready. Possibly even RUU! ... I have not had to, I have also not encountered any loss whatsoever, but better be safe!
Current problems on the HTC 10
* OTG is untested and unsupported at the moment
* exFAT partitions are not supported currently
^^ those haven't worked for quite a while, so it's not really HTC 10 specific
Encrypted devices: Your secondary ROMs do not know your device is encrypted, do not (again: do not) try to encrypt your device while booted into a secondary ROM.​
Secure boot (ie require Password/Pattern/PIN on boot): Thanks to @Captain_Throwback who found out, that under certain circumstances (yet to be determined), your primary (possibly secondary as well) may loose the ability unlock your LockScreen using your Password/Pattern/PIN.
The same thing has been observed in TWRP restores, and although your password is correct and does decrypt your device, it breaks at the lockscreen for some reason.
I recommend you disable Password/Pattern/PIN on boot until / IF the issue is resolved, but in case you do find yourself in that situation, please go ahead and follow the instruction posted in the TWRP thread:
10. After I restored my Data backup and boot back to Android, I'm entering the correct PIN/password, but it's telling me the password is wrong. What happened, and how do I fix it?
It appears that sometimes after restoring a backup of Data where security was enabled (such as a PIN or password lock), the device does not recognize the correct password. There are two ways to avoid this issue:
Disable security in Android before making a backup of data.
After restoring Data, while still in TWRP, use the TWRP File Manager to navigate to /data/system and delete all the locksettings.* files (such as locksettings.db, etc). When you reboot, the password will be gone.
​
Please bear in mind, that some ROMs (particularly Sense based ROMs), will take a long time to boot up, well above 10minutes, so patience!​
Installation
Not supported at this time: 1. Via MultiROM Manager app
This is the easiest way to install everything MultiROM needs. Install the app and select MultiROM and recovery on the Install/Update card. If the Status card says Kernel: doesn't have kexec-hardboot patch! in red letters, you have to install also patched kernel - either select one on the Install/Update card or get some 3rd-party kernel here on XDA. You are chosing kernel for your primary ROM, not any of your (future) secondary ROMs, so select the version accordingly.
Press "Install" on the Install/Update card to start the installation.
​
2. Manual installation
MultiROM has 3 parts (well, it should, but in this case it only has 2) you need to install:
Modified recovery (TWRP_3.x.x-x_multirom_pme_YYYYDDMM-pp.img) - download the IMG file from second post and use
TWRP itself to flash newer TWRP to recovery partition:
TWRP->Install-> select Images -> TWRP_3.x.x-x_multirom_pme_YYYYDDMM-pp.img -> to Recovery -> Reboot to Recovery
.
or
.
"fastboot flash recovery TWRP_3.x.x-x_multirom_pme_YYYYDDMM-pp.img"
(in download mode, for example)
Code:
C:ADBADB_10>adb reboot download
C:ADBADB_10>fastboot devices
FAxxxxxxxxxx fastboot
C:ADBADB_10>fastboot flash recovery TWRP_3.0.2-6_multirom_pme_20160917-02.img
target reported max download size of 800000000 bytes
sending 'recovery' (25700 KB)...
OKAY [ 2.001s]
writing 'recovery'...
(bootloader) HOSD CL#761759
(bootloader) [email protected]
(bootloader) [email protected]%
(bootloader) Update partition OK
(bootloader) [email protected]
OKAY [ 2.872s]
finished. total time: 4.878s
C:ADBADB_10>fastboot reboot-bootloader
rebooting into bootloader...
OKAY [ 0.004s]
finished. total time: 0.005s
MultiROM (multirom-YYYYMMDD-vXXd-UNOFFICIAL-pme.zip) - download the ZIP file from second post and flash it in the MultiROM Recovery.
.
.
Patched kernel - You can use either one of the stock ones in second post or third-party kernels which include the patch, you can see list in the second post. Download the ZIP file and flash it in recovery.
We don't have a patched kernel, so I'm using a workaround.
You current rom will not be erased by the installation.
Download links are in the third post.​
Adding ROMs
1. Android
Go to recovery, enter the MultiROM section of TWRP (by clicking the icon in to top right corner) -> Add ROM. Select the ROM's zip file and confirm. As for the space, clean installation of stock 4.2 after first boot (with dalvik cache generated and connected to google account) takes 676mb of space.​
2. Ubuntu Touch this is NOT SUPPORTED
Use the MultiROM Manager app to install Ubuntu Touch.
Ubuntu Touch is in development - MultiROM will have to be updated to keep up with future changes in Ubuntu, so there's a good chance this method stops working after a while and I'll have to fix it.
Using USB drive
During installation, recovery lets you select install location. Plug in the USB drive, wait a while and press "refresh" so that it shows partitions on the USB drive. You just select the location (extX, NTFS and FAT32 partitions are supported) and proceed with the installation.
If you wanna use other than default FAT32 partition, just format it in PC. If you don't know how/don't know where to find out how, you probably should not try installing MultiROM.
If you are installing to NTFS or FAT32 partition, recovery asks you to set image size for all the partitions - this cannot be easilly changed afterward, so choose carefully. FAT32 is limited to maximum of 4095MB per image - it is limitation of the filesystem, I can do nothing about that.
Installation to USB drives takes a bit longer, because the flash drive is (usually) slower and it needs to create the images, so installation of Ubuntu to 4Gb image on my pretty fast USB drive takes about 20 minutes.
Enumerating USB drive can take a while in MultiROM menu, so when you press the "USB" button in MultiROM, wait a while (max. 30-45s) until it searches the USB drive. It does it by itself, no need to press something, just wait.​
Updating/changing ROMs
1. Primary ROM (Internal)
Flash ROM's ZIP file as usual, do factory reset if needed (it won't erase secondary ROMs)
Go to the MultiROM section of TWRP (by clicking the icon in to top right corner) and do Inject curr. boot sector.
2. Secondary Android ROMs
If you want to change the ROM, delete it and add new one. To update ROM, follow these steps:
Go to the MultiROM section of TWRP (by clicking the icon in to top right corner) -> List ROMs and select the ROM you want to update.
Select "Flash ZIP" and flash ROM's ZIP file.
In some cases, you might need to flash patched kernel - get corresponding patched kernel version from second post and flash it to the secondary ROM sama way you flashed ROM's ZIP file.
Explanation of recovery menus
Main menu
- Add ROM - add ROM to boot
- List ROMs - list installed ROMs and manage them
- Inject boot.img file - When you download for example kernel, which is distrubuted as whole boot.img (eg. franco kernel), you have to use this option on it, otherwise you would lose MultiROM.
- Inject curr. boot sector - Use this option if MultiROM does not show up on boot, for example after kernel installation.
- Settings - well, settings.
Manage ROM
- Rename, delete - I believe these are obvious
- Flash ZIP (only Android ROMs) - flash ZIP to the ROM, for example gapps
- Add/replace boot.img - replaces boot.img used by this ROM, this is more like developer option.
- Re-patch init - this is available only for ubuntu. Use it when ubuntu cannot find root partition, ie. after apt-get upgrade which changed the init script.​
Screenshots
Special Thanks
@Tasssadar: Original author of MultiROM.
@Captain_Throwback: For testing, giving me a hard time, and warning you guys about the secure boot (ie require Password/Pattern/PIN on boot) issue.
zhuowei: For the fake properties idea.
Source code
MultiROM - https://github.com/Tasssadar/multirom (branch master)
Modified TWRP - https://github.com/Tasssadar/Team-Win-Recovery-Project (branch master)
Device files - ....
Everything is here:
https://github.com/multirom-htc
https://github.com/nkk71​
XDA:DevDB Information
MultiROM, Tool/Utility for the HTC 10
Contributors
nkk71
Version Information
Status: Stable
Current Stable Version: 33testbuild
Stable Release Date: 2016-11-15
Created 2016-09-18
Last Updated 2016-11-15
FAQ and other notes
HTC 10 - Peculiarities / Bugs
There are no kexec-hardboot kernels for the HTC 10, so you need to have the no-kexec-workaround enabled. Please refer to post 4 for details.
.
A few notes about enabled adb in MultiROM boot menu: having adb enabled in MultiROM boot menu (TWRP->MultiROM->Settings->Enable ADB) may interfere with the ROMs "connection" (MTP, etc), possibly even prevent the ROM from booting (rarely, but I've seen it happen). Since this option is usually only used for debugging, I recommend to keep this option disabled.
.
Secure boot (ie require Password/Pattern/PIN on boot): Thanks to Captain_Throwback who found out, that under certain circumstances (yet to be determined), your primary (possibly secondary as well) may loose the ability unlock your LockScreen using your Password/Pattern/PIN.
The same thing has been observed in TWRP restores, and although your password is correct and does decrypt your device, it breaks at the lockscreen for some reason.
I recommend you disable Password/Pattern/PIN on boot until / IF the issue is resolved, but in case you do find yourself in that situation, please go ahead and follow the instruction posted in the TWRP thread:
10. After I restored my Data backup and boot back to Android, I'm entering the correct PIN/password, but it's telling me the password is wrong. What happened, and how do I fix it?
It appears that sometimes after restoring a backup of Data where security was enabled (such as a PIN or password lock), the device does not recognize the correct password. There are two ways to avoid this issue:
Disable security in Android before making a backup of data.
After restoring Data, while still in TWRP, use the TWRP File Manager to navigate to /data/system and delete all the locksettings.* files (such as locksettings.db, etc). When you reboot, the password will be gone.
​
Something not working, or you need help debugging
Please provide the following information:
a detailed explanation of the problem
.
the recovery.log (found in /tmp/recovery.log or by copying it to the sdcard and then copying it to PC)
.
the logs from /sdcard/multirom-klogs (zip those up, before uploading). that option needs to be enabled in TWRP->MultiROM->Settings
.
the link to the thread and name of file (+ which version) you are having problems with
.
due to the large size of some of these ROMs, I may not have time to download and test them, so please also upload the updater-script (found in ROM.ZIP under /META-INF/com/google/android/)
Supported File Systems for secondary ROMs
Currently only the following partitions can boot secondary ROMs:
Internal Storage
.
An external sdcard, properly partitioned with an ext4 partition (see below)
Partitioning your External SD Card
Warning: You will loose all information on your external sdcard!!
There is no way of retrieving that information, so copy everything to your PC before proceeding!!
In order to make a decent assessment of the size of your ext4 partition, below is a small table of some of the ROMs I've installed to my ext4 partition:
Code:
[U][B]2.5G BeanStalk-6.20-20160905-pm[/B][/U]
1.1G BeanStalk-6.20-20160905-pm/data
1.3G BeanStalk-6.20-20160905-pm/system
[U][B]1.4G cm-13.0-20160915-UNOFFICIA[/B][/U]
396M cm-13.0-20160915-UNOFFICIA/data
960M cm-13.0-20160915-UNOFFICIA/system
[U][B]3.8G ice-2.1.1_PERFUME_UHL_M60_[/B][/U]
1.7G ice-2.1.1_PERFUME_UHL_M60_/data
2.0G ice-2.1.1_PERFUME_UHL_M60_/system
[B][U]4.0G Viper10_3.1.0[/U][/B]
1.8G Viper10_3.1.0/data
2.1G Viper10_3.1.0/system
Please bear in mind, those installs have none or very few extra downloaded apps, which would also be using the data partition; if you need a reference for comparison, you can select Backup in TWRP, which will show you the size of your current /data partition (this excludes "Internal Storage")... mine is about 8GB !
FYI: I'm using a 200GB sdcard, and have it setup with a 30GB ext4 partition... but that's just me
Step 1: Partitioning
TWRP Main Menu
-> Advanced
-> Partition SD Card
-> selected Micro SDCard
Set the EXT Size to the size of your choice
Set Swap Size to zero
Set File System to ext4
-> swipe to proceed with repartitioning
go back to the main menu.
Example Screenshots:
TWRP Main Screen
Select Advanced
Select Partition SD Card, Micro SDCard is selected, press OK
Set the EXT Size to the size of your choice
Set Swap Size to zero
Set File System to ext4
then swipe to begin
Partitioning complete
Step 2 (optional, but recommended): Changing the first partition to exFAT
The repartitioning in step 1, has formatted your card with two partitions, the first one (used by ROMs as external storage) being FAT32 formatted. Since FAT32 has certain limitations, in particular the 4GB file size limit, it's recommended to reformat it as exFAT.
TWRP
-> Wipe
-> Advanced Wipe
-> select external_sd or Micro SDCard (whichever is shown in the menu)
-> Repair or Change File System
-> Change File System
-> select exFAT
-> swipe to reformat the first partition to exFAT
Example Screenshots:
Wipe Menu, select Advanced Wipe
Advanced Wipe Menu:
select external_sd or Micro SDCard (whichever is shown in the menu)
and click Repair or Change File System
Select Change File System
Select exFAT
Swipe to reformat to exFAT
Formatting complete
​
Device encryption
Since v32, MultiROM supports encryption on this device (it has to be added for each device separately). It works only with Android-based secondary ROMs and the secondary ROMs don't know the device is encrypted, so they would allow you to encrypt the device again - do not do that. If you're using password, pin or pattern for the encryption, MultiROM will ask you for the password on boot. If you're booting the primary ROM, then Android will ask you for the password _again_ - unfortunately, there is no way for me to pass the "unencrypted" status to Android. If you're booting secondary ROM, MultiROM will ask you for the password again after the reboot - that's because I have to unencrypt the /data partition after the ROM's kernel is loaded.
I could omit the second password prompt when booting secondary ROM by temporarily saving the password somewhere, but that's obviously unsafe. So is using encryption with unlocked device though, so I might add this later.​About security
In order to make multi-booting possible, MultiROM has to sacrifice some security measures. Firstly, on secondary Android ROMs, /system is not mounted read-only. While there are other things preventing malicious software from messing with /system, this might potentialy make it easier for such software to attack that system.​
What do the ROMs share?
All ROMs are separate, except /sdcard, which is shared between all Android ROMs.​
How many ROMs can I have?/Where are the ROMs stored?
You can have as many ROMs as you can fit in your /sdcard. All the ROMs are stored in /sdcard/multirom/roms or on an USB drive. This folder is unaccessible in Android, to prevent mediascanner from scanning it. You can either in recovery, or obtain root and go to /data/media/0/multirom/roms.​
The menu with all the ROMs won't show up during boot, how to fix it?
Either re-flash the MultiROM zip or go to recovery, Advanced -> MultiROM -> Inject curr. boot sector.
The reason for this is that something rewrote your boot.img, which happens for example when you flash a kernel. MultiROM's boot menu is part of the boot image, so it has to be added into it again.​
My secondary ROM(s) no longer boot up, after I flashed a new primary ROM / Kernel / boot.img, and the MultiROM menu (as mentioned above) no longer appears
Please issue a restorecon on the particular ROM:
TWRP -> MultiROM -> select ROM in question -> Run Restorecon
Technical explanation
Usually most init.rc scripts will run a restorecon_recursive on /data and /mnt(also cache, but that's not too important for us)
Code:
restorecon_recursive /data
restorecon_recursive /mnt
this will supposedly restore file contexts (permissions if you prefer the older term) on all your data partitions, it will however break all your secondary ROMs as their system partition actually lives there, but the "permissions" have been overwritten to make it look like just normal data.
This is also why so many Android 7 (Nougat) MultiROM people (in other threads) are having so much trouble, as the file_contexts format has changed, and that hasn't been updated for the new format yet.​
Downloads
Current Test Builds
All Current Test Builds can be found on androidfilehost under MultiROM TEST BUILDS
You should be using these, not the ones mentioned below!
Definition of Test Builds: These are stable builds which I have and am using (and testing). They contain the most up to date fixes as mentioned in the changelog under <tba>.
The main reason I'm calling them "Test Builds", is because they have not gone through extensive testing as what I would usually do for a "release version". I think most people would call them release versions, but I tend to be more conservative.
.
The second reason, they get uploaded to AFH instead of directly here, is two fold:
I'm maintaining the M7, M8, M9 and HTC 10 MultiROM versions, and uploading to AFH is easier and faster for me.
Updating the actual threads and posts, is too time consuming every time I want to push an update.
1. Main downloads
Modified recovery (based on TWRP): TWRP_3.0.2-6_multirom_pme_20160920-04.img
MultiROM Main ZIP: multirom-20160920-v33b-UNOFFICIAL-pme.zip
Not supported at this time MultiROM Manager Android app: Google Play or link to APK
AndroidFileHost (mirror & old versions): https://www.androidfilehost.com/?w=files&flid=114470
​
2. third-party kernels with kexec-hardboot patch
None exist at the moment, hence the use of the workaround.​
3. Uninstaller
MultiROM uninstaller: multirom_uninstaller
Flash this ZIP file to remove MultiROM from your device. It will erase all secondary ROMs. If you don't want MultiROM menus in recovery, re-flash [RECOVERY][pme] TWRP touch recovery, but it is not needed - those menus don't do anything if MultiROM is not installed.​
Changelog
MultiROM Managar App:
Code:
2016-11-11 MultiROM Manager App[-debug] version
=====================
* Add support for external storage
(allows listing, manipulating, and booting secondary ROMs on external storage)
* Highlight currently running ROM first
(also disallow deletion of it)
* Show ROMs in order of location (Current, then Internal, etc.)
* Allow duplicate ROM names if on separate partition
* Fix Widget
* Support for HTC 10 (pme)
* Support for HTC One M9 (hima)
* Support for HTC One M8
* Support for HTC One M7 (m7univ)
MultiROM:
Code:
2017-10-27 MultiROM v33
=====================
* New 'System Partition Mode' ROMs ([URL="https://github.com/nkk71/multirom/commit/dfb1a294ab55374b80bb6f14c2422850610c986d"]technical details[/URL])
* Android 8.0 compatibility
* Fix sdcardfs gid derivation ([URL="https://github.com/nkk71/multirom/commit/e0b749567f4ad976a5aabcdbd944f44f9c68b399"]technical details[/URL])
* vold_decrypt (Decryption on the HTC One M9 and HTC 10)
* trampoline511 (aka trampolineMk2)
* New default icons for Android ROMs when not set in app
* Code fixes and cleanups
2016-11-15 MultiROM v33
=====================
* Preliminary support for Android 7 (Nougat)
* Add support functions for MultiROM Manager App
(allows listing, manipulating, and booting secondary ROMs on external storage)
* Update no-kexec to version 4.1
+ changes to second boot detection
+ no-kexec versioning to allow auto-updating when needed
+ code cleanup
* Reboot to recovery on failed data partition mount
(avoids potentially being stuck in bootloop)
* Add reboot to recovery button on decryption screen when in second boot
* Code fixes
MultiROM v33b
=====================
* Fix [possible] boot img truncation when used in daisy-
chaining [older] systemless SuperSU, [B][U]and[/U][/B] rebooting
directly from AROMA Installer (info to follow later)
* Fixed mr_init_devices for certain devices (better fix will follow)
* Fix the auto-boot issue to properly fall back to primary
when secondary is deleted
MultiROM v33a
=====================
* Initial port for the HTC 10 (pme)
* Updated no-kexec to version 4
* autoboot: "Use last booted ROM" now works with external ROMs
previous changelogs are in M7/M8/M9 threads
i'll consolidate at some point hopefully
Recoveries:
Code:
2017-10-27
=====================
* Fully merged with official TWRP 7.1 branch
* New 'System Partition Mode' ROMs ([URL="https://github.com/nkk71/multirom/commit/dfb1a294ab55374b80bb6f14c2422850610c986d"]technical details[/URL])
* Android 8.0 compatibility
* Auto detect possible use of legacy props
* vold_decrypt (HTC decryption on the M9 and 10)
* Install from backup using a System_Image
* libbootimg: Updated to support AnyKernel2
* Fixes for some boot.img patchers
* Block mount/unmount of secondary partitions
* Use own loop devices to avoid conflicts with other installers
* Code fixes and cleanups
2016-11-15 (33e)
=====================
* Fix restorecon for secondary ROMs
* Rebased on android-7.0 branch
* Preliminary support for Android 7 (Nougat)
* Fix no-kexec restore primary_boot.img on devices
with PIN/Pattern/Password encryption
* Fix flashing of certain gapps zip's which are
missing the updater-script file
[STRIKE]* Add warning on failed injection[/STRIKE]
* Minor code cleanup
2016-09-20 (33b)
=====================
* Fix some installer scripts using certain mount/unmount commands
* Wake up screen before starting flash (fixes AROMA installer issues)
* Changed fstab so external ext4 won't get wiped with a factory reset
2016-09-17 (33a)
=====================
* initial port for the HTC 10 (pme)
* Based on TWRP 3.0.2 android-6.0 tree & branch
* Includes official TWRP commits up to Aug 23, 2016
previous changelogs are in M7/M8/M9 threads
i'll consolidate at some point hopefully
No-kexec workaround (version 4)
As of this version you need to manually enable the no-kexec workaround.
Actually, depending on the developer, (s)he may have already enabled it. Nonetheless, you can still choose to override the settings:
Go to TWRP -> MultiROM -> Settings
and enable the No-KEXEC workaround option
once you do you'll also have the option for ADVanced settings, please see below for a detailed description, though in most cases the default should suffice.​
Explanation of the no-kexec workaround advanced options
(the Info page is supposed to provide the same information as here, but I haven't added that yet)
1- Use no-kexec only when needed
This should be the default for most users, the other options are more intended for advanced uses (kernel debugging, and such).
If MultiROM detects a kexec-hardboot enabled kernel in primary slot, it will use the standard kexec method to boot the secondary. If on the other hand it does not detect that the kernel supports kexec-hardboot then it will use the workaround.​
2- ... but also ask for confirmation before booting
Same as option 1 above, but in addition you will be presented with a confirmation message, if the workaround is about to be used:
3- Ask whether to kexec or use no-kexec on booting
If the kernel in primary slot does support kexec-hardboot'ing then you will be presented with a choice of which method to use
If the kernel does not support kexec-hardboot then you'll be informed as in option 2 above​
4- Always force using no-kexec workaround
Forces the no-kexec workaround to be used, even if the kernel in primary slot has kexec-hardboot support​
Options 2 and 3, always present the user with a GUI confirmation, whereas option 1 and 4 will act as instructed without prompting the user.​
Visual feedback provided by the Booting... card
Regular kexec-hardboot boot
Booting using no-kexec-workaround
​
How does all this work, etc
The workaround:
MultiROM TWRP recovery works, and is able to flash ROMs to secondary
MultiROM in essence works (in particular, able to change the mount points during bootup)
what does not work is being able to use the secondary ROM's kernel (due to the lack of kexec-hardboot kernel and tools)
So how do we deal with booting any ROM if we can't use the proper kernel for the ROM?
Easy :
Upon selection of the ROM during MultiROM boot menu, we do the following:
"flash" secondary boot.img to primary partition slot
initiate a full reboot (secondary boot.img is in primary slot)
let the ROM auto-boot up on second boot
The good part:
It works.
.
Every secondary ROM has a boot.img file we can easily access to use the workaround; when you flash a ROM in MultiROM TWRP, not only are the "virtual" system, data, and cache partitions created, but also the boot.img.
The secondary ROMs' boot.img will be found /data/media/0/multirom/<name of rom>/boot.img or if it's on your external ext4 in the appropriate rom folder
We use that file and flash it to primary real boot partition and then upon second boot, the correct boot.img is in place for the correct ROM.
The bad part:
Unlike secondary ROMs, the primary ROM does not have a boot.img file... since it is the primary ROM, the boot.img should always be in the real boot partition, since MultiROM expects the primary kernel to have kexec-hardboot capability, but it does not, so I just go ahead and mess with your primary boot partition.
Since we have no "boot.img" file for the primary, my workaround makes a backup of the boot partition and names it primary_boot.img
In version 4 of the workaround, this backup is created and used only when booting a secondary ROM. When a secondary ROM is selected it's boot.img is flashed to primary slot, upon booting into the secondary ROM, the primary_boot.img is restored.
Long story short: the difference between kexec and no-kexec-workaround
Usual kexec-hardboot MultiROM
Select secondary ROM
MultiROM detects a boot.img
MultiROM reads the secondary boot.img into memory
MultiROM initiates a kexec second boot but into the secondary boot.img from above
MultiROM continues
No-kexec-workaround MultiROM
Select secondary ROM
MultiROM detects a boot.img
MultiROM flashes the secondary boot.img into the primary boot partition
MultiROM initiates a normal second boot but with the secondary boot.img in the real boot partition
MultiROM restores the primary_boot.img and continues as usual
so the difference is in point 3... whereas normal kexec'ing loads the secondary boot.img into memory and goes from there, the workaround, actually flashes it to the real primary boot partition... and continues normally from there
Devices using the no-kexec-workaround successfully
MultiROM threads for:
HTC One M7
HTC One M8
HTC One M9
.
Moto G 2015 by GtrCraft
Moto X Play by GtrCraft
OnePlus One (starting here) by KINGbabasula
OnePlus 3 by martinusbe
OnePlus X by martinusbe
Sony Xperia Z5 by Myself5
Sony Xperia L by STRYDER~007
Sony Xperia SP by Adrian DC
Xiaomi Redmi 2 by premaca
Wileyfox Swift by @beroid
.
(possibly Samsung Note 4, unsure if that was continued or not)
Others; unofficial builds? (if you are, kindly let me know, and I'll add you to the list)
reserved for @Captain_Throwback
Oops
files are in the download section, the posts need some editing, bug gonna be a bit busy tomorrow
so enjoy
Ok,ok,you will say that im noob,but i flashed both files,flash the RR ROM,but the multirom menu doesnt show and it boots me directly to primary rom
azZA_09 said:
Ok,ok,you will say that im noob,but i flashed both files,flash the RR ROM,but the multirom menu doesnt show and it boots me directly to primary rom
Click to expand...
Click to collapse
That's not a "bug report"
Please provide detailed information, and logs... BTW, I didnt add the advanced kernel logging feature "by mistake", it's so you can get "easier" logs... but if those exist, then you still need to pull a kmsg
Code:
adb pull /sys/fs/pstore/console-ramoops
No boot menu, normally means that trampoline (if it's in the above log), wasnt able to mount data... or it's not even there
nkk71 said:
That's not a "bug report"
Please provide detailed information, and logs... BTW, I didnt add the advanced kernel logging feature "by mistake", it's so you can get "easier" logs... but if those exist, then you still need to pull a kmsg
Code:
adb pull /sys/fs/pstore/console-ramoops
No boot menu, normally means that trampoline (if it's in the above log), wasnt able to mount data... or it's not even there
Click to expand...
Click to collapse
Sorry dude,Im at work atm and I think too slow ). I will provide logs tomorrow,but maybe somebosy can provide them since then. Once again,great job and im sure you will fix every problem
azZA_09 said:
Sorry dude,Im at work atm and I think too slow ). I will provide logs tomorrow,but maybe somebosy can provide them since then. Once again,great job and im sure you will fix every problem
Click to expand...
Click to collapse
open a terminal emulator on your phone, and
Code:
cat /sys/fs/pstore/console-ramoops | grep tramp
then you'll see if trampoline is even in there
nkk71 said:
open a terminal emulator on your phone, and
Code:
cat /sys/fs/pstore/console-ramoops | grep tramp
then you'll see if trampoline is even in there
Click to expand...
Click to collapse
It shows only the # after that
Download links are not working.
azZA_09 said:
It shows only the # after that
Click to expand...
Click to collapse
then probably the log is way after trampoline & multirom, so you need to enable "kernel logging"... I didnt add that by mistake
http://forum.xda-developers.com/devdb/project/?id=17079#downloads
Tab isn't showing up for me, but that link should work.
jsaxon2 said:
Download links are not working.
Click to expand...
Click to collapse
They're supposed to be here
If you can't access them, I've uploaded them to AFH as well
Got it installed and booted up cm13 as secondary. Working good so far. Thanks for this. I'm back on Viper running from primary.
jsaxon2 said:
Got it installed and booted up cm13 as secondary. Working good so far. Thanks for this. I'm back on Viper running from primary.
Click to expand...
Click to collapse
hmm is that a complaint? ... sounds rather positive, so i'm unsure. i usually only hear complaints
Well, if it's not, thanks for reporting back :good:
I currently have an old version of Viper10 as primary / daily
and as secondaries:
ice-2.1.1_PERFUME_UHL_M60_SENSE80GP_HTC_Europe_1.90.401.3
BeanStalk-6.20-20160905-pme
cm-13.0-20160915-UNOFFICIAL-pme
and some other weird stuff
nkk71 said:
hmm is that a complaint? ... sounds rather positive, so i'm unsure. i usually only hear complaints
Well, if it's not, thanks for reporting back :good:
I currently have an old version of Viper10 as primary / daily
and as secondaries:
ice-2.1.1_PERFUME_UHL_M60_SENSE80GP_HTC_Europe_1.90.401.3
cm-13.0-20160915-UNOFFICIAL-pme
and some other weird stuff
Click to expand...
Click to collapse
Lol, not a complaint, it's a compliment. You have done excellent work. Just wanted to report that it is working. I'm too tired to mess with it anymore, but awesome that I can test CM builds and get right back to my daily driver.
Job well done.
jsaxon2 said:
Lol, not a complaint, it's a compliment. You have done excellent work. Just wanted to report that it is working. I'm too tired to mess with it anymore, but awesome that I can test CM builds and get right back to my daily driver.
Job well done.
Click to expand...
Click to collapse
Thank you, I do enjoy positive feedback, Hope you enjoy it
as well as comments, thoughts and ideas.
@ all, If something is wrong, please be as descriptive as possible... please no "it doesn't work" posts.

[TWRP][any G4][BL LOCKED] TWRP-in-FIsH for all LOCKED G4 devices

TWRP on locked devices is impossible right?
Oh no wait there are hacks up to KK which work but I couldn't find anything for LL (sorry if I missed something) and so nothing for the G4
Here is where the FIsH steps in
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
FIsH: [F]luffy [i]ncredible [s]teadfasterX [H]ijack​
FIsH is different from Safestrap or other hijacks because it should be understood as a kind of framework for any boot image you want to boot.
FIsH will not harm the Android boot chain!
It is NOT multirom
It is NOT efidroid
It is NOT Safestrap
It is NOT twrp.
.... but FIsH can boot any of the above. U got it? FIsH is the hack to boot whatever you want.
Will FIsH void your warranty? Not more or less then rooting your device.
Will FIsH unlock your bootloader? No read again.
Is there a risk with FIsH? For example could it soft-brick my device? Well.. absolutely! Safe is the death only. There are always risks especially for untested devices. I do all I can to keep this risk as low as possible and I provided a way to get out of bootloops but again you will get no guarantees here and elsewhere.
.. and it is more then just a hack for the G4 (any model) it is a hack for ALL devices of ANY vendor! wtf? yes.
Sure you have to met the pre-requirements and there has to be done some things to get it ported but those are straight forward.
Go to IRC channel #androidfish if u can't wait but I will publish a public porting guide when it is ready.
Are there plans to make more out of it for the G4? Absolutely. I'm currently working on an "efidroid in FIsH" version which will let you flash & boot (hopefully) any custom ROM u like.
ALL DETAILS ABOUT HOW FIsH WORKS HAVE BEEN RELEASED IN ANOTHER THREAD (check my signature).
So going back to topic. This is:
TWRP in FIsH for the LG G4 (any model) - Bootloader LOCKED
Do you have a bootloader unlocked device?
If the answer is YES: you don't need it
Do you have a bootloader locked device and want TWRP?
If the answer to BOTH is YES. you need it. you can't install TWRP on a locked device.. up to now. FIsH allows you to do so.
If your question is: Can this ENABLE root for my device?
NO! you actually NEED root to activate TWRP for your device with this method.
Important: Here are the pre-requirements you have to met!
If you can't get them:
Close this page and FORGET it (until the day you may met those reqs)!
Requirements!
root by SuperSU >=v2.76 (greater or equal v2.76) (atm this means you have to downgrade/install LL. It also means that you have to upgrade your SuperSU to this version by e.g. FlashFire if you have a lower version installed!)
you have to be able to disable SELinux in your booted Android (which should be the case when you have a full rooted device)
Those above are hard facts so it may never work with MM. That also means if MM can get fully rooted by SuperSU and you can use "setenforce 0" the method should work there as well!
Before you think about downgrading to LL read about ANTI-ROLLBACK protection some LG devices and MM versions may have!
Anti-Rollback means you CAN NOT downgrade - it would brick your device.
I will NOT provide downgrading guides there are plenty of them so search and read.
If you can not meet ALL of the above 2 requirements lay down and cry. For the others: calm down and read on!
You can test requirement 2 (disable SELinux) by:
adb shell
su
setenforce 0
getenforce
-> you should see "Permissive" as a result. If you see "Enforcing" or error messages you may doing something wrong or it just do not work for you.
Limitations!
Keep in mind what I said above: FIsH does NOT unlock your bootloader.
That means with TWRPinFIsH you can NOT:
Install a custom ROM like CM/Lineage (this will modify boot = soft brick. for this u need "efidroid in FIsH" - coming soon)
Install a custom Kernel (this will modify boot = soft brick)
Install a custom recovery (this will modify recovery = may soft brick)
In short: nothing which modifies boot or recovery partitions.
You can of course flash everything which is modifying /system /data only (e.g. xposed,...)
That means you could install even a custom ROM which works with the stock kernel so with unmodified boot image. Let's say the creator of imperium or genisys provide a release without the containing boot image. You could flash it..
State / Roadmap
FULL takeover/hijack of boot -> DONE (the modifications required are not voiding the Android boot signing chain!)
replace RAM disk -> DONE
boot own RAM disk (TWRP!) -> DONE (atm TWRP 2.8.7-0) <-- TWRP-in-FIsH v1.0 private BETA
Upgrade bundled TWRP to latest version -> DONE (TWRP 3.1.0-0) <-- TWRP-in-FIsH v1.0 final release
Download
READ THE REQUIREMENTS above before proceeding!
Then UNDERSTAND the requirements before proceeding! <-- omg this is crucial important!!!! Ensure that you really do not skip this step!
READ THE LIMITATIONS above before proceeding!
Then UNDERSTAND the limitations before proceeding! <-- omg this is crucial important!!!! Ensure that you really do not skip this step!
... and NEVER ask for ETA's!
if you can say:
Yes! I have read and totally understood the limitations AND the requirements!
then proceed. Otherwise read again until you got it.
Keep in mind that this is a HACK. It may soft-brick your device. you have been warned!
The concept is the same for all models but again no guarantees here for anything.
There is ALWAYS a risk and you should better backup what you do not want to loose before starting downloading this.
Go to the DOWNLOADS tab in this thread.
TWRP-in-FIsH is now integrated into my TWRP build server and so whenever a new change happens in TWRP you will get the same automatically on next build. This way it is much easier to release new TWRP versions made for FIsH.
From now on you will find nightlies (untested automatic builds) here:
Jenkins build status
Nightlies download server
Installation (Linux)
You can just install any newer version over an old one.
boot Android and connect USB cable
download the newest version to your PC and open a terminal in that directory
tar xzf TWRPinFIsH*.tgz (tar xzf TWRP-in-FIsH*.tgz since v2.0)
cd openFIsH (cd android_FIsH since v2.0)
./install.sh
check the output of that script. you should not see any errors there (hopefully)
Installation (Android / no PC)
Requirements:
TWRP-in-FIsH v4.2 or higher!
BusyBox pre-installed (e.g.: with this app )
You can just install any newer version over an old one.
Thanks to @ReeS86 starting from v4.2 on TWRP-in-FIsH has an enhanced installer which can run without any PC - directly on your Android device!
It would be nice if you could give him a thx click (here) for his contribution !
Bring TWRP-in-FIsH to your Android device
Example-1 with any PC (windows, linux, ...): adb push TWRP-in-FIsH.tgz /sdcard (replace TWRP-in-FIsH.tgz this with the real file name)
Example-2 within an Android Terminal:
cd /sdcard
wget http://full-URL-to-file (replace full-URL-to-file with the real direct download link)
Example-3 with just a browser: well just download it.. but remember where it gets saved!
extract it
Example from within Android Terminal:
cd /sdcard (or the folder where you have downloaded TWRP-in-FIsH)
tar xzf TWRP-in-FIsH.tgz (replace TWRP-in-FIsH.tgz this with the real file name)
run the installer (but do it correctly)
Example from within Android Terminal:
su
cd /sdcard/android_FIsH
sh ./install.sh (using sh is absolutely important otherwise it will fail)
done
Installation (Windows)
If none of the above methods is working for you: use FWUL
First run (no PC required)
This FIsH gets installed PERMANENTLY! That means:
You can boot up TWRP the same way as described here again without re-installing.
If you re-install your STOCK image you have to re-install TWRPinFIsH as well.
reboot Android
you should now see: LED goes from blue to GREEN
NOW directly when u see this GREEN LED press VOLUME DOWN and do NOT release
wait until the device vibrates and the LED changed to RED. Then release the Volume Down button.
Wait until FIsH completed and TWRP should be shown --> This means FIsH has done it's job well!
This is a good time to do a full backup isn't it ? Manually mount the SYSTEM partition as it gets not auto mounted atm and do a full backup
reboot from here (safely ignore the msg "no OS installed" and reboot anyways) and you should see Android booting (hopefully ... if not see bottom)
Daily Usage (no PC required)
reboot Android
you should now see: LED goes from blue to GREEN
NOW directly when u see this GREEN LED press VOLUME DOWN and do NOT release
wait until the device vibrates and the LED changed to RED. Then release the Volume Down button.
Wait until FIsH completed and TWRP should be shown --> This means FIsH is doing it's job still very well
AGAIN: keep your mind up! You HAVE to ensure that whatever you do and whatever you flash -> NEVER TOUCH BOOT/RECOVERY! If you flash a ZIP ensure first that it do not modify them! Otherwise you WILL softbrick. You have been warned (several times now)
FIsH helpers
If you just want to reboot directly from within Android check out these:
Thanks to @sdembiske who has onboarded the developer @AntaresOne we have an option to reboot into FIsH very comfortable now!
Check it out here: QuickReboot App
Trouble / Bootloop fix
if you encounter a bootloop (should never happen but who knows) you have 3 choices at least:
Option 1a: (TWRP-Bootloop) Within TWRP open Advanced -> File Manager -> Goto: /system/su.d and click "select" button -> Delete
Option 1b: (TWRP-Bootloop) From your PC: adb shell rm -rf /system/su.d/
Important: Catch the fish log (see next topic)
Option 2 (this works also for a bootloop without twrp): boot into download mode and use LGLaf to get a shell
then:
setenforce 0 <-- if that doesn't work you may have to do a FULL restore to stock
mount -oremount,rw /system
rm -rf /system/su.d/
reboot. You are out of the bootloop.
Important: Catch the fish log (see next topic)
Option 3: Last resort: Reflash STOCK. sorry.. there is always a risk..
Catch the FIsH logs
reboot back to Android and catch the fish log (IMPORTANT!):
adb shell "su -c cat /cache/fish/fish.log"
adb shell "su -c cat /cache/fish/fish.log.old"
Upload it to https://paste.omnirom.org and paste the link in the IRC channel (see next topic)
Support / IRC Channel
IRC means Internet Relay Chat and you will get best support there only.
Choose how to get in:
PC (HexChat and Pidgin are only 2 of them! This list is not complete!)
Android (Yaaic, AndChat, HoloIRC, AndroIRC are only a few of them! This list is not complete!)
Web (KiwiIRC-Web,FreenodeWebchat])
When you have to choose a channel it is: #Carbon-user
When you be asked for a server network choose: freenode
Known issues (may never get fixed)
Due to the fact that TWRPinFIsH is a brutal hijack of the booting process several things may not work as expected.
This will normally not harm anything but you have to know about.
System IMAGE backup:
Using this new option is a bulletproof method to backup and restore in TWRP-in-FIsH because you have to keep in mind that FIsH is a giant and brutal hack and even when a usual backup & restore is proven to work fine I would recommend to use both backup methods - if you can.
HINT: This method requires an ext4 or exfat partition on your external SD card otherwise image backups will fail due to the file size.
@sdembiske reports success using the internal storage as target for the backup but if you do this keep in mind that you have to move that backup to your PC manually to ensure you have it by hand for the worst case.
ZIP / ROM flashing:
omg really you wanna hear that again? OK: DON'T TOUCH BOOT / RECOVERY. And you be safe.
When you try to install a ROM it will modify at least BOOT. That means soft-brick!
When you try to install a custom Kernel.. omg really? It will definitively SOFT-BRICK! Maybe you should read the limitations again??
When you try to install a ZIP like xposed, supersu, Vipermod and others ensure that those are not modifying BOOT or RECOVERY partitions. For those mentioned it would be very unlikely but who knows.
When you find a stock based ROM which is not modifying boot you can flash it. But ensure that it does not modify anything on boot!!! You could ask the devs of imperium etc if they can provide such a zip..
SYSTEM partition (since v2.0: may be not a restriction on your device model!):
when you boot into TWRPinFIsH you may see an error message regarding the fact that /system cannot be mounted.
you can mount /system manually without a problem - BUT - it will work only if you do NOT select "mount system read-only". It has to be unchecked to work.
after you have mounted /system manually and you want to take a backup you may see "0 bytes". Just press refresh and the size will be updated. If not: Do you have mounted it correctly (see above).
FIRMWARE partition (since v2.0: may be not a restriction on your device model!):
cannot be mounted - even not manually. You have to live with it.
Double Tap to wakeup (in TWRP):
You may heave seen/heard that this works in the official / usual TWRP for the G4 for unlocked devices. Unfortunately this cannot work in TWRP-in-FIsH due to the nature of this hijack. You have to live with it.
Installing more than 1 ZIP at a time (may be not a restriction on your device model!):
It is not possible to install more than 1 ZIP at the same time. TWRP gives you the option to install multiple ZIP files but the problem is you have to re-mount /system after each ZIP flashing. This is due to a problem with mounting /system readonly and most ZIPs will exactly try to do this when they finished their work - leaving you with an unmounted /system.
This will be not the case for every ZIP combination - so it is possible that you can flash some ZIPs at the same time while others not.
atm I believe you have to live with it.
Credits (without them - no TWRP-in-FIsH!!!)
If you feel that someone / you is missing on this list lemme know!
Chainfire for SuperSU! This is the main part of FIsH!
TeamWin for TWRP of course!
@cray_Doze, @dssmex and @KeiranFTW for their hijack implementations which given me many input (e.g. https://forum.xda-developers.com/showthread.php?t=2608408)
@Aaahh for his great first steps to a G4 hijack -> His work had given me the motivation back to continue when I was about to stop all this
@dibbled for creating the android FIsH logo
steadfasterX for being steadfast!
@jasonlindholm for your donation it was highly appreciated!
XDA:DevDB Information
TWRP-in-FIsH_LGG4, Tool/Utility for the LG G4
Contributors
steadfasterX, Aaahh, TheMadScientist420, KeiranFTW, cray_Doze, dssmex, TeamWin, ChainFire, the_naxhoo, SimoxTav, Rees86, uio88, sdembiske, jasonlindholm, ... and all new other contributors who gave me feedback for this!
Source Code: https://github.com/Carbon-Fusion/android_FIsH
Version Information
Status: Stable
Current Stable Version: 4.2
Stable Release Date: 2017-06-21
Current Beta Version: 5.0
Beta Release Date: 2017-12-19
Created 2017-03-14
Last Updated 2017-12-19
List of confirmed devices (as of 2017-06-04)
If you own a device missing on this list - let me know and I will add it here.
F500L Korean variant - locked (Thanks @Syntist)
H810 - locked (Thanks @shane87)
H812 - locked (Thanks @ReeS86)
H815 International - unlocked (Thanks @steadfasterX yea its mine and i have no locked device to test with That's why i needed ur help. but i test with PURE stock and without touching the boot chain so its similar to locked devices.)
H815 EUR - locked (Thanks @uio88)
H815P - locked (Thanks @KnightOdin)
H815T - locked (Thanks @the_naxhoo)
H815L - locked (Thanks @foxyfoxyblah)
H818P - locked (Thanks @SimoxTav, @alitavas)
LS991 Sprint - locked (Thanks @TheMadScientist420)
VS986 - locked (Thanks @g_ding84)
List of confirmed flashing experiences (as of 2017-05-19)
If you tested a ZIP missing or unknown on this list - let me know and I will add/update it here. Write the exact version tested would be helpful as well.
Xposed - confirmed to work (tested: Xposed version 87 (SDK 21). THANKS for your report @g_ding84, @the_naxhoo, @KnightOdin, @shane87)
Viper4Android - confirmed to work (tested: Viper4Android 5.4 stock zip with Dolby Atmos. THANKS for your report @g_ding84 , @the_naxhoo, @SimoxTav)
SuperSU - confirmed to work (tested: v2.79. Thanks for reporting @g_ding84)
A.R.I.S.E - confirmed to work (tested: v.2.94 -> Am3d Eq, Viper4arise, Viper4Android Xhifi, Esira. Thanks for your report @alitavas
Android O emoji package - confirmed to work (thanks for your report @alitavas)
Editing system/build.prop - confirmed to work --> read carefully HOW (thanks for the howto & report @sdembiske )
Xtreme music 9.2 - confirmed to work (thanks for your report @jason_l367)
ANY OTHER ZIP - unknown ----> Please report back if you have flashed one missing here
Releases
TWRP-in-FIsH v5 (5.0)
Released: 2017-12-19
Download: Go to the Downloads tab
Changelog for FIsH: previously used version <---> this version
Changelog for TWRP-in-FIsH device tree: previously used version <---> this version
Changelog for:
- TWRP v3.2.0-0
- TWRP v3.2.1-0
Summary changelog (read the above FULL changelogs for details!):
new TWRP version
all important fixes from the main TWRP releases like corrected time and EFS backup, added Bootloader backups etc.
Many enhancements and fixes in FIsH, e.g. enhanced and fixes issues in the installer and qseecomd (device encryption) added to the brand new exclude service option
Everything is better now
Old releases:
TWRP-in-FIsH v4 (4.2)
Released: 2017-06-21
Download: Go to the Downloads tab
Changelog for FIsH: previously used version <---> this version
Changelog for TWRP-in-FIsH device tree: previously used version <---> this version
Changelog for TWRP: v3.1.1-0
Summary changelog (read the above FULL changelogs for details!):
Installer is now able to detect and run from within Android* (read the NOTES in the OP - topic "Installation (Android / no PC)"!)
Added the option to backup /system as an IMAGE* (read the following HINT!)
Using this new option is a bulletproof method to backup and restore in TWRP-in-FIsH because you have to keep in mind that FIsH is a giant and brutal hack and even when a usual backup & restore is proven to work fine I would recommend to use both backup methods - if you can.
HINT: This method requires an ext4 or exfat partition on your external SD card otherwise image backups will fail due to the file size.
@sdembiske reports success using the internal storage as target for the backup but keep in mind that if you do this you have to move that backup to your PC manually to ensure you have it by hand for the worst case.
Everything is better now
(.... TWRP updated, many FIsH improvements, added an option to backup /system as image,... read ALL the above changelogs!)
TWRP-in-FIsH-v3_LGG4_LL
Released: 2017-04-16
Download: here
Changelog: on github
Summary:
Big speed improvements
adding model detection as property (ro.product.detection -> should be "success")
fixing unify detection
adding all known devices to unification
- these both above will fix issues where your device was not detected correctly in TWRP and fails to install a ZIP which requires this!
Installer:
./install.sh --check will give you the option to check if TWRP-in-FIsH works for your or not - without changing anything on your device.
TWRP-in-FIsH-v2.0_LGG4_LL
(as far as im able to remember.. i have changed so many things inside..)
Released: 2017-03-24
Changelog: on github
Summary:
TWRP-in-FIsH now has a meaningful package name (TWRP-in-FIsH-v2.0-BETA1_LGG4_LL.tgz) which reflects all required information
The installer is checking for the SDK level now instead of the Android release version! This means ANY Lollipop version will work without modifications of the installer
new: completely overworked WIDE parts of FIsH
In order to be more easy portable all variables users may need to adjust are moved to FIsH.porting
while FIsH.me contains global variables for FIsH a user/dev normally would NOT change.
The log has been enriched with some more useful information
The stopping of android services is now more aggressive
Apropos aggressive: now we use fuser to kill ALL processes before trying to unmount a disk (excluding init and ourself)
Another porting stuff was added: we extract the FISHFOOD but WITHOUT a possibly existing file </init>. When you prepare your own ramdisk it may or may not contain a file /init but we do not want to overwrite the current running /init by just cpio yet.
The reason is: it makes a difference in the Linux world to use cp or mv or cpio > to overwrite!
The short version: using mv is the best choice here. So we extract first without /init (if there is one) and then extract /init ONLY but to a different directory. Afterwards we use mv to overwrite the current /init with either an extracted /init or your own init name configured by the new FOODBIN variable.
Unfortunately this has not that positive effect I hoped but I leave it there because it is the way it should be done nevertheless.
Now FIsH also:
- checks the exec bit before it tries to start it! Im still thinking of adding a reboot if not.. but this could cause bootloops.. on the other hand doing nothing will leave the device in a unusuable state.. well it should more or less never happen though but..
- save the current SELinux mode
- trying to restore the saved SELinux mode when something goes wrong (at the end this will make no sense but it doesnt hurt)
- umounts when a mount point is mounted ONLY
Besides that FIsH now comes with callmeFIsH - a caller script which gets executed at very first.
The only task callmeFIsH has is to prepare the whole FIsH to get started out of /system and then starting FIsH from /res. After this it immediately exists to not keep open tasks on /system.
Also new are some parts of the installer e.g. starting adb server first and then wait for a connected device before continue the installation.
The installer is keeping track of an older FIsH install and removes the previous one before as well
The installer also now giving a hint that you may have to change to PTP mode on your G4 to get detected
For completeness: Same TWRP version inside so nothing changed here..
During these changes I have renamed the package folder from openFIsH to android_FIsH. Please keep this in mind when you extract the FIsH
So after you extract the BETA package you have to do
"cd android_FIsH"
instead.
TWRPinFIsH_v1.0
Released: 2017-03-18
Changelog:
first public release
.
As current. To further op. When released remeber bl is still locked do not modify recovery and or boot partitions. Will throw secure boot errors done tried and found out. Was able to restore orig boot and recovery images.
On ls991.
So lets get our flash on. I wanna see some good clean flashing and no hits below the bootloader
TheMadScientist420 said:
As current. To further op. When released remeber bl is still locked do not modify recovery and or boot partitions. Will throw secure boot errors done tried and found out. Was able to restore orig boot and recovery images.
On ls991.
So lets get our flash on. I wanna see some good clean flashing and no hits below the bootloader
Click to expand...
Click to collapse
Well .. Correct. For me it is totally clear but this will be not for the average user maybe.. I will add it to the OP. Thx
Sent from my LG-H815 using XDA Labs
Thanks for all your effort with this development. So, i understand that we can boot into TWRP and we can backup and restore our system, right? But we can also flash roms, mods or kernels without unlock BL?
Again, thanks for your time on this project, this are really big news for our device!
Jkmoran said:
Thanks for all your effort with this development. So, i understand that we can boot into TWRP and we can backup and restore our system, right? But we can also flash roms, mods or kernels without unlock BL?
Again, thanks for your time on this project, this are really big news for our device!
Click to expand...
Click to collapse
2 posts up.
---------- Post added at 07:12 PM ---------- Previous post was at 07:10 PM ----------
Jkmoran said:
Thanks for all your effort with this development. So, i understand that we can boot into TWRP and we can backup and restore our system, right? But we can also flash roms, mods or kernels without unlock BL?
Again, thanks for your time on this project, this are really big news for our device!
Click to expand...
Click to collapse
Yes and no. I flashed viper 4 android. But because of signed bl. Any recovery or modified boot image will not work just yet. Still a wip.
Reserved. I hope to install this in my H815p soon...
TheMadScientist420 said:
2 posts up.
---------- Post added at 07:12 PM ---------- Previous post was at 07:10 PM ----------
Yes and no. I flashed viper 4 android. But because of signed bl. Any recovery or modified boot image will not work just yet. Still a wip.
Click to expand...
Click to collapse
Hey i just want to say thanks for acknowledging thqt i helped you more than what happens in the sprint thread. I have a post 2400 views where i tore my g4 down 3 days after purchase to show a thermal paste mod. 2400 views and 1 thanks. Id thank u properly but unfort ive hit my 8 thanks a day limit
---------- Post added at 07:25 PM ---------- Previous post was at 07:22 PM ----------
Newmak said:
Reserved. I hope to install this in my H815p soon...
Click to expand...
Click to collapse
It will come in due time. The third release was sent out in one day. Progress is moving rite along my friend.
Some of us have been waiting since day one. I have about 15 months. Or nov 15 we are all anxious for offic release. And please make sure to give the man his cr3dit where due. Took time out of his day to do a team view session to test on mine at like 5 am this mornin. Some of the greatest minds have not been able to do this. And now look. Lol all the nay sayers
---------- Post added at 07:30 PM ---------- Previous post was at 07:25 PM ----------
Newmak said:
Reserved. I hope to install this in my H815p soon...
Click to expand...
Click to collapse
sorry i didnt actually answer ure ?
this should work on all g4s and possibly many other lgs and or devices
I have only one question. Will this TWRP be able to modify boot partition as well? Isn't that the whole point of the locked bootloader? If it will be able to modify any partition, it is a big, big win for us.
tmihai20 said:
I have only one question. Will this TWRP be able to modify boot partition as well? Isn't that the whole point of the locked bootloader? If it will be able to modify any partition, it is a big, big win for us.
Click to expand...
Click to collapse
No read the OP again (wait for efidroid-in-FIsH).
tmihai20 said:
I have only one question. Will this TWRP be able to modify boot partition as well? Isn't that the whole point of the locked bootloader? If it will be able to modify any partition, it is a big, big win for us.
Click to expand...
Click to collapse
Lol op and about 4 or 5 posts up. Same ? Just asked.
Either was locked bl or not this is a majpr victory for the g4. They said it couldnt be done and
Hopefully You could port this also to G Flex 2?
dadaa1 said:
Hopefully You could port this also to G Flex 2?
Click to expand...
Click to collapse
he has stated should work on any android device running loli as long as u meet the prequisites
root and kernal set to permissive if he doesnt some one probly could adapt it from here no prob once its offic released
---------- Post added at 06:36 AM ---------- Previous post was at 06:04 AM ----------
dont know how much feed back uve been gettin but figured id chime in again
so after all night playing lol still sick as a dog cant sleep about 4 hours on 2 days feel high and drunk lol
ive do have to mount system everytime i load twrp to backup restore or flash but i flashed viper flashed xposed again just to check it out
bricked about 10 times and have restored perfectly everytime.
bricks my own fault trying and testing most def incompatible mods and fixes but so far through every brick recovery is holding strong and steady havnt installed the beta 3 yet
should i is much changed from there?
TheMadScientist420 said:
he has stated should work on any android device running loli as long as u meet the prequisites
root and kernal set to permissive if he doesnt some one probly could adapt it from here no prob once its offic released
---------- Post added at 06:36 AM ---------- Previous post was at 06:04 AM ----------
dont know how much feed back uve been gettin but figured id chime in again
so after all night playing lol still sick as a dog cant sleep about 4 hours on 2 days feel high and drunk lol
ive do have to mount system everytime i load twrp to backup restore or flash but i flashed viper flashed xposed again just to check it out
bricked about 10 times and have restored perfectly everytime.
bricks my own fault trying and testing most def incompatible mods and fixes but so far through every brick recovery is holding strong and steady havnt installed the beta 3 yet
should i is much changed from there?
Click to expand...
Click to collapse
Thanks for ur ongoing support here. please always go to IRC if possible:
PC (HexChat and Pidgin are only 2 of them! This list is not complete!)
Android (Yaaic, AndChat, HoloIRC, AndroIRC are only a few of them! This list is not complete!)
Web (KiwiIRC-Web,http://webchat.freenode.net/?channels=androidfish)
Whenever you have to choose a channel it is: #androidfish
When you be asked for a server network choose: freenode
.
Just wanted to let you know the current device list.
If you own a device missing in this list send me a PM with subject FIsH !
Please do not write me if your device is shown here already!
List of confirmed devices (as of 2017-03-15)
H815 International - unlocked (Thanks @steadfasterX yea its mine and i have no locked device to test with That's why i needed ur help. but i test without touching the boot chain so its similar to locked devices.)
LS991 Sprint - locked (Thanks @TheMadScientist420)
H815T - locked (Thanks @the_naxhoo)
H818P - locked (Thanks @SimoxTav)
H812 - locked (Thanks @ReeS86)
steadfasterX said:
Just wanted to let you know the current device list.
If you own a device missing in this list send me a PM with subject FIsH !
Please do not write me if your device is shown here already!
List of confirmed devices (as of 2017-03-15)
H815 International - unlocked (Thanks @steadfasterX yea its mine and i have no locked device to test with That's why i needed ur help. but i test without touching the boot chain so its similar to locked devices.)
LS991 Sprint - locked (Thanks @TheMadScientist420)
H815T - locked (Thanks @the_naxhoo)
H818P - locked (Thanks @SimoxTav)
H812 - locked (Thanks @ReeS86)
Click to expand...
Click to collapse
Nice work Waiting my Flex 2 LGH955 to arrive from warranty, I hope this can be ported to "LG Damed" locked flex 2 also
With efidroid in FIsH, will we able to install any custom rom such as android 7.0 based roms?
nikomedes said:
With efidroid in FIsH, will we able to install any custom rom such as android 7.0 based roms?
Click to expand...
Click to collapse
Limitations!
Keep in mind what I said above: FIsH does NOT unlock your bootloader.
That means with TWRPinFIsH you can NOT:
Install a custom ROM like CM/Lineage (this will modify boot = soft brick. for this u need "efidroid in FIsH" - coming soon)
Install a custom Kernel (this will modify boot = soft brick)
Install a custom recovery (this will modify recovery = may soft brick)
In short: nothing which modifies boot or recovery partitions.
You can of course flash everything which is modifying /system /data only (e.g. xposed,...)
nikomedes said:
With efidroid in FIsH, will we able to install any custom rom such as android 7.0 based roms?
Click to expand...
Click to collapse
Yes, with Efidroid you should be able to flash Custom ROM.
You can search about efidroid if you want to know more.
and thank you very much @steadfasterX , Good job bro ! :good:

Categories

Resources