我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 1927|回复: 5

[技术文章] 【Rayeager PX2】andoid开机logo分析及PX上的实现

[复制链接]

该用户从未签到

66

主题

1

回帖

138

积分

二级逆天

积分
138

社区居民

QQ
发表于 2015-5-27 17:31:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
PX2烧的系统也是android的时候,那么修改logo的方式也就大同小异啦,楼主也比较闲,就来试试修改logo。
大家都知道android启动界面分三步,
一步是内核的启动logo,
然后是android的启动初始化logo,
最后还有个启动成功的开机动画。
楼主一开始的理解是在PX2上的过程就是,先出现两只小企鹅,然后出现android的字样,然后android这两字会动一下,
首先我们先来改改内核的启动logo,首先我们进入内核的配置界面,在Device Drivers \ Graphics support  \Bootup logo这一项如果不勾选的话,便不会有那两只企鹅。
1.png

  而点进去可以看到选择的是Standard 224-color Linux logo  
2.png
   这个选项,可见此
时选择的开机logo是这个图片,我们这时候可以进入/kernel/drivers/video/logo这个文件夹如下,
   3.png
里面有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,然后重启,便得到如下结果,
4.jpg



ok,这样内核logo就这样修改ok了,可行,很简单吧,
现在开始修改第二个logo,android的logo
这个我们先看看源码,在system/core/init这个目录下init.c便定义了如下,在判定initlogo.rle这个文件不存在后,便执行了下面代码,便是显示android这几个字,
4.png
所以我们便有两种方式改变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目录下,然后重启便可以实现,显示如下,
5.jpg
使用的开机文件也在附件中,而如大家想知道如何制作这个bootanimation.zip,这个百度上也已经有具体教程,而关于这部分具体代码位置可以参考原帖:http://bbs.chipspark.com/forum.p ... ;amp;extra=page%3D1。然后所有android的开机所有界面就这样啦,本人也是新手,讲的不好也请指出。
回复

使用道具 举报

  • TA的每日心情
    开心
    2024-10-7 21:17
  • 签到天数: 103 天

    [LV.6]常住居民II

    92

    主题

    1万

    回帖

    7万

    积分

    三级逆天

    积分
    73181

    终身成就奖特殊贡献奖原创先锋奖社区居民忠实会员社区劳模最爱沙发社区明星原创达人优秀斑竹奖宣传大使奖

    QQ
    发表于 2015-5-28 00:02:43 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    34

    主题

    3642

    回帖

    1万

    积分

    三级逆天

    积分
    16099

    终身成就奖社区居民忠实会员社区劳模贴图大师奖宣传大使奖优秀斑竹奖新人进步奖最爱沙发

    QQ
    发表于 2015-5-28 08:03:47 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    34

    主题

    3642

    回帖

    1万

    积分

    三级逆天

    积分
    16099

    终身成就奖社区居民忠实会员社区劳模贴图大师奖宣传大使奖优秀斑竹奖新人进步奖最爱沙发

    QQ
    发表于 2015-5-28 08:03:59 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    19

    主题

    725

    回帖

    1161

    积分

    1元学习PADS(3期)

    积分
    1161

    社区居民终身成就奖

    QQ
    发表于 2015-5-28 08:32:35 | 显示全部楼层
    回复

    使用道具 举报

    念念念念 该用户已被删除
    发表于 2015-5-28 08:49:41 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    每日签到,有金币领取。


    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    ( 闽ICP备2024076463号-1 ) 论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

    平平安安
    TOP
    快速回复 返回顶部 返回列表