PX2烧的系统也是android的时候,那么修改logo的方式也就大同小异啦,楼主也比较闲,就来试试修改logo。php
你们都知道android启动界面分三步,linux
一步是内核的启动logo,android
而后是android的启动初始化logo,ide
最后还有个启动成功的开机动画。工具
楼主一开始的理解是在PX2上的过程就是,先出现两只小企鹅,而后出现android的字样,而后android这两字会动一下,动画
首先咱们先来改改内核的启动logo,首先咱们进入内核的配置界面,在Device Drivers \ Graphics support \Bootup logo这一项若是不勾选的话,便不会有那两只企鹅。spa
而点进去能够看到选择的是Standard 224-color Linux logo 教程
这个选项,可见此图片
时选择的开机logo是这个图片,咱们这时候能够进入/kernel/drivers/video/logo这个文件夹以下,ip
里面有logo_linux_clut224这个图片,
此刻咱们即可以用别的图片替换这个图片就能够改变开机界面了。而后这时候我先随便找张PNG图片,而后利用linux下的一些图片转换工具能够把这张PNG图片转成可和开机logo同样的图片具体命令以下:
# pngtopnm linuxlogo.png > linuxlogo.pnm
# pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm
# pnmtoplainpnm linuxlogo224.pnm > linuxlogo224.ppm
注:上述命令须要安装netpbm的工具包 sudo apt-get install netpbm
而后再把转换好格式的图片名字改程logo_linux_clut224替换掉以前那个文件夹里面的那个文件,同时把里面的.o和.c文件删掉,而后从新编译内核,从新烧录kernel,而后重启,便获得以下结果,
ok,这样内核logo就这样修改ok了,可行,很简单吧,
如今开始修改第二个logo,android的logo
这个咱们先看看源码,在system/core/init这个目录下init.c便定义了以下,在断定initlogo.rle这个文件不存在后,便执行了下面代码,即是显示android这几个字,
因此咱们便有两种方式改变logo一种是改那个文字,一种是加一个rle文件,生成rle文件到方式也很简单,首先准备一个PNG-24或png-32格式的图片,便可用PS修改出来,即在
保存时选“保存为 Web 所用格式”,而后在弹开的窗口上,“预设”项选择“PNG-24”,保存为android_logo.png。
而后使用了以下命令: convert -depth 8 android_logo.png rgb:android_logo.raw
./rgb2565 -rle < android_logo.raw > initlogo.rle
rgb2565这个工具通常在android/out/host/linux-x86/bin目录下,若是没有也能够去网上下载一个,而后把权限给上去就能够用了。
生成后,便把那个文件放在out/target/product/rkpx2/root下,而后开始wiki上的步骤编译下来,先make -j4,而后在。/mkimage.sh生成固件,
可是楼主在烧录这个固件后, 并无如期着看见这个界面,不事后面我修改了第三个界面后,发现根本就不存在第二个界面,楼主猜想也许是初始化时间过短,因此界面没有显示出来,或者说PX2的源码中有将其忽略了,而楼主是用LCD屏的,而楼主的一位朋友用VGA显示,是能够正常显示的,因此说这步理论上也是可行的,最后生成的rle文件是包含在out/target/product/rkpx2目录下的ramdisk.img下的,而后生成固件的时候加在boot.img这个固件下。
第三步是动画,这一步有不少种方法,最简单的方法是只须要把对应的开机动画文件bootanimation.zip用adb工具push进板中/data/local目录下,而后重启即可以实现,显示以下,
使用的开机文件也在附件中,而如你们想知道如何制做这个bootanimation.zip,这个百度上也已经有具体教程,而关于这部分具体代码位置能够参考原帖:http://bbs.chipspark.com/forum.php?mod=viewthread&tid=8121&extra=page%3D1。而后全部android的开机全部界面就这样啦,本人也是新手,讲的很差也请指出。