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!

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!

Future Support:
Will continue to test kernels as they are released to ensure compatibility!

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

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, wipe cache and dalvik-cache (consult specific ROM directions) then 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

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, as a courtesy, I've provided general guidelines and suggestions below.

If the device is not booting, the majority of the time, this is not related to Flash Image GUI and therefore outside the scope of this application and thread. Generally, the root cause is due to user error in flashing a bad kernel or wrong kernel/ROM combination. Please refer to other threads/posts to learn more about the specific device limitations imposed by the HTC unlock process and generally accepted practices of recovering from a mistake.

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: 1) Boot into fastboot. 2) Load the custom recovery (Command: fastboot boot c:\downloads\recovery.img). 3) Flash a known good kernel or restore a previously known good nandroid backup
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: 1) Boot into fastboot. 2) Load the custom recovery. 3) Flash a known good ROM/kernel combination either from a zip file or restore from a known good nandroid backup.

Here is a video if you guys want to see it in action, I didnt know at the time but you can select the rom from the app and it will extract and install the boot.img for you so you dont have to extract anything like i did in my video.

Here is a video if you guys want to see it in action, I didnt know at the time but you can select the rom from the app and it will extract and install the boot.img for you so you dont have to extract anything like i did in my video.

XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality.Are you a developer?