blob: 0367dc35d4c2cf0beec5b2424196b2fc563a7b14 [file] [log] [blame]
Nick Kralevichf3ef1272012-03-14 15:22:54 -07001# Copyright (C) 2012 The Android Open Source Project
2#
3# IMPORTANT: Do not create world writable files or directories.
4# This is a common source of Android security bugs.
5#
6
Mike Lockwood4f5d5172012-04-04 11:26:59 -07007import /init.usb.rc
Mike Lockwood35ea5e42012-08-28 10:25:13 -07008import /init.${ro.hardware}.rc
Todd Poynorf1c50bf2012-09-20 20:10:53 -07009import /init.trace.rc
Dima Zavin7634bf82011-12-16 14:23:22 -080010
Colin Crossf83d0b92010-04-21 12:04:20 -070011on early-init
Dima Zavin4a253902011-11-04 12:45:52 -070012 # Set init and its forked children's oom_adj.
13 write /proc/1/oom_adj -16
14
Stephen Smalley1eee4192012-01-13 08:54:34 -050015 # Set the security context for the init process.
16 # This should occur before anything else (e.g. ueventd) is started.
17 setcon u:r:init:s0
18
Stephen Smalleydeb41e52013-10-01 09:21:47 -040019 # Set the security context of /adb_keys if present.
20 restorecon /adb_keys
21
Colin Crossf83d0b92010-04-21 12:04:20 -070022 start ueventd
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -080023
Mike Lockwooda2dffa92010-06-15 20:57:59 -070024# create mountpoints
25 mkdir /mnt 0775 root system
26
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -080027on init
28
29sysclktz 0
30
31loglevel 3
32
33# setup the global environment
Brian Swetland02863b92010-09-19 03:36:39 -070034 export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
35 export LD_LIBRARY_PATH /vendor/lib:/system/lib
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -080036 export ANDROID_BOOTLOGO 1
37 export ANDROID_ROOT /system
38 export ANDROID_ASSETS /system/app
39 export ANDROID_DATA /data
Jeff Sharkeybfcd8102012-08-22 13:57:25 -070040 export ANDROID_STORAGE /storage
San Mehata9db22f2010-02-24 10:17:32 -080041 export ASEC_MOUNTPOINT /mnt/asec
Kenny Rootc7858a32010-07-15 12:14:44 -070042 export LOOP_MOUNTPOINT /mnt/obb
Kenny Rootd14586e2013-04-29 23:20:37 -070043 export BOOTCLASSPATH /system/framework/core.jar:/system/framework/conscrypt.jar:/system/framework/okhttp.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -080044
45# Backward compatibility
46 symlink /system/etc /etc
Brian Swetlandbb6f68c2009-09-18 15:31:23 -070047 symlink /sys/kernel/debug /d
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -080048
Brian Swetland02863b92010-09-19 03:36:39 -070049# Right now vendor lives on the same filesystem as system,
50# but someday that may change.
51 symlink /system/vendor /vendor
San Mehat6ea3cc62010-02-19 18:25:22 -080052
Mike Chan89f235c2010-03-01 11:36:10 -080053# Create cgroup mount point for cpu accounting
54 mkdir /acct
55 mount cgroup none /acct cpuacct
56 mkdir /acct/uid
57
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -080058 mkdir /system
59 mkdir /data 0771 system system
60 mkdir /cache 0770 system cache
Dmitry Shmidt720f08f2009-06-09 14:38:56 -070061 mkdir /config 0500 root root
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -080062
Jeff Sharkeybfcd8102012-08-22 13:57:25 -070063 # See storage config details at http://source.android.com/tech/storage/
Jeff Sharkey5dd0f862012-08-17 16:01:16 -070064 mkdir /mnt/shell 0700 shell shell
Jeff Sharkeybfcd8102012-08-22 13:57:25 -070065 mkdir /storage 0050 root sdcard_r
Jeff Sharkey5dd0f862012-08-17 16:01:16 -070066
San Mehat6ea3cc62010-02-19 18:25:22 -080067 # Directory for putting things only root should see.
68 mkdir /mnt/secure 0700 root root
Jeff Sharkey58d39802012-09-06 14:15:46 -070069 # Create private mountpoint so we can MS_MOVE from staging
70 mount tmpfs tmpfs /mnt/secure mode=0700,uid=0,gid=0
San Mehat6ea3cc62010-02-19 18:25:22 -080071
72 # Directory for staging bindmounts
73 mkdir /mnt/secure/staging 0700 root root
74
75 # Directory-target for where the secure container
76 # imagefile directory will be bind-mounted
77 mkdir /mnt/secure/asec 0700 root root
78
79 # Secure container public mount points.
80 mkdir /mnt/asec 0700 root system
81 mount tmpfs tmpfs /mnt/asec mode=0755,gid=1000
San Mehat900570e2010-01-06 10:38:49 -080082
Kenny Rootc7858a32010-07-15 12:14:44 -070083 # Filesystem image public mount points.
84 mkdir /mnt/obb 0700 root system
85 mount tmpfs tmpfs /mnt/obb mode=0755,gid=1000
86
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -080087 write /proc/sys/kernel/panic_on_oops 1
88 write /proc/sys/kernel/hung_task_timeout_secs 0
89 write /proc/cpu/alignment 4
90 write /proc/sys/kernel/sched_latency_ns 10000000
91 write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000
San Mehat4322f2d2009-06-29 08:47:43 -070092 write /proc/sys/kernel/sched_compat_yield 1
San Mehat7baff712009-09-16 13:32:23 -070093 write /proc/sys/kernel/sched_child_runs_first 0
Nick Kralevichd707fb32011-10-06 11:47:11 -070094 write /proc/sys/kernel/randomize_va_space 2
Nick Kralevich2e7c8332011-11-02 08:51:37 -070095 write /proc/sys/kernel/kptr_restrict 2
Nick Kralevichf9557fb2011-11-08 14:38:53 -080096 write /proc/sys/kernel/dmesg_restrict 1
Nick Kralevich27cca212011-12-05 14:48:08 -080097 write /proc/sys/vm/mmap_min_addr 32768
Nick Kralevichbe341cc2013-02-21 18:36:43 -080098 write /proc/sys/net/ipv4/ping_group_range "0 2147483647"
Glenn Kastenb91bd9f2012-04-19 16:18:37 -070099 write /proc/sys/kernel/sched_rt_runtime_us 950000
100 write /proc/sys/kernel/sched_rt_period_us 1000000
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800101
San Mehat529520e2009-10-06 11:22:55 -0700102# Create cgroup mount points for process groups
103 mkdir /dev/cpuctl
San Mehatb91bf4b2010-02-27 08:20:11 -0800104 mount cgroup none /dev/cpuctl cpu
San Mehat92175e02010-01-17 12:21:42 -0800105 chown system system /dev/cpuctl
San Mehat529520e2009-10-06 11:22:55 -0700106 chown system system /dev/cpuctl/tasks
Glenn Kastenb91bd9f2012-04-19 16:18:37 -0700107 chmod 0660 /dev/cpuctl/tasks
San Mehat529520e2009-10-06 11:22:55 -0700108 write /dev/cpuctl/cpu.shares 1024
Glenn Kastenb91bd9f2012-04-19 16:18:37 -0700109 write /dev/cpuctl/cpu.rt_runtime_us 950000
110 write /dev/cpuctl/cpu.rt_period_us 1000000
San Mehat529520e2009-10-06 11:22:55 -0700111
Dima Zavindf44b882012-06-04 10:45:15 -0700112 mkdir /dev/cpuctl/apps
113 chown system system /dev/cpuctl/apps/tasks
114 chmod 0666 /dev/cpuctl/apps/tasks
115 write /dev/cpuctl/apps/cpu.shares 1024
Dima Zavin5f2d00b2012-06-04 13:15:01 -0700116 write /dev/cpuctl/apps/cpu.rt_runtime_us 800000
Dima Zavindf44b882012-06-04 10:45:15 -0700117 write /dev/cpuctl/apps/cpu.rt_period_us 1000000
San Mehat529520e2009-10-06 11:22:55 -0700118
Dima Zavindf44b882012-06-04 10:45:15 -0700119 mkdir /dev/cpuctl/apps/bg_non_interactive
120 chown system system /dev/cpuctl/apps/bg_non_interactive/tasks
121 chmod 0666 /dev/cpuctl/apps/bg_non_interactive/tasks
San Mehat529520e2009-10-06 11:22:55 -0700122 # 5.0 %
Dima Zavindf44b882012-06-04 10:45:15 -0700123 write /dev/cpuctl/apps/bg_non_interactive/cpu.shares 52
Dima Zavin5f2d00b2012-06-04 13:15:01 -0700124 write /dev/cpuctl/apps/bg_non_interactive/cpu.rt_runtime_us 700000
Dima Zavindf44b882012-06-04 10:45:15 -0700125 write /dev/cpuctl/apps/bg_non_interactive/cpu.rt_period_us 1000000
Glenn Kastenb91bd9f2012-04-19 16:18:37 -0700126
JP Abgrall3e54aab2013-01-04 14:34:58 -0800127# qtaguid will limit access to specific data based on group memberships.
128# net_bw_acct grants impersonation of socket owners.
129# net_bw_stats grants access to other apps' detailed tagged-socket stats.
130 chown root net_bw_acct /proc/net/xt_qtaguid/ctrl
131 chown root net_bw_stats /proc/net/xt_qtaguid/stats
132
JP Abgrall8e3ff702011-09-11 16:12:27 -0700133# Allow everybody to read the xt_qtaguid resource tracking misc dev.
134# This is needed by any process that uses socket tagging.
135 chmod 0644 /dev/xt_qtaguid
136
Colin Cross31712be2010-04-09 12:26:06 -0700137on post-fs
Brian Swetland56de7a12010-09-08 15:06:45 -0700138 # once everything is setup, no need to modify /
139 mount rootfs rootfs / ro remount
Jeff Sharkey885342a2012-08-14 21:00:22 -0700140 # mount shared so changes propagate into child namespaces
141 mount rootfs rootfs / shared rec
Jeff Sharkey58d39802012-09-06 14:15:46 -0700142 mount tmpfs tmpfs /mnt/secure private rec
Brian Swetland56de7a12010-09-08 15:06:45 -0700143
Ken Sumrall752923c2010-12-03 16:33:31 -0800144 # We chown/chmod /cache again so because mount is run as root + defaults
145 chown system cache /cache
146 chmod 0770 /cache
Stephen Smalley1eee4192012-01-13 08:54:34 -0500147 # We restorecon /cache in case the cache partition has been reset.
148 restorecon /cache
Ken Sumrall752923c2010-12-03 16:33:31 -0800149
150 # This may have been created by the recovery system with odd permissions
151 chown system cache /cache/recovery
152 chmod 0770 /cache/recovery
Stephen Smalley1eee4192012-01-13 08:54:34 -0500153 # This may have been created by the recovery system with the wrong context.
154 restorecon /cache/recovery
Ken Sumrall752923c2010-12-03 16:33:31 -0800155
156 #change permissions on vmallocinfo so we can grab it from bugreports
157 chown root log /proc/vmallocinfo
158 chmod 0440 /proc/vmallocinfo
159
Dima Zavin94812662012-09-25 14:22:02 -0700160 chown root log /proc/slabinfo
161 chmod 0440 /proc/slabinfo
162
Ken Sumrall752923c2010-12-03 16:33:31 -0800163 #change permissions on kmsg & sysrq-trigger so bugreports can grab kthread stacks
164 chown root system /proc/kmsg
165 chmod 0440 /proc/kmsg
166 chown root system /proc/sysrq-trigger
167 chmod 0220 /proc/sysrq-trigger
Colin Crossb35e36e2012-08-02 18:14:33 -0700168 chown system log /proc/last_kmsg
169 chmod 0440 /proc/last_kmsg
Ken Sumrall752923c2010-12-03 16:33:31 -0800170
171 # create the lost+found directories, so as to enforce our permissions
Chia-chi Yehea744142011-07-08 16:52:18 -0700172 mkdir /cache/lost+found 0770 root root
Ken Sumrall752923c2010-12-03 16:33:31 -0800173
174on post-fs-data
Colin Cross31712be2010-04-09 12:26:06 -0700175 # We chown/chmod /data again so because mount is run as root + defaults
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800176 chown system system /data
177 chmod 0771 /data
Stephen Smalley1eee4192012-01-13 08:54:34 -0500178 # We restorecon /data in case the userdata partition has been reset.
179 restorecon /data
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800180
San Mehatf26d6ce2009-09-01 09:11:04 -0700181 # Create dump dir and collect dumps.
182 # Do this before we mount cache so eventually we can use cache for
183 # storing dumps on platforms which do not have a dedicated dump partition.
Chia-chi Yehea744142011-07-08 16:52:18 -0700184 mkdir /data/dontpanic 0750 root log
San Mehatf26d6ce2009-09-01 09:11:04 -0700185
186 # Collect apanic data, free resources and re-arm trigger
187 copy /proc/apanic_console /data/dontpanic/apanic_console
Mike Lockwood25f1a5a2009-09-11 17:13:28 -0400188 chown root log /data/dontpanic/apanic_console
Mike Lockwood93324822009-09-08 22:55:59 -0400189 chmod 0640 /data/dontpanic/apanic_console
San Mehat020f35f2009-09-01 15:38:18 -0700190
San Mehatf26d6ce2009-09-01 09:11:04 -0700191 copy /proc/apanic_threads /data/dontpanic/apanic_threads
Mike Lockwood25f1a5a2009-09-11 17:13:28 -0400192 chown root log /data/dontpanic/apanic_threads
Mike Lockwood93324822009-09-08 22:55:59 -0400193 chmod 0640 /data/dontpanic/apanic_threads
San Mehat020f35f2009-09-01 15:38:18 -0700194
San Mehatf26d6ce2009-09-01 09:11:04 -0700195 write /proc/apanic_console 1
196
Ken Sumrall752923c2010-12-03 16:33:31 -0800197 # create basic filesystem structure
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800198 mkdir /data/misc 01771 system misc
Benoit Goby0245e152012-05-09 17:27:53 -0700199 mkdir /data/misc/adb 02750 system shell
Matthew Xie971153a2012-10-04 12:35:27 -0700200 mkdir /data/misc/bluedroid 0770 bluetooth net_bt_stack
Jaikumar Ganesheafdd862010-01-07 20:24:55 -0800201 mkdir /data/misc/bluetooth 0770 system system
Chia-chi Yeh9b4f1ff2009-09-18 10:35:26 +0800202 mkdir /data/misc/keystore 0700 keystore keystore
Brian Carlstrom04918932011-06-30 22:50:29 -0700203 mkdir /data/misc/keychain 0771 system system
Robert Greenwaltd6d47802012-09-26 16:04:27 -0700204 mkdir /data/misc/sms 0770 system radio
Elliott Hughesf820e852012-10-19 18:10:05 -0700205 mkdir /data/misc/zoneinfo 0775 system system
Chia-chi Yeh9bb4d412011-07-08 20:03:03 -0700206 mkdir /data/misc/vpn 0770 system vpn
Oscar Montemayord0aa32c2010-01-06 13:18:12 -0800207 mkdir /data/misc/systemkeys 0700 system system
Mike Lockwood48d116e2009-07-08 18:42:08 -0400208 # give system access to wpa_supplicant.conf for backup and restore
209 mkdir /data/misc/wifi 0770 wifi wifi
Amith Yamasanieefef322009-07-02 12:08:13 -0700210 chmod 0660 /data/misc/wifi/wpa_supplicant.conf
Chia-chi Yeh5ebced32012-03-07 14:52:10 -0800211 mkdir /data/local 0751 root root
Glenn Kastenb0f908a2013-02-22 14:54:45 -0800212 mkdir /data/misc/media 0700 media media
Nick Kralevichf3ef1272012-03-14 15:22:54 -0700213
Stephen Smalleydeb41e52013-10-01 09:21:47 -0400214 # Set security context of any pre-existing /data/misc/adb/adb_keys file.
215 restorecon /data/misc/adb
216 restorecon /data/misc/adb/adb_keys
217
Nick Kralevichf3ef1272012-03-14 15:22:54 -0700218 # For security reasons, /data/local/tmp should always be empty.
219 # Do not place files or directories in /data/local/tmp
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800220 mkdir /data/local/tmp 0771 shell shell
221 mkdir /data/data 0771 system system
222 mkdir /data/app-private 0771 system system
Kenny Rootf8bbaba2012-04-12 15:01:52 -0700223 mkdir /data/app-asec 0700 root root
Kenny Root50544172012-09-08 22:39:25 -0700224 mkdir /data/app-lib 0771 system system
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800225 mkdir /data/app 0771 system system
226 mkdir /data/property 0700 root root
Mike Lockwood9dd2eef2011-12-11 20:25:16 -0800227 mkdir /data/ssh 0750 root shell
228 mkdir /data/ssh/empty 0700 root root
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800229
Chia-chi Yehea744142011-07-08 16:52:18 -0700230 # create dalvik-cache, so as to enforce our permissions
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800231 mkdir /data/dalvik-cache 0771 system system
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800232
MÃ¥rten Kongstadb45280d2011-05-30 10:24:54 +0200233 # create resource-cache and double-check the perms
234 mkdir /data/resource-cache 0771 system system
235 chown system system /data/resource-cache
236 chmod 0771 /data/resource-cache
237
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800238 # create the lost+found directories, so as to enforce our permissions
Chia-chi Yehea744142011-07-08 16:52:18 -0700239 mkdir /data/lost+found 0770 root root
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800240
James Dong09cdc0e2012-01-06 15:19:26 -0800241 # create directory for DRM plug-ins - give drm the read/write access to
242 # the following directory.
243 mkdir /data/drm 0770 drm drm
aimitakeshie572d592010-07-27 08:38:35 +0900244
Jeff Tinker08d64302013-04-23 19:54:17 -0700245 # create directory for MediaDrm plug-ins - give drm the read/write access to
246 # the following directory.
247 mkdir /data/mediadrm 0770 mediadrm mediadrm
248
Jeff Sharkeyfb4f7ac2013-03-14 14:27:38 -0700249 # symlink to bugreport storage location
250 symlink /data/data/com.android.shell/files/bugreports /data/bugreports
251
William Robertsbfd71b42013-01-23 14:05:04 -0800252 # Separate location for storing security policy files on data
William Robertsd43bab72013-04-15 13:56:22 -0700253 mkdir /data/security 0711 system system
William Robertsbfd71b42013-01-23 14:05:04 -0800254
Stephen Smalley6552f682013-08-26 10:45:05 -0400255 # Reload policy from /data/security if present.
256 setprop selinux.reload_policy 1
257
Ken Sumrall752923c2010-12-03 16:33:31 -0800258 # If there is no fs-post-data action in the init.<device>.rc file, you
259 # must uncomment this line, otherwise encrypted filesystems
260 # won't work.
261 # Set indication (checked by vold) that we have finished this action
262 #setprop vold.post_fs_data_done 1
263
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800264on boot
265# basic network init
266 ifup lo
267 hostname localhost
268 domainname localdomain
269
270# set RLIMIT_NICE to allow priorities from 19 to -20
271 setrlimit 13 40 40
272
Dianne Hackborn06787f42011-08-07 16:30:24 -0700273# Memory management. Basic kernel parameters, and allow the high
274# level system server to be able to adjust the kernel OOM driver
Glenn Kastenb91bd9f2012-04-19 16:18:37 -0700275# parameters to match how it is managing things.
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800276 write /proc/sys/vm/overcommit_memory 1
The Android Open Source Projecte037fd72009-03-13 13:04:37 -0700277 write /proc/sys/vm/min_free_order_shift 4
Dianne Hackborn06787f42011-08-07 16:30:24 -0700278 chown root system /sys/module/lowmemorykiller/parameters/adj
279 chmod 0664 /sys/module/lowmemorykiller/parameters/adj
280 chown root system /sys/module/lowmemorykiller/parameters/minfree
281 chmod 0664 /sys/module/lowmemorykiller/parameters/minfree
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800282
San Mehat831d8e12009-10-13 12:24:47 -0700283 # Tweak background writeout
284 write /proc/sys/vm/dirty_expire_centisecs 200
285 write /proc/sys/vm/dirty_background_ratio 5
286
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800287 # Permissions for System Server and daemons.
288 chown radio system /sys/android_power/state
289 chown radio system /sys/android_power/request_state
290 chown radio system /sys/android_power/acquire_full_wake_lock
291 chown radio system /sys/android_power/acquire_partial_wake_lock
292 chown radio system /sys/android_power/release_wake_lock
Arve Hjønnevåg70a163f2012-05-02 17:57:50 -0700293 chown system system /sys/power/autosleep
Arve Hjønnevåg1670f832012-03-20 20:33:09 -0700294 chown system system /sys/power/state
295 chown system system /sys/power/wakeup_count
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800296 chown radio system /sys/power/wake_lock
297 chown radio system /sys/power/wake_unlock
298 chmod 0660 /sys/power/state
299 chmod 0660 /sys/power/wake_lock
300 chmod 0660 /sys/power/wake_unlock
Todd Poynor0653b972012-04-11 14:48:51 -0700301
302 chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_rate
303 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_rate
Todd Poynor2b5b3bb2012-12-20 18:52:03 -0800304 chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_slack
305 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_slack
Todd Poynor0653b972012-04-11 14:48:51 -0700306 chown system system /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
307 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
308 chown system system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
309 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
Todd Poynor2b5b3bb2012-12-20 18:52:03 -0800310 chown system system /sys/devices/system/cpu/cpufreq/interactive/target_loads
311 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/target_loads
Todd Poynor0653b972012-04-11 14:48:51 -0700312 chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
313 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
Todd Poynorf35c2032012-04-19 13:17:24 -0700314 chown system system /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
315 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
Todd Poynor8d3ea1d2012-04-24 15:37:13 -0700316 chown system system /sys/devices/system/cpu/cpufreq/interactive/boost
317 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost
Todd Poynor4ff10e62012-05-03 15:20:48 -0700318 chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse
Todd Poynor33045a62012-04-27 20:21:18 -0700319 chown system system /sys/devices/system/cpu/cpufreq/interactive/input_boost
320 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/input_boost
Todd Poynor4f247d72012-12-19 17:43:06 -0800321 chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
322 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
Todd Poynor6b5de1c2013-03-25 13:17:13 -0700323 chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
324 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
Todd Poynor0653b972012-04-11 14:48:51 -0700325
326 # Assume SMP uses shared cpufreq policy for all CPUs
327 chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
328 chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
329
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800330 chown system system /sys/class/timed_output/vibrator/enable
331 chown system system /sys/class/leds/keyboard-backlight/brightness
332 chown system system /sys/class/leds/lcd-backlight/brightness
333 chown system system /sys/class/leds/button-backlight/brightness
The Android Open Source Projectf614d642009-03-18 17:39:49 -0700334 chown system system /sys/class/leds/jogball-backlight/brightness
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800335 chown system system /sys/class/leds/red/brightness
336 chown system system /sys/class/leds/green/brightness
337 chown system system /sys/class/leds/blue/brightness
338 chown system system /sys/class/leds/red/device/grpfreq
339 chown system system /sys/class/leds/red/device/grppwm
340 chown system system /sys/class/leds/red/device/blink
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800341 chown system system /sys/class/timed_output/vibrator/enable
342 chown system system /sys/module/sco/parameters/disable_esco
343 chown system system /sys/kernel/ipv4/tcp_wmem_min
344 chown system system /sys/kernel/ipv4/tcp_wmem_def
345 chown system system /sys/kernel/ipv4/tcp_wmem_max
346 chown system system /sys/kernel/ipv4/tcp_rmem_min
347 chown system system /sys/kernel/ipv4/tcp_rmem_def
348 chown system system /sys/kernel/ipv4/tcp_rmem_max
349 chown root radio /proc/cmdline
350
Geremy Condrac2594f32013-03-30 17:27:43 -0700351# Set these so we can remotely update SELinux policy
Geremy Condrac2594f32013-03-30 17:27:43 -0700352 chown system system /sys/fs/selinux/enforce
353
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800354# Define TCP buffer sizes for various networks
355# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
Jianzheng Zhou52ea5102013-11-15 13:44:00 +0800356 setprop net.tcp.buffersize.default 4096,87380,110208,4096,16384,110208
357 setprop net.tcp.buffersize.wifi 524288,1048576,2097152,262144,524288,1048576
358 setprop net.tcp.buffersize.ethernet 524288,1048576,3145728,524288,1048576,2097152
359 setprop net.tcp.buffersize.lte 524288,1048576,2097152,262144,524288,1048576
360 setprop net.tcp.buffersize.umts 4094,87380,110208,4096,16384,110208
361 setprop net.tcp.buffersize.hspa 4094,87380,262144,4096,16384,262144
362 setprop net.tcp.buffersize.hsupa 4094,87380,262144,4096,16384,262144
363 setprop net.tcp.buffersize.hsdpa 4094,87380,262144,4096,16384,262144
364 setprop net.tcp.buffersize.hspap 4094,87380,1220608,4096,16384,1220608
365 setprop net.tcp.buffersize.edge 4093,26280,35040,4096,16384,35040
366 setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680
367 setprop net.tcp.buffersize.evdo 4094,87380,262144,4096,16384,262144
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800368
Mathias Agopiana40481b2011-03-03 18:48:30 -0800369# Set this property so surfaceflinger is not started by system_init
370 setprop system_init.startsurfaceflinger 0
371
Ken Sumrall752923c2010-12-03 16:33:31 -0800372 class_start core
373 class_start main
374
375on nonencrypted
376 class_start late_start
377
Dima Zavinca47cef2011-08-24 15:28:23 -0700378on charger
379 class_start charger
380
Ken Sumrall752923c2010-12-03 16:33:31 -0800381on property:vold.decrypt=trigger_reset_main
382 class_reset main
383
Ken Sumrallc5c51032011-03-08 17:01:29 -0800384on property:vold.decrypt=trigger_load_persist_props
385 load_persist_props
386
Ken Sumrall752923c2010-12-03 16:33:31 -0800387on property:vold.decrypt=trigger_post_fs_data
388 trigger post-fs-data
389
Ken Sumralle4349152011-01-17 14:26:34 -0800390on property:vold.decrypt=trigger_restart_min_framework
391 class_start main
392
Ken Sumrall752923c2010-12-03 16:33:31 -0800393on property:vold.decrypt=trigger_restart_framework
394 class_start main
395 class_start late_start
396
397on property:vold.decrypt=trigger_shutdown_framework
398 class_reset late_start
399 class_reset main
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800400
401## Daemon processes to be run by init.
402##
Colin Crossf83d0b92010-04-21 12:04:20 -0700403service ueventd /sbin/ueventd
Ken Sumrall752923c2010-12-03 16:33:31 -0800404 class core
Colin Crossf83d0b92010-04-21 12:04:20 -0700405 critical
Stephen Smalley1eee4192012-01-13 08:54:34 -0500406 seclabel u:r:ueventd:s0
Colin Crossf83d0b92010-04-21 12:04:20 -0700407
Brian Swetlandb4d65392010-10-27 15:40:23 -0700408service console /system/bin/sh
Ken Sumrall752923c2010-12-03 16:33:31 -0800409 class core
Brian Swetlandb4d65392010-10-27 15:40:23 -0700410 console
411 disabled
412 user shell
413 group log
414
Mike Lockwoodd49b4ef2010-11-19 09:12:27 -0500415on property:ro.debuggable=1
Brian Swetlandb4d65392010-10-27 15:40:23 -0700416 start console
417
Mike Lockwood352dfdf2011-06-08 17:40:00 -0700418# adbd is controlled via property triggers in init.<platform>.usb.rc
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800419service adbd /sbin/adbd
Ken Sumrall752923c2010-12-03 16:33:31 -0800420 class core
Benoit Goby0574d6b2012-04-24 15:07:12 -0700421 socket adbd stream 660 system system
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800422 disabled
Stephen Smalley1eee4192012-01-13 08:54:34 -0500423 seclabel u:r:adbd:s0
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800424
425# adbd on at boot in emulator
426on property:ro.kernel.qemu=1
427 start adbd
428
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800429service servicemanager /system/bin/servicemanager
Ken Sumrall752923c2010-12-03 16:33:31 -0800430 class core
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800431 user system
Nick Kralevich333f24b2010-12-10 14:10:16 -0800432 group system
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800433 critical
434 onrestart restart zygote
435 onrestart restart media
Mathias Agopian04a87592011-10-31 14:27:36 -0700436 onrestart restart surfaceflinger
437 onrestart restart drm
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800438
The Android Open Source Projecte4749f32009-03-09 11:52:15 -0700439service vold /system/bin/vold
Ken Sumrall752923c2010-12-03 16:33:31 -0800440 class core
The Android Open Source Projecte4749f32009-03-09 11:52:15 -0700441 socket vold stream 0660 root mount
San Mehatf0cb74e2010-02-26 10:01:14 -0800442 ioprio be 2
The Android Open Source Projecte4749f32009-03-09 11:52:15 -0700443
San Mehat192277c2010-01-15 07:48:35 -0800444service netd /system/bin/netd
Ken Sumrall752923c2010-12-03 16:33:31 -0800445 class main
San Mehat192277c2010-01-15 07:48:35 -0800446 socket netd stream 0660 root system
Brad Fitzpatrick8c5669f2010-10-27 10:23:16 -0700447 socket dnsproxyd stream 0660 root inet
Robert Greenwalt1d91fcf2012-03-27 16:59:27 -0700448 socket mdns stream 0660 root system
San Mehat192277c2010-01-15 07:48:35 -0800449
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800450service debuggerd /system/bin/debuggerd
Ken Sumrall752923c2010-12-03 16:33:31 -0800451 class main
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800452
453service ril-daemon /system/bin/rild
vidya rao04cf6292011-06-24 12:15:20 -0700454 class main
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800455 socket rild stream 660 root radio
456 socket rild-debug stream 660 radio system
457 user root
Jeff Sharkey61f13592012-08-20 14:31:47 -0700458 group radio cache inet misc audio log
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800459
Mathias Agopiana40481b2011-03-03 18:48:30 -0800460service surfaceflinger /system/bin/surfaceflinger
461 class main
462 user system
Dima Zavinece565c2012-10-04 17:02:26 -0700463 group graphics drmrpc
Mathias Agopiana40481b2011-03-03 18:48:30 -0800464 onrestart restart zygote
465
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800466service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server
Ken Sumrall752923c2010-12-03 16:33:31 -0800467 class main
Nick Kraleviche7fd9112012-01-27 13:06:53 -0800468 socket zygote stream 660 root system
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800469 onrestart write /sys/android_power/request_state wake
470 onrestart write /sys/power/state on
Dan Bornstein1dec5032009-10-09 14:24:51 -0700471 onrestart restart media
Brad Fitzpatrick64902572010-09-21 15:49:06 -0700472 onrestart restart netd
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800473
aimitakeshie572d592010-07-27 08:38:35 +0900474service drm /system/bin/drmserver
Ken Sumrall752923c2010-12-03 16:33:31 -0800475 class main
aimitakeshie572d592010-07-27 08:38:35 +0900476 user drm
Jeff Sharkey61f13592012-08-20 14:31:47 -0700477 group drm system inet drmrpc
aimitakeshie572d592010-07-27 08:38:35 +0900478
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800479service media /system/bin/mediaserver
Ken Sumrall752923c2010-12-03 16:33:31 -0800480 class main
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800481 user media
Jeff Tinker08d64302013-04-23 19:54:17 -0700482 group audio camera inet net_bt net_bt_admin net_bw_acct drmrpc mediadrm
San Mehatf0cb74e2010-02-26 10:01:14 -0800483 ioprio rt 4
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800484
Mathias Agopian8b2cf9f2009-05-20 18:09:51 -0700485service bootanim /system/bin/bootanimation
Ken Sumrall752923c2010-12-03 16:33:31 -0800486 class main
Mathias Agopian8b2cf9f2009-05-20 18:09:51 -0700487 user graphics
488 group graphics
489 disabled
490 oneshot
491
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800492service installd /system/bin/installd
Ken Sumrall752923c2010-12-03 16:33:31 -0800493 class main
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800494 socket installd stream 600 system system
495
Doug Zongkerd52f54c2009-07-23 15:18:34 -0700496service flash_recovery /system/etc/install-recovery.sh
Ken Sumrall752923c2010-12-03 16:33:31 -0800497 class main
The Android Open Source Projectdd7bc332009-03-03 19:32:55 -0800498 oneshot
Chung-yih Wang1f75d702009-06-01 19:04:05 +0800499
Chia-chi Yeh51afbf52009-07-01 07:06:47 +0800500service racoon /system/bin/racoon
Ken Sumrall752923c2010-12-03 16:33:31 -0800501 class main
Chung-yih Wang1f75d702009-06-01 19:04:05 +0800502 socket racoon stream 600 system system
Chia-chi Yeh9bb4d412011-07-08 20:03:03 -0700503 # IKE uses UDP port 500. Racoon will setuid to vpn after binding the port.
Chia-chi Yeha2468712011-08-08 10:11:40 -0700504 group vpn net_admin inet
Chung-yih Wang1f75d702009-06-01 19:04:05 +0800505 disabled
506 oneshot
507
508service mtpd /system/bin/mtpd
Ken Sumrall752923c2010-12-03 16:33:31 -0800509 class main
Chung-yih Wang1f75d702009-06-01 19:04:05 +0800510 socket mtpd stream 600 system system
Chia-chi Yeh51afbf52009-07-01 07:06:47 +0800511 user vpn
Chia-chi Yeha2468712011-08-08 10:11:40 -0700512 group vpn net_admin inet net_raw
Chung-yih Wang1f75d702009-06-01 19:04:05 +0800513 disabled
514 oneshot
515
Chia-chi Yeh9b4f1ff2009-09-18 10:35:26 +0800516service keystore /system/bin/keystore /data/misc/keystore
Ken Sumrall752923c2010-12-03 16:33:31 -0800517 class main
Chung-yih Wang1f75d702009-06-01 19:04:05 +0800518 user keystore
Kenny Rootad5b9c72012-02-23 16:31:10 -0800519 group keystore drmrpc
Chung-yih Wang1f75d702009-06-01 19:04:05 +0800520
Mike Lockwoodabe3a9c2009-09-02 18:09:26 -0400521service dumpstate /system/bin/dumpstate -s
Ken Sumrall752923c2010-12-03 16:33:31 -0800522 class main
Mike Lockwoodabe3a9c2009-09-02 18:09:26 -0400523 socket dumpstate stream 0660 shell log
524 disabled
525 oneshot
Mike Lockwood9dd2eef2011-12-11 20:25:16 -0800526
527service sshd /system/bin/start-ssh
528 class main
Mike Lockwood19155b52012-03-21 11:58:05 -0700529 disabled
Robert Greenwalt1d91fcf2012-03-27 16:59:27 -0700530
531service mdnsd /system/bin/mdnsd
532 class main
533 user mdnsr
534 group inet net_raw
535 socket mdnsd stream 0660 mdnsr inet
536 disabled
537 oneshot