Production of Initlogo.rle
Call of Initlogo.rle
Location defined by Initlogo.rle
System/core/init/init.h
From the definition can be known, Initlogo.rle storage location in the root directory, if the image name does not want to be called Initlogo.rle can also be modified here, but must be consistent with the name of the picture file.
The location of the location under the root directory of the store is the position of the file where the ROM has been generated.
At compile time, you need to place the picture in the root file under the generated target file <android_home>/out/..../root/initlogo.rle
Initlogo.rle calling function
<android_home>/system/core/init/init.c
1Staticint Console_init_action (int Nargs,char * *Args2{3...4If(Load_565rle_image (Init_image_file)) {//If the call fails, the text will display the "ANDROID" LOGO5 FD = open ("/dev/tty0", o_wronly);6if (FD >=0) {7Constchar *Msg8 msg ="\ n"9"\ n"10"\ n"11"\ n"12"\ n"13"\ n"14"\ n"//Console is cols x lines15"\ n"16"\ n"17"\ n"18"\ n"19"\ n"20 \n "21 " \n "22 " A N d R O I D "; 23 write (fd, MSG, strlen (msg)); 24 Close (FD); }26 }27 . 28}
Note:
Initlogo.rle is removed after booting:
Viewing the code reveals that, in system/core/init/init.c [Load_565rle_image]--and LOGO.C, the unlink operation is done after the Initlogo.rle is displayed. This action is not a problem for Android's default read-only system.img, but it is problematic for custom yaffs or Ubi forms of read-write system.img. Causes the Initlogo.rle to be deleted and cannot be read at the next startup. You can circumvent this problem by commenting out the unlink (FN) statement in LOGO.C's Load_565rle_image ().
References:
http://blog.csdn.net/hjjph/article/details/7046274
Go Android logo android boot logo initlogo.rle