What is imgdata tool?
It is a tool to extract images like the bootlogo from the partition called imgdata. Then you can change these images with gimp or photshop then repack them into a new imgdata image and flash it to your device and see your new custom bootlogo or fastboot menu.
Instructions
Notes
1.3.2
Sources
https://github.com/bitdomo/imgdata/tree/hammerhead
Technical details
It is a tool to extract images like the bootlogo from the partition called imgdata. Then you can change these images with gimp or photshop then repack them into a new imgdata image and flash it to your device and see your new custom bootlogo or fastboot menu.
Instructions
- Download imgdata tool from here or from the attachments.
- Run start.bat script if you are a windows user or run start script if you are a linux or mac user.
- Verify your phone's model by exactly typing NEXUS 5.
- Select option number 1 called Extract imgdata.
- Drag and drop the imgdata.img file from stock folder to imgdata tool or type the path to imgdata.img.
- The folder with the extracted images should pop-up. If it does not happen you will find the images in the images folder.
- Edit the desired images.
- Edit pos.txt:
- Never change the entries line and never remove any line.
- First column is the name of the image second column is the position of the image.
- 0x0 means the image will be shown on your screen in the top left corner.
- If it is 0x1 the image move 1 pixel down.
- If it is 1x0 the image will move 1 pixel right.
- If it is 281x868 the image will move 281 pixels right and 868 pixels down.
- You can check your changes in option number 2 called Preview from the main menu in the imgdata tool. It should open the image you selected or open the preview folder if you selected the option View all. If it does not happen then the preveiw images can be found in the folder called preveiws.
- When you finished editing the images you can build a new imgdata from the images you edited by selecting option number 3 called Build imgdata from the main menu in the imgdata tool.
- After the building finished you can flash the zip called flash-me.zip to flash the new imgdata to your phone or if you want you can flash it using imgdata tool.
Notes
- Only 24 bit bmp files are acceptable.
- You can find the custom imgdata image in the folder called custom after the building.
- The maximum file size of the imgdata.img is 3145728 bytes (3 MiB). The tool will show you an error if that happens and it will ask you do you want to reduce the color depth of an image from 24 bit to 16 bit. If you still exceed the 3 MiB limit you can resize other images which are not important to you to a 1x1 pixel image.
- If you want to use full screen images in the fastboot menu, then it will cover the system texts.
- If a new bootloader is released stop using the tool until I check whether the imgdata changed or not.
- Working with bootloader versions up to HHZ20f
1.3.2
1.3.1Linux 32 and 64 bit binaries
Making clear this tool is for Nexus 5 and not for Nexus 5X
Added missing entries for 16 bit menu
1.3.0Added full support for imgdata.img after the HHZ12h bootloader update.
Added padlock image to the oem unlock screen in the preview option.
1.2.1Linux and mac support.
Start.bat now adds C:\Windows\System32 and C:\Windows\SysWOW64 to the path environment variable if they are missing.
For imgdata binary: 16bit switch now checks the input file to determine is it a valid bmp file.
1.2.016 bit conversion: does in one step when you open an image with gimp then save it as 16 bit then reopen and save it as 24 bit.
the original image will get "o-" tag to the begining of its name
1.1.1Preview function.
Option for flash with adb or fastboot.
Added more-space.img to the custom folder. I removed padlock, fastboot background, downloadmode screen and I minimalized fastboot screen and oem unlock screen to gain more space for custom boot logos.
1.1.0
1.0.1
1.0.0
https://github.com/bitdomo/imgdata/tree/hammerhead
Technical details
Structure of imgdata
Partition header
Image headers
This pattern goes on, from DATA4 to DATA10.
Structure of the images
It consist of 4 bytes of chunks.
Example:
05 00 00 00 02 FF FF FF
05: count number = 5
00 00 00: RGB value = black
02: count number = 2
FF FF FF: RGB value = white
So from the top left corner of your screen you would see 5 black pixels then 2 white pixels.
Partition header
DATA1: 8 byte string. It says IMGDATA!. It is similar to the begining of boot.img and recovery.img that says ANDROID!
DATA2: I don't know.
DATA3: Number of images. It is 12.
8 bytes of 0: I dont know the purpose of that
Image headers
DATA4: 16 byte string. Tells the name of the image.
DATA5: image width in pixel
DATA6: image height in pixel
DATA7: X position of the image in pixel
DATA8: Y position of the image in pixel
DATA9: it tells where is the begining of the picture on imgdata
DATA10: size of the image
This pattern goes on, from DATA4 to DATA10.
Structure of the images
It consist of 4 bytes of chunks.
- First byte: count number
- Second byte: R value
- Third byte: G value
- Fourth byte: B value
Example:
05 00 00 00 02 FF FF FF
05: count number = 5
00 00 00: RGB value = black
02: count number = 2
FF FF FF: RGB value = white
So from the top left corner of your screen you would see 5 black pixels then 2 white pixels.
Attachments
Last edited: