Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,742,912 Members 39,806 Now Online
XDA Developers Android and Mobile Development Forum

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

Tip us?
 
joeykrim
Old
(Last edited by joeykrim; 4th April 2014 at 09:09 PM.)
#1  
Recognized Developer - OP
Thanks Meter 1261
Posts: 1,929
Join Date: Jan 2009
Default [APP] Flash Image GUI - Flash Kernels and Recoveries from normal Android mode!

Credits:
Original version created in the summer of 2011. Thanks to 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

Requires:
Unlocked bootloader and root access!

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 directory, 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: Moto G, Nexus 5, Sprint Galaxy S4, 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:






Feedback:
Please post any helpful feedback. I'm always looking to improve the application!

Users Guide for flashing ONLY a Kernel (zip file):
1) Ensure the bootloader is unlocked and root access is properly setup
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 that the kernel zip file 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.
The Following 8 Users Say Thank You to joeykrim For This Useful Post: [ Click to Expand ]
 
KuGeL94
Old
#2  
KuGeL94's Avatar
Senior Member
Thanks Meter 43
Posts: 160
Join Date: Jun 2012
Location: Germany
Intresting and useful apps for newcomers
 
vincentallen2
Old
#3  
vincentallen2's Avatar
Member
Thanks Meter 17
Posts: 50
Join Date: Jul 2009
Excellent, I've bought and been using your paid app for quite some time now. It has saved me a lot of time and its super simple. I'm glad your supporting the Moto G as well

Sent from my Galaxy Nexus using Tapatalk
The Following User Says Thank You to vincentallen2 For This Useful Post: [ Click to Expand ]
 
Boss442
Old
#4  
Boss442's Avatar
Senior Member
Thanks Meter 387
Posts: 284
Join Date: Jul 2012
Location: Mar Del Plata
you want more complete? use console:
dd if=(file imput) of=(see above)

recovery -> /dev/block/mmcblk0p32 (only recovery.img)
boot -> /dev/block/mmcblk0p31 (only boot.img)
logo -> /dev/block/mmcblk0p27 (logo locked/unlocked, the same that flash on fastboot)
modem -> /dev/block/mmcblk0p1 (NON-HLOS.bin)
system -> /dev/block/mmcblk0p34 (system fastboot image)
< for more formats check partition layout >

example:
when i flash a recovery that i have downloaded
open terminal emulator:
$ su
# dd if=/sdcards/downloads/recovery.img of=/dev/block/mmcblk0p32

and ready, recovery flashed!
 
joeykrim
Old
#5  
Recognized Developer - OP
Thanks Meter 1261
Posts: 1,929
Join Date: Jan 2009
Quote:
Originally Posted by Boss442 View Post
you want more complete? use console:
dd if=(file imput) of=(see above)

recovery -> /dev/block/mmcblk0p32 (only recovery.img)
boot -> /dev/block/mmcblk0p31 (only boot.img)
logo -> /dev/block/mmcblk0p27 (logo locked/unlocked, the same that flash on fastboot)
modem -> /dev/block/mmcblk0p1 (NON-HLOS.bin)
system -> /dev/block/mmcblk0p34 (system fastboot image)
< for more formats check partition layout >

example:
when i flash a recovery that i have downloaded
open terminal emulator:
$ su
# dd if=/sdcards/downloads/recovery.img of=/dev/block/mmcblk0p32

and ready, recovery flashed!
The directions above or similar variations are likely located in multiple guides on this forum. This thread is dedicated to Flash Image GUI.

In addition, to be comprehensive, the directions posted above will only work reliably for loading the recovery. These directions should not be follow for flashing a kernel as they ignore the kernel modules, which means that WiFi will likely not work as well as all other kernel modules.

For those users who prefer not to type long strings of commands in the terminal, memorize partition locations, or want to flash kernels properly, Flash Image GUI is a great tool, that I provide for free to XDA users!

Thanks for your support!
The Following 2 Users Say Thank You to joeykrim For This Useful Post: [ Click to Expand ]
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes