Jump to content


Photo

[Guide] Custom boot splash image

- - - - -

  • Please log in to reply
13 replies to this topic

#1
GizmoTheGreen

GizmoTheGreen

    Regular

  • Members
  • PipPip
  • 131 posts
  • Devices:ZTE Blade, HTC Sensation
Hello here is my guide to flashing a custom boot splash image, it's a bit harder since there is no "splash" partition.
the old way from the ZTE Blade where you could do

adb flash splash splash.img

is over...

okay step one. get gimp.
make your 480x800 image.
now vertcially flip it! (don't rotate 180, you want to flip/mirror it upside down. or else it will be mirrored on the device later)
now in gimp, go file -> export...

export as BMP and click save. it will now prompt for options, check the compatibility one. or the file will be too big.
also check the RGB 565 format.

now we have our splash image! on to the fun stuff...

connect your phone and have debugging on, or boot to recovery manually.

now push your file to the phone.
adb push yoursplash.bmp /sdcard/

now you'll want to go into shell.
adb shell

now for some fun stuff...
dd if=/sdcard/yoursplash.bmp of=/dev/block/mmcblk0p18 bs=768070 count=1 conv=notrunc

last option is very important, this means it should just overwrite the first bytes with your splash, and leave the rest alone, without conv=notrunc it would erase anything after that... or thats the theory anyway... but we need to keep the rest, it is an image used for offline charging (when the phone is off)

hope this is helpful, I might add some pictures later :)
thanks to KonstaT for explaining to me how the splash image worked on the new Blade 3

Edited by GizmoTheGreen, 06 February 2013 - 04:40 AM.

  • 1

#2
KonstaT

KonstaT

    Hardcore

  • Developer Team
  • PipPipPipPipPipPip
  • 2,761 posts
  • Gender:Male
  • Location:Finland
  • Devices:Moto G, ZTE Open C
  • Twitter:@konstatuomio
Nice guide. :) Had to do one for myself too and I can verify that this works.

The regular (toolbox's) dd had some issues with conv, so I used dd from busybox.

/system/xbin/busybox dd if=/sdcard/yoursplash.bmp of=/dev/block/mmcblk0p18 bs=768070 count=1 conv=notrunc

  • 1

#3
x6itru

x6itru

    Regular

  • Members
  • PipPip
  • 72 posts
  • Gender:Male
  • Location:Poland
  • Interests:Game programming, C++ & OpenGL
  • Devices:ZTE Blade 3, ASUS Nexus 7
KonstaT, can you add it to CM10? :)

  • 0

#4
KonstaT

KonstaT

    Hardcore

  • Developer Team
  • PipPipPipPipPipPip
  • 2,761 posts
  • Gender:Male
  • Location:Finland
  • Devices:Moto G, ZTE Open C
  • Twitter:@konstatuomio

KonstaT, can you add it to CM10? :)

No, it has to be done like on the first post. It's still a separate splash partition, it's just different type than on the original Blade (eMMC vs. MTD). You're probably still thinking of the initlogo and it's a completely different thing.

  • 0

#5
GizmoTheGreen

GizmoTheGreen

    Regular

  • Members
  • PipPip
  • 131 posts
  • Devices:ZTE Blade, HTC Sensation

Nice guide. :) Had to do one for myself too and I can verify that this works.

The regular (toolbox's) dd had some issues with conv, so I used dd from busybox.

/system/xbin/busybox dd if=/sdcard/yoursplash.bmp of=/dev/block/mmcblk0p18 bs=768070 count=1 conv=notrunc


Thanks, and thank your for the help as well! hmm, dd seemed to work ok for me, I just put my phone turned off on the charger, and the image is there. what is the issue with conv?

from wiki article on dd
dd can modify data in place.
Overwrite the first 512 bytes of a file with null bytes:
dd if=/dev/zero of=path/to/file bs=512 count=1 conv=notrunc
The notrunc conversion option means do not truncate the output file — that is, if the output file already exists, just replace the specified bytes and leave the rest of the output file alone. Without this option, dd would create an output file 512 bytes long.

this is why I think without notrunc it would cause issues, I have not tried without.

Edited by GizmoTheGreen, 06 February 2013 - 08:11 PM.

  • 0

#6
KonstaT

KonstaT

    Hardcore

  • Developer Team
  • PipPipPipPipPipPip
  • 2,761 posts
  • Gender:Male
  • Location:Finland
  • Devices:Moto G, ZTE Open C
  • Twitter:@konstatuomio

Thanks, and thank your for the help as well! hmm, dd seemed to work ok for me, I just put my phone turned off on the charger, and the image is there. what is the issue with conv?

Fails with 'conv option disabled' message. I'm not sure what's that about. Might be only the toolbox in CM10. Works fine with busybox's dd.

You can find the offline charger images from stock ROMs /system/etc/res/images/charger. I've seen these added to CM builds on some devices. I never did that and the images are still displayed and offline charging works on CM10. I'm quite sure these are kept on a separate partition somewhere. It might be that ZTE is just trolling us with that extra image on splash partition. ;)

  • 0

#7
GizmoTheGreen

GizmoTheGreen

    Regular

  • Members
  • PipPip
  • 131 posts
  • Devices:ZTE Blade, HTC Sensation
I think theres even more images in there. I might try and modify them sometime and see if it actually does anything, and if it does, might write a program to split them up for editing. problem is I'm a lazy person, I can code, as in, I know a bit of c/c++/c#. I lack experience, heavily. :P

  • 0

#8
x6itru

x6itru

    Regular

  • Members
  • PipPip
  • 72 posts
  • Gender:Male
  • Location:Poland
  • Interests:Game programming, C++ & OpenGL
  • Devices:ZTE Blade 3, ASUS Nexus 7
btw anyone know how to get partitions size? /proc/mtd return nothing.. wtf?
/proc/partitions returns size in blocks, what is block size? 1024?

Edited by x6itru, 09 February 2013 - 10:32 AM.

  • 0

#9
GizmoTheGreen

GizmoTheGreen

    Regular

  • Members
  • PipPip
  • 131 posts
  • Devices:ZTE Blade, HTC Sensation
what do you need that for?

  • 0

#10
x6itru

x6itru

    Regular

  • Members
  • PipPip
  • 72 posts
  • Gender:Male
  • Location:Poland
  • Interests:Game programming, C++ & OpenGL
  • Devices:ZTE Blade 3, ASUS Nexus 7
i'm just learning to build android rom's and compile linux kernels :P

  • 0

#11
papars

papars

    Enthusiast

  • Members
  • PipPipPip
  • 157 posts
  • Gender:Male
  • Devices:ZTE Acqua
Noob question:

Why not modify splash.img and use recovery to load it? For example with this:

package_extract_file("splash.img", "/dev/block/mmcblk0p18");

splash.img contains a number of bmp files. Each image ix 0x8800 bytes long (00 padded to fill the space). The first is the android robot the rest are stated above battery charging related.

  • 0

#12
razzmataz1478

razzmataz1478

    Hardcore

  • Members
  • PipPipPipPipPipPip
  • 2,215 posts
  • Gender:Male
  • Location:HULL
  • Interests:Flashing ROMs, Being distracted by my skate
  • Devices:ZTE Skate

btw anyone know how to get partitions size? /proc/mtd return nothing.. wtf?
/proc/partitions returns size in blocks, what is block size? 1024?


Times the blocks by 1024 (you're right!) to get what you'd put on the device makefile

Edited by razzmataz1478, 13 February 2013 - 12:53 AM.

  • 0

Posted Image

Current Phone:

Xperia T


Previous Phones:

Orange Monte Carlo

Nokia 5530 XpressMusic (Nokia C6-00 CFW)

Sony Ericsson v640i

Nokia 3120

Various other Nokia phones.

Not the best history of phones Posted Image


#13
KonstaT

KonstaT

    Hardcore

  • Developer Team
  • PipPipPipPipPipPip
  • 2,761 posts
  • Gender:Male
  • Location:Finland
  • Devices:Moto G, ZTE Open C
  • Twitter:@konstatuomio

Noob question:

Why not modify splash.img and use recovery to load it? For example with this:

package_extract_file("splash.img", "/dev/block/mmcblk0p18");

splash.img contains a number of bmp files. Each image ix 0x8800 bytes long (00 padded to fill the space). The first is the android robot the rest are stated above battery charging related.

Yeah, sure you can. It's just easier to use the method in the first post than start hex editing the splash.img.

I wrote an easy to use tool for changing the splash/charging images. It's also ClockWorkMod flashable.
http://www.modaco.co...splash-flasher/

  • 0

#14
MJonMoDaCo

MJonMoDaCo

    Enthusiast

  • Members
  • PipPipPip
  • 285 posts
  • Gender:Male
  • Location:Nelson, NZL
  • Interests:PCs, Phones, Cars, Sports of all sorts.
  • Devices:ZTE Skate Acqua LG Optimus One
Nice guide Gizmo. Spent an afternoon making splash pages using your guide. Flashed perfectly, and now I'm injecting the images into all the ROMs I use. Good job. On to boot animations now...

  • 0
Spoiler




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users