Vanilla Android boots up with a Green Droid logo and then switch to boot animation.
Droid logo image is loaded by init process(system/core/init/init.*)
Android boot animation is triggered by SurfaceFlinger startup routine(frameworks/base/services/surfaceflinger/SurfaceFlinger.cpp)
Now you know what you need to modify to create a custom Android bootup Logo or Animation.
Droid logo image is loaded by init process(system/core/init/init.*)
main()Image load processing is handled by system/core/init/logo.c
--> console_init_action()
--> load_565rle_image(INIT_IMAGE_FILE)
Where INIT_IMAGE_FILE="/initlogo.rle"
Android boot animation is triggered by SurfaceFlinger startup routine(frameworks/base/services/surfaceflinger/SurfaceFlinger.cpp)
SurfaceFlinger::readyToRun()Bootanimation code can be found here frameworks/base/cmds/bootanimation/*
--> property_set("ctl.start", "bootanim")
Where bootanim service(defined in /init.rc) will start /system/bin/bootanimation
Now you know what you need to modify to create a custom Android bootup Logo or Animation.