diff options
| author | Jamie Gennis <jgennis@google.com> | 2012-06-06 18:12:48 -0700 |
|---|---|---|
| committer | Jamie Gennis <jgennis@google.com> | 2012-06-08 14:26:29 -0700 |
| commit | 1279013dee790c84758e5fc5bed33b5c9df2af9b (patch) | |
| tree | 4fa97250b1edb75d88d29d722214c2d6606ebc8a /rootdir | |
| parent | 88f11846a621b148387aa09754bc939933793717 (diff) | |
| download | system_core-1279013dee790c84758e5fc5bed33b5c9df2af9b.tar.gz system_core-1279013dee790c84758e5fc5bed33b5c9df2af9b.tar.bz2 system_core-1279013dee790c84758e5fc5bed33b5c9df2af9b.zip | |
Enable tracing on user builds
This change adds init.rc steps to:
* allow kernel tracing to be enabled via adb
* allow a limited set of kernel trace events to be enabled via adb
* allow the kernel trace to be read via adb
* allow all users to write to the kernel trace from userland
Bug: 6513400
Change-Id: Ic3c189b5697aa5edf88d2f507c932971bed6caff
Diffstat (limited to 'rootdir')
| -rw-r--r-- | rootdir/init.rc | 6 | ||||
| -rw-r--r-- | rootdir/init.trace.rc | 31 |
2 files changed, 32 insertions, 5 deletions
diff --git a/rootdir/init.rc b/rootdir/init.rc index aa1bb92a..ef1dc3d6 100644 --- a/rootdir/init.rc +++ b/rootdir/init.rc @@ -6,6 +6,7 @@ import /init.${ro.hardware}.rc import /init.usb.rc +import /init.trace.rc on early-init # Set init and its forked children's oom_adj. @@ -367,10 +368,6 @@ service console /system/bin/sh on property:ro.debuggable=1 start console -# Allow writing to the kernel trace log. Enabling tracing still requires root. -on property:ro.debuggable=1 - chmod 0222 /sys/kernel/debug/tracing/trace_marker - # adbd is controlled via property triggers in init.<platform>.usb.rc service adbd /sbin/adbd class core @@ -505,4 +502,3 @@ service mdnsd /system/bin/mdnsd socket mdnsd stream 0660 mdnsr inet disabled oneshot - diff --git a/rootdir/init.trace.rc b/rootdir/init.trace.rc new file mode 100644 index 00000000..1d114f53 --- /dev/null +++ b/rootdir/init.trace.rc @@ -0,0 +1,31 @@ +## Permissions to allow system-wide tracing to the kernel trace buffer. +## +on boot + +# Allow writing to the kernel trace log. + chmod 0222 /sys/kernel/debug/tracing/trace_marker + +# Allow the shell group to enable (some) kernel tracing. + chown root shell /sys/kernel/debug/tracing/trace_clock + chown root shell /sys/kernel/debug/tracing/buffer_size_kb + chown root shell /sys/kernel/debug/tracing/options/overwrite + chown root shell /sys/kernel/debug/tracing/events/sched/sched_switch/enable + chown root shell /sys/kernel/debug/tracing/events/sched/sched_wakeup/enable + chown root shell /sys/kernel/debug/tracing/events/power/cpu_frequency/enable + chown root shell /sys/kernel/debug/tracing/events/power/cpu_idle/enable + chown root shell /sys/kernel/debug/tracing/events/cpufreq_interactive/enable + chown root shell /sys/kernel/debug/tracing/tracing_on + + chmod 0664 /sys/kernel/debug/tracing/trace_clock + chmod 0664 /sys/kernel/debug/tracing/buffer_size_kb + chmod 0664 /sys/kernel/debug/tracing/options/overwrite + chmod 0664 /sys/kernel/debug/tracing/events/sched/sched_switch/enable + chmod 0664 /sys/kernel/debug/tracing/events/sched/sched_wakeup/enable + chmod 0664 /sys/kernel/debug/tracing/events/power/cpu_frequency/enable + chmod 0664 /sys/kernel/debug/tracing/events/power/cpu_idle/enable + chmod 0664 /sys/kernel/debug/tracing/events/cpufreq_interactive/enable + chmod 0664 /sys/kernel/debug/tracing/tracing_on + +# Allow only the shell group to read and truncate the kernel trace. + chown root shell /sys/kernel/debug/tracing/trace + chmod 0660 /sys/kernel/debug/tracing/trace |
