Installing Powertop

From OMAPpedia

Jump to: navigation, search

Powertop is a useful tool for profiling the various C-states, frequencies, and wakeup sources of a device. Here are the instructions for installing Powertop onto ICS after downloading the source code and checkout:

Contents

[edit] In the kernel

cd $YOUR_PATH/kernel/android-3.0
make menuconfig

Under General setup->Kernel Performance Events and Counters, enable the option "Kernel performance events and counters"

[*] Kernel performance events and counters

Then Exit and save the config

Now build the kernel & kernel modules

make uImage
make modules

Building WLAN NOTE: If this step is skipped it may cause some runtime errors

cd $MYDROID/hardware/ti/wlan/mac80211/compat
export KERNEL_DIR=${YOUR_PATH}/kernel/android-3.0
export KLIB=${KERNEL_DIR}
export KLIB_BUILD=${KERNEL_DIR}
make ARCH=arm

[edit] In the filesystem

Download the source code for powertop

cd $MYDROID/external
git clone git://git.linaro.org/people/amitdanielk/library/libnl.git
cd libnl;git checkout -b libnl_android origin/libnl_android;cd ..
git clone git://git.linaro.org/people/amitdanielk/library/ncurses.git
cd ncurses;git checkout -b linaro origin/linaro;cd ..
git clone git://git.linaro.org/tools/powertop.git
cd powertop;git checkout -b linaro origin/linaro;cd ..

Modify the main makefile

cd $MYDROID
vim build/core/main.mk

Add these three lines to subdirs :=\

external/libnl \
external/ncurses \
external/powertop \

Build the filesystem

source ./build/envsetup.sh
lunch full_blaze-userdebug   #for Blaze
        -or-
lunch blaze_tablet-userdebug #for Blaze Tablet
make

Copy binaries to your system folder

cd $MYDROID
cp out/target/product/generic/system/lib/libnl.so out/target/product/blaze_tablet/system/lib  #for Blaze
cp out/target/product/generic/system/bin/powertop out/target/product/blaze_tablet/system/bin  #for Blaze
       -or-
cp out/target/product/blaze_tablet/symbols/system/lib/libnl.so out/target/product/blaze_tablet/system/lib  #for Blaze Tablet
cp out/target/product/blaze_tablet/symbols/system/bin/powertop out/target/product/blaze_tablet/system/bin  #for Blaze Tablet


Follow the normal instructions for preparing android binaries

[edit] In myfs

Modify the init.rc file

vim init.rc

Make a small change to init.rc file

service console /system/bin/sh
        class core
        console
        disabled
#       user shell
        group log

[edit] Installing during runtime using adb

Boot the system and insert the musb cable

On the computer terminal

cd $MYDROID/out/host/linux-x86/bin
./adb root
./adb remount
./adb shell mkdir /system/etc/terminfo
./adb push $MYDROID/external/ncurses/lib/terminfo /system/etc/terminfo/
./adb push $MYDROID/out/target/product/generic/system/lib/libnl.so /system/lib/
./adb push $MYDROID/out/target/product/generic/system/bin/powertop /system/bin/
./adb shell sync

[edit] Running Powertop

On the blaze terminal

TERM=linux
TERMINFO=/system/etc/terminfo
powertop

Now powertop will be up and running.

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox