First, rebuild /init with bootchart enabled.
$ cd mydroid
$ export INIT_BOOTCHART=true
$ make clean
$ make
Copy it to Zaurus and setup environment as written in README.BOOTCHART in system/core/init.
$ scp out/target/product/generic/root/init root@zaurus:~/android-root/
$ ssh root@zaurus
# echo 1 > android-root/data/bootchart
# echo 5 > android-root/data/bootchart-stop
Make android-root/tmp directory and boot Android up.
# mkdir android-root/tmp
# chmod 777 android-root/tmp
# chroot android-root /init
After shutting Android down, copy grab-bootchart.sh to the same directory as the adb tool.
$ cp mydroid/system/core/init/grab-bootchart.sh mydroid/out/host/linux-x86/bin
$ cd mydroid/out/host/linux-x86/bin
In grab-bootchart.sh, adb is executed without path and I don't set PATH to adb, so simply modify the scrpit from "adb pull" to "./adb pull".
Boot Android up on Zaurus again, then run the script on the host PC.
$ export ADBHOST=zaurus
$ ./adb kill-server
$ ./adb start-server
$ sudo ./grab-bootchart.sh
On Ubuntu 8.04, the visualizer can be installed by apt-get.
$ sudo apt-get install bootchart
$ java -jar /usr/share/bootchart/bootchart.jar ./bootchart.tgz
The result, bootchart.png, looks like this.
