강좌 & 팁
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()
“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을 보면 다음과 같은 형태의 부팅정보를 제공한다.