bootchart는 시스템의 boot프로세스의 cpu, disk사용량과 같은 통게를 제공받아
부팅의 병목을 찾는데 활용할 수 있다. 다음에서 Android(jellybean4.2.2)의 bootchart생성하는 방법을 설명한다.

1. Host에 bootchart-0.9(http://www.bootchart.org/download.html)를 설치
 Oracle java JDK6설치 : openJDK안됨
 ant설치: sudo apt-get install ant1.7
 cd bootchart-0.9
 ant


2. Kernel Config
 make menuconfig
 General Setup -- [*] “BSD Process Accounting” -- [*] “BSD Process Accounting version 3 file format”
 make


3. Framework의 init소스 수정
 3-a) Edit system/core/init/core/init.c, bootchart_init_action()


 bootchart_1.png
 “return 0”가 있는지 확인 필요

 3-b)

edit system/core/init/bootchart.h
            #define BOOTCHART 1

 3-c)

   a) export INIT_BOOTCHART=1
   b) make  // topdir에서 framework 빌드


4. android adb설치: android-sdk안에 있음
5. android이미지 설치 후 부팅
6. adb console 로긴
 adb shell
 mkdir /data/bootchart
 echo 40 > /data/bootchart-start
   40은 로그데이타 크기임

7. reboot android
8. adb console로 로긴하여  /data/bootchart의 파일을 가져옴
 adb shell
 cd /data/bootchart
 tar -cf ../bootchart_fa.tar *
 cd ..; gzip bootchar_fa.tar

9. host에서 bootchart를 사용하여 리포트 작성
 cd bootchart-0.9
 java ?jar bootchart.jar bootchart_fa.tgz
 그림파일 bootchart_fa.png이 생성됨


이와 같은 과정을 거쳤을 때 bootchart_fa.png을 보면 다음과 같은 형태의 부팅정보를 제공한다.

bootchart_2.png