1 bootChart运行的条件
bootchart是运行在linux环境下,需要我们手动安装,安装时需要用到JDK等依赖的安装包。针对Android系统,google发布的Android系统已经包含bootchart工具的源码,但是默认的情况下不编译进入系统,需要人为手动修改之后Android系统才支持。
针对TCC893x平台的Quickboot,默认不支持bootchart功能,需要我们手动修改bootchart源码,以达到Quickboot支持bootchart功能。
2 Android支持bootchart功能
1)打开system/core/init/bootchart.h
2)修改# define BOOTCHART 0到 # define BOOTCHART 1
3)修改system/core/init/Android.mk,加入
include $(CLEAR_VARS)
#build bootchart function
INIT_BOOTCHART := true
或者在终端下执行EXPORT INIT_BOOTCHAR=ture
4) 进入android目录,执行如下操作,编译系统:
uidp4459@hzhe165x$ cd ~/avn_projects
uidp4459@hzhe165x:~/avn_projects$ EXPORT INIT_BOOTCHAR=ture
uidp4459@hzhe165x:~/avn_projects$ source build/envsetup.sh
uidp4459@hzhe165x:~/avn_projects$ lunch full_tcc893x-eng
uidp4459@hzhe165x:~/avn_projects$ make –j24
编译之后下载boot.img、system.img、recovery.img三个文件即可。
5)获取bootchart log文件
下载完成之后上电开启NV5296机子,等待开机完成之后在串口终端执行以下命令:
shell@tcc893x$ su
shell@tcc893x# echo 40 >/data/bootchart-start 其中40代表bootchart只记录开机开始的40s启动时间内的log
shell@tcc893x#mkdir /data/bootchart
shell@tcc893x# reboot
重启之后,拷贝/data/bootchart下的文件到linux PC机上,并压缩成bootchart.tgz文件。在这里生成的bootchart.tgz文件后面将用于生成启动过程中的各个进程的时间图标bootchart.png时使用。
3、linux pc安装bootchart工具
1)下载bootchart源码包,使用源码的方式安装,不要使用apt-get install bootchart的方式安装,网上说的用apt-get install bootchart的方式也可以实现,但需要在安装之后修改安装包的源码,比较麻烦,不太推荐自动安装的方式。
源码下载路径:http://www.bootchart.org/download.html 中下载bootchart-0.9.tar.bz2源码包。
2)在linux pc的普通账号下执行以下命令安装依赖包
$ apt-get install ant1.7
3)添加更新源依赖安装JDK6
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java6-installer
4) 移动bootchart.0.9.tar.bz2到普通账号zhaojr下的bootchart目录下
$mv downloader/bootchar.0.9.tar.bz2 ~/bootchart/
$cd bootchart
xxx@zhaojr/bootchart$ tar –jxvf bootchart.0.9.tar.bz2
xxx@zhaojr/bootchart$ cd bootchart.0.9
5)编译bootchart.0.9
xxx@zhaojr/bootchart/ bootchart.0.9$ ant
6)编译之后bootchart.jar包将在bootchart/ bootchart.0.9目录下创建
7)将之前在android上生成的bootchart.tgz文件拷贝到linux pc的bootchart/ bootchart.0.9目录,在bootchart/ bootchart.0.9目录中执行以下命令:
xxx@zhaojr/bootchart/ bootchart.0.9$ java –jar bootchart.jar bootchart.tgz
执行之后会在zhaojr/bootchart/ bootchart.0.9目录生成bootchart.png文件。Bootchart.png文件就是我们需要的启动过程中各个进行执行时间以及各个阶段执行时系统资源占有率的图标,这个图标将作为开机启动速度优化的重要依据。
以上图表只截取了bootchart.png图中的一部分。请在使用过程中再参考完整图表。