[T-Mobile HTC One (M7)] joeykrim:
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, 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: T-Mobile HTC One, Sprint HTC One, HTC EVO 4G LTE, One S, EVO 3D CDMA and GSM, One XL, Droid DNA, Amaze, Vivid/Holiday, EVO 4G, EVO Shift, Google Nexus 4, Google Nexus 10, Google Nexus 7, Samsung Google Galaxy Nexus, Nexus S/Nexus S 4G & LG Optimus

Full Kernel (zImage) Flashing: Samsung Epic

Check application version for updates

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 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:

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.