摘自:http://hi.baidu.com/supertreeman/blog/item/f96ea8119ff3b64ff919b847.html
android有时会遇到把自己制作的initlogo.rle放入 根目录下,第一次启动能够看到图片,第2次启动就有看不了,提示没有 initlogo.rle?
Warning: unable to open an initial console. init: cannot open '/initlogo.rle' sh: can't access tty; job control turned off # warning: `rild' uses 32-bit capabilities (legacy support in use) request_suspend_state: wakeup (3->0) at 37524223497 (2010-10-21 05:11:00.258831729 UTC)
查看代码可发现,在system/core/init/init.c [load_565rle_image] --> logo.c中 ,显示完毕initlogo.rle之后作了 unlink 操作。该操作对于android 默认的只读型system.img 是没问题,, 但对于自定义的yaffs 或者 ubi形式的可读写型的system.img时就有问题了。会造成将initlogo.rle删除,下次启动时读取不到该文件。可以通过注释掉logo.c的load_565rle_image()中的unlink(fn)语句来规避该问题。