【Rayeager PX2】andoid开机logo分析及PX上的实现

PX2烧的系统也是android的时候,那么修改logo的方式也就大同小异啦,楼主也比较闲,就来试试修改logo。

大家都知道android启动界面分三步,

一步是内核的启动logo,

然后是android的启动初始化logo,

最后还有个启动成功的开机动画。

楼主一开始的理解是在PX2上的过程就是,先出现两只小企鹅,然后出现android的字样,然后android这两字会动一下,

首先我们先来改改内核的启动logo,首先我们进入内核的配置界面,在Device Drivers \ Graphics support  \Bootup logo这一项如果不勾选的话,便不会有那两只企鹅。

而点进去可以看到选择的是Standard 224-color Linux logo

这个选项,可见此

时选择的开机logo是这个图片,我们这时候可以进入/kernel/drivers/video/logo这个文件夹如下,

里面有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的开机所有界面就这样啦,本人也是新手,讲的不好也请指出。

时间: 2024-08-24 18:55:58

【Rayeager PX2】andoid开机logo分析及PX上的实现的相关文章

修改u-boot的开机logo及显示过程【转】

本文转载自;http://blog.csdn.net/voice_shen/article/details/6789424 [ u-boot: Git://git.denx.de/u-boot.git] [tag: v2011.09-rc1 ] 修改u-boot的开机logo其实很简单.请见下面步骤. 1. 获取一张BMP的图片,修改之,让其色深为8位,即256色,如果用24位,则显示出问题,(至于是否能用24位,有待深究). 2. 将制作好的BMP图片,放置到<u-boot>/tools/l

Android开机logo修改方法 【转】

本文转载自:http://blog.csdn.net/qq258711519/article/details/7766303 一体机平台开机logo修改方法 1:修改Kernel中的Logo: 若是要替换Kernel中的开机Logo,只需要把内核目录drivers/video/logo下的logo_android_1024_clut224.ppm文件替换掉即可(注意要保持名字一样,在IMT的SDK里没有这个ppm,默认选择了Standard 224-color Linux logo).然后从新编

(原)kenel开机logo的制作

今天项目需要,需要制作一个kernel的开机logo,所以在rk3288的平台上进行测试一番. 第一步:配置kernel:选上CONFIG_LOGO_LINUX_CLUT224选项 make menuconfig Device Drivers  ---> Graphics support  --->Bootup logo  --->xxx logo 第二步:将图片进行转换:你的logo图片是png的,需要进行如下的转换,转成ppm的才可以使用 转换格式,用以下命令(如工具未安装可用以下指

Android5.1开机LOGO与开机动画【转】

本文转载自:http://blog.csdn.net/u014770862/article/details/52624627 android5.1中,开机LOGO部分和之前版本的并不相同,主要区别在于Android LOGO显示部分.此博客所讲之处若有错误,敬请原谅,谢谢! 开机LOGO一般有两种:静态的和动态的,android开机时共有三种LOGO(5.1之前可能算是4种吧). 1. uboot显示 2. kernel显示 3. android开机动画 一般情况下将前两幅图做成一样的,第三个就

Android 系统开机logo的修改【转】

本文转载自:http://blog.csdn.net/yandongqiangZHRJ/article/details/8585273 看到了好几个修改logo的博文,但是说的不是很清楚,在这里亲手送上通过自己的动手修改过验证后的方法. Android 开机其实总共会出现3个画面: 1.第一个就是 Linux 系统启动,出现linux小企鹅画面(reboot): 2.当android系统从Linux内核启动后,将会执行anddroid平台的初始化过程,屏幕上将会出现”A N D R I O D”

设置安卓开机动画、开机logo

我们要改动的是system>media目录下的bootanimation.zip(手机开机动画)这个文件 先来讲讲这个文件结构:该zip解压后得到两个文件, 第一个文件夹存放了开机时播放的图片(图为佳域G3原厂的动画图片包),见下图: 图片编号001,002,.......010这些是用来控制图片播放顺序的 .第二个 desc. txt的文本文档存放的数据和文字用来控制播放图片的速度(帧速)和播放方式,见下图: 下面讲解这些文字数据的含义:720表示图片像素宽为720像素点 1280表示图片高为

uboot里开机LOGO显示功能解析

开机LOGO,对于绝大多数带显示屏的电子产品都是必备的一个功能,是产品开机的第一印象,重要性不言而喻的,那我们下面就看看这个是怎么实现的. 要尽早的显示出LOGO就需要在系统真正起来之前的boot阶段就能打通显示,而这个任务大多是以U-BOOT这样的角色来充当,全志平台在android4.4平台就是在u-boot里面实现的,支持的是BMP图片.大家分为几个步骤了,首先要读取图片,再解析图片数据,然后再送到显示部分,最后显示出来.事就是这么个事,说起来简单,理起来也简单,真正写出来的人并不简单,需

高通 MSM8K GPT异常导致无法开机问题分析

问题分析步骤如下: 一. MSM8916平台gpt概率性问题:使用QPST emmc software download工具下载完软件后,无法开机.如下图: log分析是userdata分区没有成功mount . 二. adb shell ls /dev/block 显示,开机失败的机器,比正常开机的机器少一个分区:mmcblk0p28 ,这个分区就是userdata所在分区! 参考本人的转并补充内容的另一篇文章<add_partition 函数学习> 可知,/dev/block/mmcblk

WinCE6.0 修改开机Logo方法

开机Logo的修改方法主要有两种: 方法一:定义一个头文件,里面包含一个很大的数组,都是图片的相关数据,一起打包到Eboot的bin文件中.这种方法优点是简单直接,缺点是 图片不能太大,否则会导致Eboot太大,而且后期的Logo更新也变的很麻烦. 方法二:将图片的相关数据烧写到Nand Flash的某个固定地址,Eboot初始化LCD时从该地址读取数据,放入显示缓存里面就可以了.这种方法灵 活,可以支持比较大的图片,而且后期Logo更新比较容易,缺点就是比方法一复杂,需要改动Eboot的源代码