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

Search This thread

joeykrim

Inactive Recognized Developer
Jan 9, 2009
1,978
1,311
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, Logo and Recovery flashing: Samsung Moment, Transform, Intercept and Acclaim - the s3c6410 series of devices
Full Kernel (Anykernel and boot.img) Flashing and Recovery (zip file or image) flashing: HTC Droid DNA, One XL, One S, EVO 4G LTE, EVO 3D CDMA and GSM, Amaze, Vivid/Holiday, EVO 4G, EVO Shift, Nexus 4, Nexus 10, Nexus 7, Samsung Google Galaxy Nexus (GSM & CDMA), Nexus S/Nexus S 4G & LG Optimus
Full Kernel (zImage) Flashing: Samsung Epic
Check application version for updates

Credits for HTC Droid DNA Testing:
Special Thanks for Testing and Screenshots: RLKirk

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

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 kernel /sbin, etc).

Custom Recovery
Supports both CWM and TWRP recovery image flashing!

YouTube Video
https://www.youtube.com/watch?v=W7cNoMF4T1I&feature=youtu.be

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 more 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. Use Kernel Manager!

Screenshots:
FlashImageGUI-main-portrait-v1.5.1-dna-25.png


FlashImageGUI-main-portrait-flash-kernel-v1.5.1-dna-25.png


FlashImageGUI-main-portrait-flash-recovery-v1.5.1-dna-25.png


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 Official HTC method
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, 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) 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.
2) Download kernel zip file to /sdcard.
3) Open Flash Image GUI, browse and select kernel zip file, downloaded/loaded to sdcard in previous step.
3) Flash Image GUI will validate the kernel zip file is contains the minimum required files
4) Select the Flash Image button and Flash Image GUI will load the kernel and the kernel modules from the source kernel zip file.
5) Reboot

HTC Unlock - Users Guide for flashing boot.img with separate modules.zip:
1) Using Flash Image GUI, flash the boot.img file
2) Reboot to the custom recovery
3) From the custom recovery, flash the modules.zip file
4) Reboot

Basic Troubleshooting:
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 (or packaged ramdisk in the kernel) is NOT compatible with your device!!!
Solution for #1: Have to boot into fastboot 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.
 
Last edited:

RLKirk

Senior Member
Sep 27, 2008
540
117
36
Knoxville
Glad you finally got the thread started. Now if anyone else is having bugs or issues I didn't have then the man can look at them haha
 

jcpowell

Senior Member
Jul 23, 2012
610
179
Google Pixel 6 Pro
Does this only work on the listed devices or has only been tested on listed devices coming from an HTC incredible 4G owner?

Sent from my ADR6410LVW using xda app-developers app
 

joeykrim

Inactive Recognized Developer
Jan 9, 2009
1,978
1,311
Glad you finally got the thread started. Now if anyone else is having bugs or issues I didn't have then the man can look at them haha
Hope there aren't any issues, but if there are, please post up here and provide as much details as possible including screenshots!
Thanks for the support!

Does this only work on the listed devices or has only been tested on listed devices coming from an HTC incredible 4G owner?

Sent from my ADR6410LVW using xda app-developers app
Due to the unique hardware architecture and security structure of each HTC device, I prefer to confirm each and every function operates properly before officially adding support for a device.
I think for the Incredible S, during 6 hrs of testing, we were able to positively confirm HTC did not unlock the boot partition while booted in Android mode and subsequently prevented Flash Image GUI from properly operating.
If you're knowledgeable with ADB and the custom recovery, plus have some time to work on testing, please send me a PM. Thanks for the support and inquiry!
 
Last edited:

joeykrim

Inactive Recognized Developer
Jan 9, 2009
1,978
1,311
Thanks a bunch for the DNA support, you rock joey. Downloading now.
Bought the market version. Thanks for the dev effort and adding support for DNA!
Thanks for the support! Always appreciate the 99 cent USD market purchases.
Please let me know if you have any issues or any feature requests!

Can it be useful in a HTC ONE V ??....cause you add ONE S ...so, it may be possible??
Thanks.
Unfortunately, the HTC Unlock process for the One V doesn't allow Flash Image GUI to work.
 
  • Like
Reactions: sonrics1993

bigdog2k7

Senior Member
Jan 3, 2013
59
12
Michigan
Thank you for adding support for both devices that I currently own! HTC EVO 4g LTE and Samsung nexus 10! Downloaded the market version and looking forward to flashing ktmanta on my nexus 10 :)
 
  • Like
Reactions: joeykrim

Imacellist

Senior Member
Oct 20, 2011
517
196
Modesto, CA
So it may have just been my stupidity, but as a first time kernel flasher I used this and it screwed me up for a bit. I just downloaded the zipped files of the modules and boot.img (which I now realize I probably should have unzipped them) but this caused the device to not fully boot unless I did a factory reset, wiped system, and flashed the rom again from recovery. Just in case someone makes this same mistake I wanted to post this here. I simply re-flashed the kernel the normal way (fastboot the boot.img and flash the modules zip in recovery) and everything works now. My suggestion is to modify the directions if I am supposed to unzip the files. If I am not then something is wrong with the kernel flashing. Thanks for your hard work!
 

santacruzdz

Senior Member
Sep 19, 2008
424
218
fast and safe method! Just had to flash the boot.img which I previousely put into my sdcard and the modules...first flashed the boot.img using GUI apk and then through recovery flashed the modules...it worked! Thanks a lot for this easy option!
 
  • Like
Reactions: joeykrim

joeykrim

Inactive Recognized Developer
Jan 9, 2009
1,978
1,311
Thank you for adding support for both devices that I currently own! HTC EVO 4g LTE and Samsung nexus 10! Downloaded the market version and looking forward to flashing ktmanta on my nexus 10 :)
Pretty amazing thank you

Sent from my HTC6435LVW using xda premium
fast and safe method! Just had to flash the boot.img which I previousely put into my sdcard and the modules...first flashed the boot.img using GUI apk and then through recovery flashed the modules...it worked! Thanks a lot for this easy option!
Thanks for all the positive feedback and support! Feel free to let me know if there are any areas I can improve!

So it may have just been my stupidity, but as a first time kernel flasher I used this and it screwed me up for a bit. I just downloaded the zipped files of the modules and boot.img (which I now realize I probably should have unzipped them) but this caused the device to not fully boot unless I did a factory reset, wiped system, and flashed the rom again from recovery. Just in case someone makes this same mistake I wanted to post this here. I simply re-flashed the kernel the normal way (fastboot the boot.img and flash the modules zip in recovery) and everything works now. My suggestion is to modify the directions if I am supposed to unzip the files. If I am not then something is wrong with the kernel flashing. Thanks for your hard work!
The root issue is that kernel developers do not always package the kernel and modules using the same methods. Given different kernel developers exposure to different HTC locking methods the challenge is to write a program that can handle the variation of methods kernel developers use to package their end product and provide directions for any special work around circumstances.

I attempted to outline these steps in the OP and I've pasted below for your convenience. Let me know if any of these steps seem vague or out of place and I can work to refine the directions and process!
HTC Unlock - Users Guide for flashing boot.img with separate modules.zip:
1) Using Flash Image GUI, flash the boot.img file
2) Reboot to the custom recovery
3) From the custom recovery, flash the modules.zip file
4) Reboot
 
  • Like
Reactions: hungsolow

joeykrim

Inactive Recognized Developer
Jan 9, 2009
1,978
1,311
Is there any possibility of this to be working in Xperia phones??:confused:
I've wanted to add support for Xperia devices but haven't been able to afford purchasing them.
If you have knowledge of ADB, the custom recovery and are willing to help test, please send me a PM and we can work on adding support!

This goes for anybody with a device that isn't currently supported.

Thanks for the inquiry!
 
  • Like
Reactions: hungsolow

redone0505

Member
Sep 10, 2010
28
8
Orlando
Noob questions....Can I use this to update CWM from 6.0.1.2 to 6.0.2.3? If so, how? Do I need a boot img? Or do I just select recovery and choose 6.0.2.3? Thanks.
 

joeykrim

Inactive Recognized Developer
Jan 9, 2009
1,978
1,311
Noob questions....Can I use this to update CWM from 6.0.1.2 to 6.0.2.3? If so, how? Do I need a boot img? Or do I just select recovery and choose 6.0.2.3? Thanks.
Yes! Just select recovery and choose the updated cwm-recovery.img file!
I use this feature personally when switching between TWRP and CWM or upgrading recovery versions.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 38
    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, Logo and Recovery flashing: Samsung Moment, Transform, Intercept and Acclaim - the s3c6410 series of devices
    Full Kernel (Anykernel and boot.img) Flashing and Recovery (zip file or image) flashing: HTC Droid DNA, One XL, One S, EVO 4G LTE, EVO 3D CDMA and GSM, Amaze, Vivid/Holiday, EVO 4G, EVO Shift, Nexus 4, Nexus 10, Nexus 7, Samsung Google Galaxy Nexus (GSM & CDMA), Nexus S/Nexus S 4G & LG Optimus
    Full Kernel (zImage) Flashing: Samsung Epic
    Check application version for updates

    Credits for HTC Droid DNA Testing:
    Special Thanks for Testing and Screenshots: RLKirk

    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

    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 kernel /sbin, etc).

    Custom Recovery
    Supports both CWM and TWRP recovery image flashing!

    YouTube Video
    https://www.youtube.com/watch?v=W7cNoMF4T1I&feature=youtu.be

    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 more 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. Use Kernel Manager!

    Screenshots:
    FlashImageGUI-main-portrait-v1.5.1-dna-25.png


    FlashImageGUI-main-portrait-flash-kernel-v1.5.1-dna-25.png


    FlashImageGUI-main-portrait-flash-recovery-v1.5.1-dna-25.png


    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 Official HTC method
    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, 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) 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.
    2) Download kernel zip file to /sdcard.
    3) Open Flash Image GUI, browse and select kernel zip file, downloaded/loaded to sdcard in previous step.
    3) Flash Image GUI will validate the kernel zip file is contains the minimum required files
    4) Select the Flash Image button and Flash Image GUI will load the kernel and the kernel modules from the source kernel zip file.
    5) Reboot

    HTC Unlock - Users Guide for flashing boot.img with separate modules.zip:
    1) Using Flash Image GUI, flash the boot.img file
    2) Reboot to the custom recovery
    3) From the custom recovery, flash the modules.zip file
    4) Reboot

    Basic Troubleshooting:
    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 (or packaged ramdisk in the kernel) is NOT compatible with your device!!!
    Solution for #1: Have to boot into fastboot 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.
    3
    Glad you finally got the thread started. Now if anyone else is having bugs or issues I didn't have then the man can look at them haha
    Hope there aren't any issues, but if there are, please post up here and provide as much details as possible including screenshots!
    Thanks for the support!

    Does this only work on the listed devices or has only been tested on listed devices coming from an HTC incredible 4G owner?

    Sent from my ADR6410LVW using xda app-developers app
    Due to the unique hardware architecture and security structure of each HTC device, I prefer to confirm each and every function operates properly before officially adding support for a device.
    I think for the Incredible S, during 6 hrs of testing, we were able to positively confirm HTC did not unlock the boot partition while booted in Android mode and subsequently prevented Flash Image GUI from properly operating.
    If you're knowledgeable with ADB and the custom recovery, plus have some time to work on testing, please send me a PM. Thanks for the support and inquiry!
    2
    Ok, got it. If you COULD write to the boot partition in recovery with s-on then there would be no need for this app to flash the kernel separately as you could just successfully flash the ROM in recovery(?) :rolleyes: Duh! Thanks for the clarification!

    Sent from my SAMSUNG-SGH-I747 using xda premium
    Well, "no need for this app" might be a little bit strong! If you could write to the boot partition from recovery, there might be less need for Flash Image GUI app. Sometimes users only want to flash a kernel and stay on the same ROM, in that scenario, Flash Image GUI cuts out the step of rebooting into the recovery. In addition, Flash Image GUI also allows different recovery images to be flashed for those switching between recoveries or doing development/testing work on recoveries.
    2
    Great app - thank you, this will make switching roms on my wife's HOX way easier.

    Quick question : after flashing the boot img through the app, can I then still do a full wipe (format system, data, cache) through recovery before flashing the new rom? I guess I'm asking what partition the kernel is written to and making sure I don't then format it after flashing it! Forgive me if it's a dumb question...

    Sent from my SAMSUNG-SGH-I747 using xda premium
    Yes, these steps are also outlined in the OP.
    The partition holding the kernel is called the "boot" partition and it is not touched by formatting the data, system or cache partitions.
    Hope that helps clarify. Thanks for the support!
    2
    Noob questions....Can I use this to update CWM from 6.0.1.2 to 6.0.2.3? If so, how? Do I need a boot img? Or do I just select recovery and choose 6.0.2.3? Thanks.
    Yes! Just select recovery and choose the updated cwm-recovery.img file!
    I use this feature personally when switching between TWRP and CWM or upgrading recovery versions.