| This version of init contains code to perform "bootcharting", i.e. generating log | |
| files that can be later processed by the tools provided by www.bootchart.org. | |
| To activate it, you need to define build 'init' with the INIT_BOOTCHART environment | |
| variable defined to 'true', for example: | |
| touch system/init/init.c | |
| m INIT_BOOTCHART=true | |
| On the emulator, use the new -bootchart <timeout> option to boot with bootcharting | |
| activated for <timeout> seconds. | |
| Otherwise, flash your device, and start it. Then create a file on the /data partition | |
| with a command like the following: | |
| adb shell 'echo $TIMEOUT > /data/bootchart-start' | |
| Where the value of $TIMEOUT corresponds to the wanted bootcharted period in seconds; | |
| for example, to bootchart for 2 minutes, do: | |
| adb shell 'echo 120 > /data/bootchart-start' | |
| Reboot your device, bootcharting will begin and stop after the period you gave. | |
| You can also stop the bootcharting at any moment by doing the following: | |
| adb shell 'echo 1 > /data/bootchart-stop' | |
| Note that /data/bootchart-stop is deleted automatically by init at the end of the | |
| bootcharting. This is not the case of /data/bootchart-start, so don't forget to delete it | |
| when you're done collecting data: | |
| adb shell rm /data/bootchart-start | |
| The log files are placed in /data/bootchart/. you must run the script tools/grab-bootchart.sh | |
| which will use ADB to retrieve them and create a bootchart.tgz file that can be used with | |
| the bootchart parser/renderer, or even uploaded directly to the form located at: | |
| http://www.bootchart.org/download.html | |
| NOTE: the bootchart.org webform doesn't seem to work at the moment, you can generate an | |
| image on your machine by doing the following: | |
| 1/ download the sources from www.bootchart.org | |
| 2/ unpack them | |
| 3/ in the source directory, type 'ant' to build the bootchart program | |
| 4/ type 'java -jar bootchart.jar /path/to/bootchart.tgz | |
| technical note: | |
| this implementation of bootcharting does use the 'bootchartd' script provided by | |
| www.bootchart.org, but a C re-implementation that is directly compiled into our init | |
| program. |