[SCRIPTS] Unpack / repack MT65xx/MT83xx boot.img, recovery.img or logo.bin

Search This thread

myphoneuser

Member
Jun 26, 2009
45
3
Just curious, how difficult could be to port all compiled drivers (modules) from the original kernel to the alcatel kernel source? I am very interested on adding swap support to my rom. I would really appreciate an approximate roadmap.

Thanks in advance...
 

balamu96m

Senior Member
May 2, 2011
1,216
1,304
Chennai
We've got kernel source code of Alcatel 918N which is MT6573 phone, succesfully compi,ed the kernel but failed injecting zimage into boot.img, Im stuck at bootlogo. Maybe anyone can help.

Alcatel 918D is a dual sim phone and it would be more closer to our phones................so we can try using it.......

-----------------

i'm a noob in compiling things from source.......is there any guide for that ?? i want to give it a try..........any links for learning it would help a lot !!:)
 

gh.rohit

Inactive Recognized Developer
Oct 18, 2011
6,344
4,065
Mumbai
www.rgui.net
can anyone help me?? i want to extract boot.img and system.img etc files on windows 7, i have cygwin installed.

i copied mkbootimg(modified one, found on page 2) to cygwin > bin, and created one folder in cygwin>new folder , where i copied scripts and boot.img......then opened command prompt and type command from first post.....but i think its wrong method.

sorry for noob question, i am new to this.
 

killer04

New member
Dec 19, 2011
2
0
please help me to make custom recovery for my phone...
CSL Mi322
Android 2.2.1
mt6516

s-csl.my/index.php/csl-phones/switch/item/254-mini-mi322

thanks in advance...
 

Attachments

  • csl.mi322.zip
    2.5 MB · Views: 110

bgcngm

Recognized Developer
Apr 2, 2007
7,091
21,556
Lisbon
HTC One (M8)
Xiaomi Mi 5
I have created a public github repository (bgcngm/mtk-tools) to host the scripts. The most up to date version is always available at the repo.

I'm currently finishing the re-write of the scripts in order to add the unpack/repack feature of MediaTek logo.bin images.

Please don't just leech the files and go away. You can easily say thanks just by pressing "Thanks" button.
 
Last edited:

bgcngm

Recognized Developer
Apr 2, 2007
7,091
21,556
Lisbon
HTC One (M8)
Xiaomi Mi 5
Tests are finished and the new version of the scripts has been released. There were some code changes to the "old" unpack/repack functions, but the main change is the possibility to unpack/repack MT65xx logo.bin images. This was inspired on the great finding by starix (source here).

The unpack script can now extract all the raw images (RGB565 format) found inside logo.bin. Those raw images can be edited using paint.net + RGB565 plugin. After editing your images, you just have then to repack logo.bin (make sure that the number of raw images is the same).

One last note: unpack script usage has been changed, so please read the new instructions.
 

myphoneuser

Member
Jun 26, 2009
45
3
@banjo0917

Were you able to compile a new kernel for you mt6573 device using the 918D kernel sources?

Thanks in advance...
 

qltsar

Senior Member
Oct 14, 2010
222
63
Budapest
First of all, i want to thank you your hardwork bgcngm!

Unfortunatelly, i have some problems with the new boot.img at SPFlashTool, it seems that the repack process uses hihger compression rate, than the original, because, my original boot.img is ~6MB, the new boot.img after i used your scipts is ~2.58MB.
The flash tool can't make it, and it's shows this error message:
MTK6573_boot_error.png


I hope that somebody can help!

Thanks :)!
 

Top Liked Posts

  • There are no posts matching your filters.
  • 379
    If you are looking for a way to easily unpack / repack boot.img, recovery.img or logo.bin from your MediaTek device (all except Android One devices), don't look any further. Here you can find my own Perl scripts.

    Scripts were first based on the ones available on Android-DLS WiKi, but are now highly modified in order to work with specific MTK boot and recovery images. The scripts fully work with every image from all known MediaTek SoC:
    • MT6516
    • MT65x3 (MT6513 and MT6573)
    • MT65x5 (MT6515 and MT6575)
    • MT6577
    • MT65x2 (MT6572, MT6582 and MT6592)
    • MT6589
    • MT83xx (MT8377 and MT8389)
    • MT6595

    The most up to date version of the scripts is always available at my public github repository: bgcngm/mtk-tools. Scripts require Perl v5.14+ to be installed and were fully tested under Ubuntu 12.04 as well as Windows 7 x64 (using Cygwin).

    Please don't just leech the files and go away. You can easily say thanks just by pressing "Thanks" button.

    Unpack script usage:
    Code:
    Usage: unpack-MTK.pl <infile> [COMMAND ...]
      Unpacks MediaTek boot, recovery or logo images
    
    Optional COMMANDs for boot or recovery images are:
    
      -info_only
        Display file information only
         (useful to check image information without unpacking)
    
      -kernel_only [--debug]
        Extract kernel only
    
      -ramdisk_only [--debug]
        Extract ramdisk only
    
        (optional argument '--debug' can additionally be used to provide useful
         information for debugging purposes, even while unpacking both kernel
         and ramdisk)
    
    Optional COMMANDs for logo images are:
    
      -force_logo_res <width> <height>
        Forces file to be unpacked by specifying image resolution (in pixels)
         (only useful when no zlib compressed images are found)
    
      -invert_logo_res
        Invert image resolution (width <-> height)
         (may be useful when extracted images appear to be broken)

    Repack script usage:
    Code:
    Usage: repack-MTK.pl <COMMAND ...> <outfile>
      Repacks MediaTek boot, recovery or logo images
    
    COMMANDs for boot or recovery images are:
    
      -boot [--debug] <kernel> <ramdisk-directory>
        Repacks boot image
    
      -recovery [--debug] <kernel> <ramdisk-directory>
        Repacks recovery image
    
        (optional argument '--debug' can additionally be used to provide useful
         information for debugging purposes, while repacking)
    
    COMMANDs for logo images are:
    
      -logo [--no_compression] <logo-directory>
        Repacks logo image
    
        (optional argument '--no_compression' can be used to repack logo images
         without compression)

    Version history:
    • modified to work with MT6516 boot and recovery images (17-03-2011)
    • included support for MT65x3 and eliminated the need of header files (16-10-2011)
    • added cygwin mkbootimg binary and propper fix (17-05-2012)
    • included support for MT65xx logo images (31-07-2012)
    • fixed problem unpacking logo images containing more than nine packed rgb565 raw files (29-11-2012)
    • re-written logo images file verification (29-12-2012)
    • image resolution is now calculated and shown when unpacking logo images (02-01-2013)
    • added colored screen output (04-01-2013)
    • included support for logo images containing uncompressed raw files (06-01-2013)
    • more verbose output when unpacking boot and recovery images (13-01-2013)
    • kernel or ramdisk extraction only is now supported (13-01-2013)
    • re-written check of needed binaries (13-01-2013)
    • ramdisk.cpio.gz deleted after successful extraction (15-01-2013)
    • added rgb565 <=> png images conversion (27-01-2013)
    • code cleanup and revised verbose output (16-10-2014)
    • boot or recovery is now extracted to the working directory (16-10-2014)
    • unpack result is stored on the working directory, despite of the input file path (17-10-2014)
    • added support for new platforms - MT6595 (thanks @carliv) (29-12-2014)
    • minor code cleanup and revised information output for boot and recovery images (29-12-2014)
    • make scripts more future-proof by supporting even more args (30-12-2014)
    • continue repacking even if there's no extra args file (01-01-2015)
    • more verbose output when repacking boot and recovery images (02-01-2015)
    • added new cmdline option for debugging purposes when unpacking / repacking boot and recovery images (06-01-2015)

    Credits:
    • Android-DLS for the initial scripts
    • starix (from forum.china-iphone.ru) for the decryption of logo.bin files structure
    • carliv (from xdaforums.com) for new platform support and new binaries

    XDA:DevDB Information
    MTK-Tools, Tool/Utility for the Android General

    Contributors
    bgcngm

    Version Information
    Status: Stable

    Created 2014-10-15
    Last Updated 2014-10-17
    32
    Editing .rgb565 raw files

    There may be other ways for doing this, but here's a short info that will help you to edit .rgb656 raw files found inside MTK logo images.

    • Download and install Paint.NET
    • Download the attached plugin and copy the RGB565.dll file to the folder: "C:\Program Files\Paint.Net\FileTypes"
    • Open the .rgb565 file and enter image height and width

    Information:

    The plugin will allow read and write support to the RGB565 or RAW565 format. This format is used by the Android platform for the initial boot screen of the device. It will also allow you to open a BMP, PNG, JPG or other image and save it as a RGB565 file.

    RGB565 is simply the raw pixel data of a bitmap file. It does not contain any header information and does not contain the dimensions of the image. The only thing that is known is the total number of pixels. When opening a .rgb565 file, the user must specify the height and width of the image, which is the resolution of your device's screen.

    Just as an example, for a device with a 540 x 960 screen, the .rgb565 file for that device will have 518400 pixels. The size of the file in bytes will be twice the number of pixels, i.e. 1036800 bytes.
    18
    Simple... let's say you unpack a boot.img:
    Code:
    unpack-MT65xx.pl boot.img

    This extracts the kernel (it will be named boot.img-kernel.img) and the ramdisk folder (it will be named boot.img-ramdisk).

    In order to repack, you should run:
    Code:
    repack-MT65xx.pl boot.img-kernel.img boot.img-ramdisk new-boot.img

    If you are repacking a recovery.img, then it should be:
    Code:
    repack-MT65xx.pl -recovery recovery.img-kernel.img recovery.img-ramdisk new-recovery.img
    9
    I have created a public github repository (bgcngm/mtk-tools) to host the scripts. The most up to date version is always available at the repo.

    I'm currently finishing the re-write of the scripts in order to add the unpack/repack feature of MediaTek logo.bin images.

    Please don't just leech the files and go away. You can easily say thanks just by pressing "Thanks" button.
    3
    Works in windows with cygwin too with some minor tweaking...

    change the repack script line 66, mkbootimg to ./mkbootimg.exe & replace mkbootimg with this windows version...:p i think it should work with any mkbootimg.exe windows version too...

    ignore the unpack scripts error though, it works fine actually in cygwin...:)