blob: 11f7c6c73b102b6c8925f7d3200bf6d5e12b1983 [file] [log] [blame]
Alberto97d3359a02014-11-30 17:20:55 +01001# CyanogenMod Extras
2import /init.superuser.rc
3
4on init
5 export ANDROID_CACHE /cache
6 export TERMINFO /system/etc/terminfo
7
Steve Kondik35155b32015-09-07 23:23:10 -07008 # Set up the BFQIO hierarchy
9 chmod 0755 /sys/fs/cgroup
10 mkdir /sys/fs/cgroup/bfqio 0755 root system
Steve Kondik9b831e22015-09-19 12:41:38 -070011 mount cgroup none /sys/fs/cgroup/bfqio bfqio
Steve Kondik35155b32015-09-07 23:23:10 -070012 write /sys/fs/cgroup/bfqio/bfqio.ioprio_class 2
13 write /sys/fs/cgroup/bfqio/bfqio.ioprio 4
14 write /sys/fs/cgroup/bfqio/bfqio.weight 1000
15 chown root system /sys/fs/cgroup/bfqio/tasks
16 chmod 0666 /sys/fs/cgroup/bfqio/tasks
17
18 # Realtime audio class
19 mkdir /sys/fs/cgroup/bfqio/rt-audio 0755 root system
20 write /sys/fs/cgroup/bfqio/rt-audio/bfqio.ioprio_class 1
21 write /sys/fs/cgroup/bfqio/rt-audio/bfqio.ioprio 4
22 write /sys/fs/cgroup/bfqio/rt-audio/bfqio.weight 1000
23 chown media system /sys/fs/cgroup/bfqio/rt-audio/tasks
24 chmod 0664 /sys/fs/cgroup/bfqio/rt-audio/tasks
25
26 # Realtime display class
27 mkdir /sys/fs/cgroup/bfqio/rt-display 0755 root system
Steve Kondikb05ac822015-09-16 15:08:48 -070028 write /sys/fs/cgroup/bfqio/rt-display/bfqio.ioprio_class 1
Steve Kondik35155b32015-09-07 23:23:10 -070029 write /sys/fs/cgroup/bfqio/rt-display/bfqio.ioprio 7
30 write /sys/fs/cgroup/bfqio/rt-display/bfqio.weight 1000
31 chown system graphics /sys/fs/cgroup/bfqio/rt-display/tasks
32 chmod 0664 /sys/fs/cgroup/bfqio/rt-display/tasks
33
34 # Display class
35 mkdir /sys/fs/cgroup/bfqio/display 0755 root system
36 write /sys/fs/cgroup/bfqio/display/bfqio.ioprio_class 2
37 write /sys/fs/cgroup/bfqio/display/bfqio.ioprio 0
38 write /sys/fs/cgroup/bfqio/display/bfqio.weight 1000
39 chown root system /sys/fs/cgroup/bfqio/display/tasks
40 chmod 0666 /sys/fs/cgroup/bfqio/display/tasks
41
42 # Hipri class
43 mkdir /sys/fs/cgroup/bfqio/hipri 0755 root system
44 write /sys/fs/cgroup/bfqio/hipri/bfqio.ioprio_class 2
Steve Kondikb05ac822015-09-16 15:08:48 -070045 write /sys/fs/cgroup/bfqio/hipri/bfqio.ioprio 2
Steve Kondik35155b32015-09-07 23:23:10 -070046 write /sys/fs/cgroup/bfqio/hipri/bfqio.weight 1000
47 chown root system /sys/fs/cgroup/bfqio/hipri/tasks
48 chmod 0666 /sys/fs/cgroup/bfqio/hipri/tasks
49
50 # Background class
51 mkdir /sys/fs/cgroup/bfqio/bg 0755 root system
52 write /sys/fs/cgroup/bfqio/bg/bfqio.ioprio_class 2
53 write /sys/fs/cgroup/bfqio/bg/bfqio.ioprio 7
54 write /sys/fs/cgroup/bfqio/bg/bfqio.weight 1000
55 chown root system /sys/fs/cgroup/bfqio/bg/tasks
56 chmod 0666 /sys/fs/cgroup/bfqio/bg/tasks
57
58 # Idle
59 mkdir /sys/fs/cgroup/bfqio/idle 0755 root system
60 write /sys/fs/cgroup/bfqio/idle/bfqio.ioprio_class 3
61 write /sys/fs/cgroup/bfqio/idle/bfqio.ioprio 0
62 write /sys/fs/cgroup/bfqio/idle/bfqio.weight 1000
63 chown root system /sys/fs/cgroup/bfqio/idle/tasks
64 chmod 0666 /sys/fs/cgroup/bfqio/idle/tasks
65
Alberto97d3359a02014-11-30 17:20:55 +010066on post-fs-data
Alberto97d3359a02014-11-30 17:20:55 +010067 mkdir /data/.ssh 0750 root shell
68
69 # Run sysinit
70 start sysinit
71
72on boot
73 # interactive governor
74 chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_rate
75 chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/timer_rate
76 chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_slack
77 chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/timer_slack
78 chown system system /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
79 chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
80 chown system system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
81 chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
82 chown system system /sys/devices/system/cpu/cpufreq/interactive/target_loads
83 chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/target_loads
84 chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
85 chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
86 chown system system /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
87 chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
88 chown system system /sys/devices/system/cpu/cpufreq/interactive/boost
89 chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/boost
90 chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse
91 chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/boostpulse
92 chown system system /sys/devices/system/cpu/cpufreq/interactive/input_boost
93 chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/input_boost
94 chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
95 chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
96 chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
97 chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
98 chown system system /sys/devices/system/cpu/cpufreq/interactive/sync_freq
99 chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/sync_freq
100 chown system system /sys/devices/system/cpu/cpufreq/interactive/up_threshold_any_cpu_freq
101 chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/up_threshold_any_cpu_freq
102 chown system system /sys/devices/system/cpu/cpufreq/interactive/up_threshold_any_cpu_load
103 chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/up_threshold_any_cpu_load
104 chown system system /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor
105 chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor
106
107 # ondemand governor
108 chown system system /sys/devices/system/cpu/cpufreq/ondemand/boostfreq
109 chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/boostfreq
110 chown system system /sys/devices/system/cpu/cpufreq/ondemand/boostpulse
111 chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/boostpulse
112 chown system system /sys/devices/system/cpu/cpufreq/ondemand/boosttime
113 chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/boosttime
114 chown system system /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
115 chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
116 chown system system /sys/devices/system/cpu/cpufreq/ondemand/down_differential
117 chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/down_differential
118 chown system system /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
119 chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
120 chown system system /sys/devices/system/cpu/cpufreq/ondemand/powersave_bias
121 chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/powersave_bias
122 chown system system /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
123 chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
124 chown system system /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
125 chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
126 chown system system /sys/devices/system/cpu/cpufreq/ondemand/input_boost
127 chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/input_boost
128 chown system system /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core
129 chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core
130 chown system system /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core
131 chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core
132 chown system system /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq
133 chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq
134 chown system system /sys/devices/system/cpu/cpufreq/ondemand/sync_freq
135 chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/sync_freq
136 chown system system /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load
137 chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load
138
Alberto97d3359a02014-11-30 17:20:55 +0100139 chown system system /sys/block/mmcblk0/queue/scheduler
140 chmod 0664 /sys/block/mmcblk0/queue/scheduler
Pawit Pornkitprasan7e4f3002015-01-03 12:44:43 +0700141 restorecon /sys/block/mmcblk0/queue/scheduler
Alberto97d3359a02014-11-30 17:20:55 +0100142
Arne Coucheron55b73982015-04-03 02:01:36 +0200143 chown system system /dev/cpuctl/cpu.notify_on_migrate
144 chmod 0664 /dev/cpuctl/cpu.notify_on_migrate
Alberto97d3359a02014-11-30 17:20:55 +0100145
Steve Kondik70058102015-09-18 04:27:35 -0700146 # LiveDisplay sysfs
147 chown system system /sys/devices/virtual/graphics/fb0/aco
148 chmod 0660 /sys/devices/virtual/graphics/fb0/aco
149 chown system system /sys/devices/virtual/graphics/fb0/cabc
150 chmod 0660 /sys/devices/virtual/graphics/fb0/cabc
151 chown system system /sys/devices/virtual/graphics/fb0/rgb
152 chmod 0660 /sys/devices/virtual/graphics/fb0/rgb
153 chown system system /sys/devices/virtual/graphics/fb0/sre
154 chmod 0660 /sys/devices/virtual/graphics/fb0/sre
155
Alberto97d3359a02014-11-30 17:20:55 +0100156 # Define TCP delayed ack settings for WiFi & LTE
157 chown system system /sys/kernel/ipv4/tcp_delack_seg
158 chown system system /sys/kernel/ipv4/tcp_use_userconfig
159 setprop net.tcp.delack.default 1
160 setprop net.tcp.delack.wifi 20
161 setprop net.tcp.delack.lte 8
162 setprop net.tcp.usercfg.default 0
163 setprop net.tcp.usercfg.wifi 1
164 setprop net.tcp.usercfg.lte 1
165
Steve Kondikfc5d13a2015-09-06 13:53:29 -0700166# Persistent properties (only created if persist exists)
167 mkdir /persist/properties 0770 system system
168
Alberto97d3359a02014-11-30 17:20:55 +0100169# sysinit (/system/etc/init.d)
170service sysinit /system/bin/sysinit
171 user root
172 oneshot
173 disabled
Ethan Chen6b30a162015-05-05 12:30:59 -0700174
175# bugreport is triggered by holding down volume down, volume up and power
176service bugreport /system/bin/dumpstate -d -p -B \
177 -o /data/data/com.android.shell/files/bugreports/bugreport
178 oneshot
179 disabled
180 keycodes 114 115 116
Steve Kondikb05ac822015-09-16 15:08:48 -0700181
182# Configure IO scheduler
183on property:sys.io.scheduler=*
184 write /sys/block/mmcblk0/queue/scheduler ${sys.io.scheduler}
185
186on property:persist.sys.io.scheduler=*
187 setprop sys.io.scheduler ${persist.sys.io.scheduler}
188
189# Set slice_idle to 0 for CFQ
190on property:sys.io.scheduler=cfq
191 write /sys/block/mmcblk0/queue/iosched/slice_idle 0
192
193# Set slice_idle to 0 for BFQ
194on property:sys.io.scheduler=bfq
195 write /sys/block/mmcblk0/queue/iosched/slice_idle 0