aboutsummaryrefslogtreecommitdiffstats
path: root/rootdir
diff options
context:
space:
mode:
authorJamie Gennis <jgennis@google.com>2012-06-12 13:05:49 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-06-12 13:05:49 -0700
commitc06be8a15d8d89bcc8ac505b25b5e828e90a5be6 (patch)
tree65d210c1b8bfbbe8c3534a14f44f36f9d3953b5c /rootdir
parent60f3d65c831a40897a942513147039eef20d2149 (diff)
parent1e96e16f81ce46adf5329b1db4662b53b927d4e2 (diff)
downloadsystem_core-c06be8a15d8d89bcc8ac505b25b5e828e90a5be6.tar.gz
system_core-c06be8a15d8d89bcc8ac505b25b5e828e90a5be6.tar.bz2
system_core-c06be8a15d8d89bcc8ac505b25b5e828e90a5be6.zip
am 1e96e16f: am 0f3974c3: Merge "Enable tracing on user builds" into jb-dev
* commit '1e96e16f81ce46adf5329b1db4662b53b927d4e2': Enable tracing on user builds
Diffstat (limited to 'rootdir')
-rw-r--r--rootdir/init.rc6
-rw-r--r--rootdir/init.trace.rc31
2 files changed, 32 insertions, 5 deletions
diff --git a/rootdir/init.rc b/rootdir/init.rc
index 7fb50a30..24200d05 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.
@@ -354,10 +355,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
@@ -492,4 +489,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