[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
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:
FIG-main-portrait-v1.6.2.motog-shrunk.png


FIG-main-portrait-v1.6.2.motog-inverted-shrunk.png


FIG-flash-progress-portrait-v1.6.2.motog-inverted-shrunk.png


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.
 
Last edited:

Boss442

Senior Member
Jul 19, 2012
428
551
28
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

Inactive Recognized Developer
Jan 9, 2009
1,978
1,311
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!
 

Top Liked Posts

  • There are no posts matching your filters.
  • 8
    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:
    FIG-main-portrait-v1.6.2.motog-shrunk.png


    FIG-main-portrait-v1.6.2.motog-inverted-shrunk.png


    FIG-flash-progress-portrait-v1.6.2.motog-inverted-shrunk.png


    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.
    2
    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!
    1
    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