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
This commit is contained in:
Jamie Gennis 2012-06-06 18:12:48 -07:00
parent 88f11846a6
commit 1279013dee
2 changed files with 32 additions and 5 deletions

View File

@ -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

31
rootdir/init.trace.rc Normal file
View File

@ -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