[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:
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 the initial three days I built a lot of the app from scratch!
Thanks to SDX

Background:
flash_image (bmlwrite) is an extremely useful utility for flashing custom kernels, boot logos 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).

Description:
This Android App is 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 recovery images in normal android mode.
No recovery or adb needed!
LG Optimus One, V, S and T support includes flashing of anykernel type .zip files, boot.img type zip files and recovery.img files!

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 flashing: LG Optimus, HTC EVO 3D (CDMA & GSM), HTC EVO, HTC EVO Shift & Nexus S/Nexus S 4G
Full Kernel (zImage) Flashing: Samsung Epic

Future Support:
Looking for feedback regarding making the app more user friendly or simplier to use for the HTC EVO. Thanks!

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 versions (free from my personal hosting): 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:
Splash Screen
sshot-FlashImageGUI-splashscreen-portrait-50.png


Main Screen
FlashImageGUI-main-portrait-v1.1.9-50.png


Options in Main Screen
FlashImageGUI-main-portrait-optionsmenu-v1.1.9-50.png


Flashing Netarchy Kernel with Progress Bar Details
sshot-FlashImageGUI-main-portrait-flash-kernel-ns4g-50.png


Flashing Clockworkmod Custom Recovery
FlashImageGUI-main-portrait-flash-recovery-v1.1.9-50.png
 
Last edited:

sweetnsour

Senior Member
May 11, 2011
2,628
2,465
i know there is a thread on this already, but hey, you're the developer, so i can care less. thanks for the app!
 

eigokyoukan

Senior Member
Feb 2, 2010
729
320
Cincinnati
Awesome work! Kudos. Once I get home I will flash with it and test. :) sounds like a great front end

Sent from my LG-P500 using XDA App
 

lolphirae

Senior Member
Jul 25, 2012
106
54
P500 now appears as an unsupported device with CM9.

With CM 7.2.0., we have this in /system/build.prop

Code:
ro.build.id=GRI40
ro.build.display.id=GWK74
ro.build.version.incremental=eng.jenkins.20120615.190413
ro.build.version.sdk=10
ro.build.version.codename=REL
ro.build.version.release=2.3.7
ro.build.date=Fri Jun 15 19:04:23 PDT 2012
ro.build.date.utc=0
ro.build.type=user
ro.build.user=jenkins
ro.build.host=cyanogenmod
ro.build.tags=test-keys
ro.product.model=LG-P500
ro.product.brand=lge
ro.product.name=cyanogen_p500
ro.product.device=p500
ro.product.board=p500
ro.product.cpu.abi=armeabi
ro.product.manufacturer=LGE
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
ro.board.platform=msm7k
# ro.build.product is obsolete; use ro.product.device
ro.build.product=p500

With CM9 RC2, we have:

Code:
ro.build.id=IMM76L
ro.build.display.id=IMM76L
ro.build.version.incremental=eng.mint.20120726.140253
ro.build.version.sdk=15
ro.build.version.codename=REL
ro.build.version.release=4.0.4
ro.build.date=Thu Jul 26 14:03:34 EEST 2012
ro.build.date.utc=1343300614
ro.build.type=user
ro.build.user=mint
ro.build.host=androidmeda
ro.build.tags=test-keys
ro.product.model=LG-P500
ro.product.brand=lge
ro.product.name=lge_p500
ro.product.device=p500
ro.product.board=p500
ro.product.cpu.abi=armeabi-v6l
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=LGE
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
ro.board.platform=msm7x27
# ro.build.product is obsolete; use ro.product.device
ro.build.product=p500

I frankly do not see what it the problem here with the device identification, pretty much the only relevant difference being ro.product.name=cyanogen_p500 vs ro.product.name=lge_p500

:confused:
 

joeykrim

Inactive Recognized Developer
Jan 9, 2009
1,978
1,311
P500 now appears as an unsupported device with CM9.

With CM 7.2.0., we have this in /system/build.prop

Code:
ro.build.id=GRI40
ro.build.display.id=GWK74
ro.build.version.incremental=eng.jenkins.20120615.190413
ro.build.version.sdk=10
ro.build.version.codename=REL
ro.build.version.release=2.3.7
ro.build.date=Fri Jun 15 19:04:23 PDT 2012
ro.build.date.utc=0
ro.build.type=user
ro.build.user=jenkins
ro.build.host=cyanogenmod
ro.build.tags=test-keys
ro.product.model=LG-P500
ro.product.brand=lge
ro.product.name=cyanogen_p500
ro.product.device=p500
ro.product.board=p500
ro.product.cpu.abi=armeabi
ro.product.manufacturer=LGE
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
ro.board.platform=msm7k
# ro.build.product is obsolete; use ro.product.device
ro.build.product=p500

With CM9 RC2, we have:

Code:
ro.build.id=IMM76L
ro.build.display.id=IMM76L
ro.build.version.incremental=eng.mint.20120726.140253
ro.build.version.sdk=15
ro.build.version.codename=REL
ro.build.version.release=4.0.4
ro.build.date=Thu Jul 26 14:03:34 EEST 2012
ro.build.date.utc=1343300614
ro.build.type=user
ro.build.user=mint
ro.build.host=androidmeda
ro.build.tags=test-keys
ro.product.model=LG-P500
ro.product.brand=lge
ro.product.name=lge_p500
ro.product.device=p500
ro.product.board=p500
ro.product.cpu.abi=armeabi-v6l
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=LGE
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
ro.board.platform=msm7x27
# ro.build.product is obsolete; use ro.product.device
ro.build.product=p500

I frankly do not see what it the problem here with the device identification, pretty much the only relevant difference being ro.product.name=cyanogen_p500 vs ro.product.name=lge_p500

:confused:

The build.prop is generally helpful but not being used by FIG in this case.

Can you post the results of ls -l / from each version?
This information is in the kernel and also important.
 

lolphirae

Senior Member
Jul 25, 2012
106
54
The build.prop is generally helpful but not being used by FIG in this case.

Can you post the results of ls -l / from each version?
This information is in the kernel and also important.

Uuuuh. Cannot find a nandroid backup of CM 7.2 anywhere and unfortunately do not have time to reinstall the entire phone ATM. Hopefully someone else on official CM7 will post the info here. Meanwhile, the info from CM9:

Code:
$ adb shell ls -l /
drwxr-xr-x root     root              2012-07-27 05:08 acct
drwxrwx--x system   cache             2012-07-26 17:31 cache
-rwxr-x--- root     root       248808 1970-01-01 02:00 charger
dr-x------ root     root              2012-07-27 05:08 config
lrwxrwxrwx root     root              2012-07-27 05:08 d -> /sys/kernel/debug
drwxrwx--x system   system            2012-07-26 17:23 data
-rw-r--r-- root     root          116 1970-01-01 02:00 default.prop
drwxr-xr-x root     root              2012-07-27 05:20 dev
lrwxrwxrwx root     root              2012-07-27 05:08 etc -> /system/etc
-rwxr-x--- root     root       102816 1970-01-01 02:00 init
-rwxr-x--- root     root         2344 1970-01-01 02:00 init.goldfish.rc
-rwxr-x--- root     root          717 1970-01-01 02:00 init.p500.rc
-rwxr-x--- root     root         7809 1970-01-01 02:00 init.qcom.rc
-rwxr-x--- root     root         1997 1970-01-01 02:00 init.qcom.sh
-rwxr-x--- root     root         2482 1970-01-01 02:00 init.qcom.usb.rc
-rwxr-x--- root     root        18533 1970-01-01 02:00 init.rc
drwxrwxr-x root     system            2012-07-27 05:08 mnt
dr-xr-xr-x root     root              1970-01-01 02:00 proc
drwxr-xr-x root     root              1970-01-01 02:00 res
drwx------ root     root              2012-07-26 13:36 root
drwxr-x--- root     root              1970-01-01 02:00 sbin
drwxrwx--x system   system            2012-07-26 17:24 sd-ext
lrwxrwxrwx root     root              2012-07-27 05:08 sdcard -> /mnt/sdcard
drwxr-xr-x root     root              2012-07-27 05:08 sys
drwxr-xr-x root     root              2012-07-26 17:17 system
-rw-r--r-- root     root          272 1970-01-01 02:00 ueventd.goldfish.rc
-rw-r--r-- root     root         5562 1970-01-01 02:00 ueventd.p500.rc
-rw-r--r-- root     root         5562 1970-01-01 02:00 ueventd.qcom.rc
-rw-r--r-- root     root         3825 1970-01-01 02:00 ueventd.rc
lrwxrwxrwx root     root              2012-07-27 05:08 vendor -> /system/vendor

Thanks! :good:
 

joeykrim

Inactive Recognized Developer
Jan 9, 2009
1,978
1,311
Uuuuh. Cannot find a nandroid backup of CM 7.2 anywhere and unfortunately do not have time to reinstall the entire phone ATM. Hopefully someone else on official CM7 will post the info here. Meanwhile, the info from CM9:

Code:
$ adb shell ls -l /
drwxr-xr-x root     root              2012-07-27 05:08 acct
drwxrwx--x system   cache             2012-07-26 17:31 cache
-rwxr-x--- root     root       248808 1970-01-01 02:00 charger
dr-x------ root     root              2012-07-27 05:08 config
lrwxrwxrwx root     root              2012-07-27 05:08 d -> /sys/kernel/debug
drwxrwx--x system   system            2012-07-26 17:23 data
-rw-r--r-- root     root          116 1970-01-01 02:00 default.prop
drwxr-xr-x root     root              2012-07-27 05:20 dev
lrwxrwxrwx root     root              2012-07-27 05:08 etc -> /system/etc
-rwxr-x--- root     root       102816 1970-01-01 02:00 init
-rwxr-x--- root     root         2344 1970-01-01 02:00 init.goldfish.rc
-rwxr-x--- root     root          717 1970-01-01 02:00 init.p500.rc
-rwxr-x--- root     root         7809 1970-01-01 02:00 init.qcom.rc
-rwxr-x--- root     root         1997 1970-01-01 02:00 init.qcom.sh
-rwxr-x--- root     root         2482 1970-01-01 02:00 init.qcom.usb.rc
-rwxr-x--- root     root        18533 1970-01-01 02:00 init.rc
drwxrwxr-x root     system            2012-07-27 05:08 mnt
dr-xr-xr-x root     root              1970-01-01 02:00 proc
drwxr-xr-x root     root              1970-01-01 02:00 res
drwx------ root     root              2012-07-26 13:36 root
drwxr-x--- root     root              1970-01-01 02:00 sbin
drwxrwx--x system   system            2012-07-26 17:24 sd-ext
lrwxrwxrwx root     root              2012-07-27 05:08 sdcard -> /mnt/sdcard
drwxr-xr-x root     root              2012-07-27 05:08 sys
drwxr-xr-x root     root              2012-07-26 17:17 system
-rw-r--r-- root     root          272 1970-01-01 02:00 ueventd.goldfish.rc
-rw-r--r-- root     root         5562 1970-01-01 02:00 ueventd.p500.rc
-rw-r--r-- root     root         5562 1970-01-01 02:00 ueventd.qcom.rc
-rw-r--r-- root     root         3825 1970-01-01 02:00 ueventd.rc
lrwxrwxrwx root     root              2012-07-27 05:08 vendor -> /system/vendor

Thanks! :good:
this is exactly the type of information i need. im investigating the issue. optimistic it should be a simple fix. will keep you updated here.
if it is simple as i hope, ill push some other things aside and aim for releasing an update this weekend.

Does this work for the optimus v
Yes, it should. If you have any issues, please post up the error message with a screenshot. Thanks!
 
I don't know why, but the two times I used this app left me in fastboot :crying:

Hmm..were you flashing a recovery or kernel? I used to use this all the time to flash kernels(Franco days) but I've never used it to flash a recovery..
EDIT: just flashed caf kernel using flash image GUI and worked without any problems.. I think at one time it wasn't working correctly on cm9 roms and Joey was gonna try and fix the issue..knowing his dedication to this app im sure he did:D
Sent from my LG-P509 using Tapatalk 2
 
Last edited:

androidisfuture

Senior Member
Oct 11, 2012
295
221
Hmm..were you flashing a recovery or kernel? I used to use this all the time to flash kernels(Franco days) but I've never used it to flash a recovery..
EDIT: just flashed caf kernel using flash image GUI and worked without any problems.. I think at one time it wasn't working correctly on cm9 roms and Joey was gonna try and fix the issue..knowing his dedication to this app im sure he did:D
Sent from my LG-P509 using Tapatalk 2

try flashing recovery :p
ok just joking ya i think sweetnsour tried fLashing recovery like me
 
  • Like
Reactions: 3ncrypt3d_Droid

sweetnsour

Senior Member
May 11, 2011
2,628
2,465
I think I was trying to flash a recovery :p
So I guess this is safe for kernels then? By the way, what is the difference between using a recovery and using this app to flash kernels?

Not much.. Its a tad bit faster and easier.. You dont have to manually boot into recovery and wipe cache and dalvik:rolleyes:

Sent from my LG-P509 using Tapatalk 2
 
  • Like
Reactions: sweetnsour

joeykrim

Inactive Recognized Developer
Jan 9, 2009
1,978
1,311
+1 actually it doenst work for me too i first flashed recovery with this only and gone in fastboot
i have read about this app in optimus v forum but not anywhere else for the p500
try flashing recovery :p
ok just joking ya i think sweetnsour tried fLashing recovery like me
Thanks for reporting this issue. I searched through the code and I think I know the problem area but will need a tester who is knowledgeable with ADB and using fastboot to recovery from a bad recovery flash. If any of you have time and have those skills, please send me a PM and I can work on fixing the issue!

Hmm..were you flashing a recovery or kernel? I used to use this all the time to flash kernels(Franco days) but I've never used it to flash a recovery..
EDIT: just flashed caf kernel using flash image GUI and worked without any problems.. I think at one time it wasn't working correctly on cm9 roms and Joey was gonna try and fix the issue..knowing his dedication to this app im sure he did:D
Sent from my LG-P509 using Tapatalk 2
Thanks for confirming the kernel flashing portion works well on the P500

Thanks to everybody for the support!
 

Top Liked Posts

  • There are no posts matching your filters.
  • 8
    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 the initial three days I built a lot of the app from scratch!
    Thanks to SDX

    Background:
    flash_image (bmlwrite) is an extremely useful utility for flashing custom kernels, boot logos 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).

    Description:
    This Android App is 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 recovery images in normal android mode.
    No recovery or adb needed!
    LG Optimus One, V, S and T support includes flashing of anykernel type .zip files, boot.img type zip files and recovery.img files!

    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 flashing: LG Optimus, HTC EVO 3D (CDMA & GSM), HTC EVO, HTC EVO Shift & Nexus S/Nexus S 4G
    Full Kernel (zImage) Flashing: Samsung Epic

    Future Support:
    Looking for feedback regarding making the app more user friendly or simplier to use for the HTC EVO. Thanks!

    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 versions (free from my personal hosting): 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:
    Splash Screen
    sshot-FlashImageGUI-splashscreen-portrait-50.png


    Main Screen
    FlashImageGUI-main-portrait-v1.1.9-50.png


    Options in Main Screen
    FlashImageGUI-main-portrait-optionsmenu-v1.1.9-50.png


    Flashing Netarchy Kernel with Progress Bar Details
    sshot-FlashImageGUI-main-portrait-flash-kernel-ns4g-50.png


    Flashing Clockworkmod Custom Recovery
    FlashImageGUI-main-portrait-flash-recovery-v1.1.9-50.png
    3
    Does someone have a mirror for this?
    Pretty please?
    Thanks, the link has been updated and should be working for the official mirror!
    For convenience: http://goo.gl/vsezVy
    2
    Uuuuh. Cannot find a nandroid backup of CM 7.2 anywhere and unfortunately do not have time to reinstall the entire phone ATM. Hopefully someone else on official CM7 will post the info here. Meanwhile, the info from CM9:

    Code:
    $ adb shell ls -l /
    drwxr-xr-x root     root              2012-07-27 05:08 acct
    drwxrwx--x system   cache             2012-07-26 17:31 cache
    -rwxr-x--- root     root       248808 1970-01-01 02:00 charger
    dr-x------ root     root              2012-07-27 05:08 config
    lrwxrwxrwx root     root              2012-07-27 05:08 d -> /sys/kernel/debug
    drwxrwx--x system   system            2012-07-26 17:23 data
    -rw-r--r-- root     root          116 1970-01-01 02:00 default.prop
    drwxr-xr-x root     root              2012-07-27 05:20 dev
    lrwxrwxrwx root     root              2012-07-27 05:08 etc -> /system/etc
    -rwxr-x--- root     root       102816 1970-01-01 02:00 init
    -rwxr-x--- root     root         2344 1970-01-01 02:00 init.goldfish.rc
    -rwxr-x--- root     root          717 1970-01-01 02:00 init.p500.rc
    -rwxr-x--- root     root         7809 1970-01-01 02:00 init.qcom.rc
    -rwxr-x--- root     root         1997 1970-01-01 02:00 init.qcom.sh
    -rwxr-x--- root     root         2482 1970-01-01 02:00 init.qcom.usb.rc
    -rwxr-x--- root     root        18533 1970-01-01 02:00 init.rc
    drwxrwxr-x root     system            2012-07-27 05:08 mnt
    dr-xr-xr-x root     root              1970-01-01 02:00 proc
    drwxr-xr-x root     root              1970-01-01 02:00 res
    drwx------ root     root              2012-07-26 13:36 root
    drwxr-x--- root     root              1970-01-01 02:00 sbin
    drwxrwx--x system   system            2012-07-26 17:24 sd-ext
    lrwxrwxrwx root     root              2012-07-27 05:08 sdcard -> /mnt/sdcard
    drwxr-xr-x root     root              2012-07-27 05:08 sys
    drwxr-xr-x root     root              2012-07-26 17:17 system
    -rw-r--r-- root     root          272 1970-01-01 02:00 ueventd.goldfish.rc
    -rw-r--r-- root     root         5562 1970-01-01 02:00 ueventd.p500.rc
    -rw-r--r-- root     root         5562 1970-01-01 02:00 ueventd.qcom.rc
    -rw-r--r-- root     root         3825 1970-01-01 02:00 ueventd.rc
    lrwxrwxrwx root     root              2012-07-27 05:08 vendor -> /system/vendor

    Thanks! :good:
    this is exactly the type of information i need. im investigating the issue. optimistic it should be a simple fix. will keep you updated here.
    if it is simple as i hope, ill push some other things aside and aim for releasing an update this weekend.

    Does this work for the optimus v
    Yes, it should. If you have any issues, please post up the error message with a screenshot. Thanks!
    2
    +1 actually it doenst work for me too i first flashed recovery with this only and gone in fastboot
    i have read about this app in optimus v forum but not anywhere else for the p500
    try flashing recovery :p
    ok just joking ya i think sweetnsour tried fLashing recovery like me
    Thanks for reporting this issue. I searched through the code and I think I know the problem area but will need a tester who is knowledgeable with ADB and using fastboot to recovery from a bad recovery flash. If any of you have time and have those skills, please send me a PM and I can work on fixing the issue!

    Hmm..were you flashing a recovery or kernel? I used to use this all the time to flash kernels(Franco days) but I've never used it to flash a recovery..
    EDIT: just flashed caf kernel using flash image GUI and worked without any problems.. I think at one time it wasn't working correctly on cm9 roms and Joey was gonna try and fix the issue..knowing his dedication to this app im sure he did:D
    Sent from my LG-P509 using Tapatalk 2
    Thanks for confirming the kernel flashing portion works well on the P500

    Thanks to everybody for the support!
    1
    Hmm..were you flashing a recovery or kernel? I used to use this all the time to flash kernels(Franco days) but I've never used it to flash a recovery..
    EDIT: just flashed caf kernel using flash image GUI and worked without any problems.. I think at one time it wasn't working correctly on cm9 roms and Joey was gonna try and fix the issue..knowing his dedication to this app im sure he did:D
    Sent from my LG-P509 using Tapatalk 2

    try flashing recovery :p
    ok just joking ya i think sweetnsour tried fLashing recovery like me