• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# Copyright 2014 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17import init.fugu.usb.rc
18import init.intel.tools.rc
19import init.fugu.diag.rc
20
21on early-init
22    mount debugfs debugfs /sys/kernel/debug mode=0755
23
24    # IMG Graphics
25    symlink /dev/dri/card0 /dev/card0
26
27on init
28    # See storage config details at http://source.android.com/tech/storage/
29    mkdir /mnt/shell/emulated 0700 shell shell
30    mkdir /storage/emulated 0555 root root
31
32    export EXTERNAL_STORAGE /storage/emulated/legacy
33    export EMULATED_STORAGE_SOURCE /mnt/shell/emulated
34    export EMULATED_STORAGE_TARGET /storage/emulated
35
36    # Android creates by-name disk links with the disk controller
37    # in the generated path, so that the names pulled out of the GPT
38    # can be associated with the correct disk. Create a shortcut to
39    # /dev/block/by-name so that we can use the same fstabs everywhere.
40    symlink /dev/block/pci/pci0000:00/0000:00:01.0/by-name /dev/block/by-name
41
42    # Support legacy paths
43    symlink /storage/emulated/legacy /sdcard
44    symlink /storage/emulated/legacy /mnt/sdcard
45    symlink /storage/emulated/legacy /storage/sdcard0
46    symlink /mnt/shell/emulated/0 /storage/emulated/legacy
47
48    # KSM options
49    write /sys/kernel/mm/ksm/pages_to_scan 100
50    write /sys/kernel/mm/ksm/sleep_millisecs 500
51    write /sys/kernel/mm/ksm/run 1
52
53    #  Mount the sep filesystem
54    mount sepfs sepfs /sys/fs/sepfs
55
56on fs
57    mkdir /logs 0770 system log
58    mkdir /factory 0775 system system
59
60    mount_all ./fstab.fugu
61    swapon_all ./fstab.fugu
62    setprop ro.crypto.fuse_sdcard true
63
64    restorecon_recursive /factory
65
66on early-boot
67    # set RLIMIT_MEMLOCK to 64MB
68    setrlimit 8 67108864 67108864
69    setprop ro.audio.flinger_standbytime_ms 600000
70
71on boot
72    # Assign TCP buffer thresholds to be ceiling value of technology maximums
73    # Increased technology maximums should be reflected here.
74    write /proc/sys/net/core/rmem_max  1500000
75    write /proc/sys/net/core/wmem_max  1500000
76    write /proc/sys/net/ipv4/tcp_limit_output_bytes 1500000
77    setprop net.tcp.buffersize.wifi 500000,1000000,1500000,500000,1000000,1500000
78
79    chown system system /sys/class/backlight/psb-bl/brightness
80    chown system system /sys/class/backlight/psb-bl/max_brightness
81    chown system system /sys/class/backlight/psb-bl/actual_brightness
82    chmod 0664 /sys/class/backlight/psb-bl/brightness
83    chmod 0664 /sys/class/backlight/psb-bl/max_brightness
84    chmod 0664 /sys/class/backlight/psb-bl/actual_brightness
85
86    # Wifi
87    setprop wifi.interface wlan0
88
89on post-fs
90    # Performance tweaks for interactive governor
91    chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
92    chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
93    chown system system /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
94    chmod 0660 /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
95    chown system system /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
96    chmod 0660 /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
97    chown system system /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq
98    chmod 0660 /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq
99    chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_rate
100    chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
101    chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse
102    chown system system /sys/devices/system/cpu/cpufreq/interactive/touchboostpulse
103    chown system system /sys/devices/system/cpu/cpufreq/interactive/touchboostpulse_duration
104    chown system system /sys/devices/system/cpu/cpufreq/interactive/touchboost_freq
105    chmod 0220 /sys/devices/system/cpu/cpufreq/interactive/touchboostpulse
106    chmod 0220 /sys/devices/system/cpu/cpufreq/interactive/boostpulse
107
108    # Tune interactive governor parameters for Android TV UI animations
109    write /sys/devices/system/cpu/cpufreq/interactive/timer_rate 4000
110    write /sys/devices/system/cpu/cpufreq/interactive/timer_slack 16000
111    write /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load 90
112    write /sys/devices/system/cpu/cpufreq/interactive/target_loads 70
113    write /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration 800000
114
115    # SEP
116    copy /system/etc/security/sep_policy.conf /sys/fs/sepfs/load
117    chown system system /dev/dx_sep_q0
118    chmod 0666 /dev/dx_sep_q0
119    chown system system /dev/dx_sep_q1
120    chmod 0666 /dev/dx_sep_q1
121
122    # hdmi cec
123    chown system system /sys/module/tngdisp/parameters/hdmi_state
124    chmod 0440 /sys/module/tngdisp/parameters/hdmi_state
125    chown system system /sys/module/tngdisp/parameters/hdmi_edid_src_phy_addr
126    chmod 0440 /sys/module/tngdisp/parameters/hdmi_edid_src_phy_addr
127
128on post-fs-data
129    mkdir /data/media 0770 media_rw media_rw
130
131    # Create the directories used by the Wireless subsystem
132    mkdir /data/misc/wifi 0770 wifi wifi
133    mkdir /data/misc/wifi/sockets 0770 wifi wifi
134    mkdir /data/misc/dhcp 0770 dhcp wifi
135
136    mkdir /data/tombstones 0771 system system
137
138    # Bluetooth
139    setprop ro.bt.bdaddr_path "/factory/bt/bd_addr.conf"
140    chmod 0660 /sys/class/rfkill/rfkill2/state
141    chown bluetooth net_bt_stack /sys/class/rfkill/rfkill2/state
142    chown bluetooth net_bt_stack /sys/class/rfkill/rfkill2/type
143
144    # Create directory used by audio subsystem
145    mkdir /data/misc/audio 0770 audio audio
146
147    mkdir /data/system 0775 system system
148
149    setprop vold.post_fs_data_done 1
150
151    setprop init.post_fs_data.bootreason ${ro.boot.bootreason}
152
153    # itux
154    # Set this property to enable Thermal service
155    setprop persist.service.thermal 1
156    # Properties for Thermal Service
157    setprop persist.thermal.turbo.dynamic 1
158    setprop ro.thermal.ituxversion 3.0
159    setprop persist.thermal.shutdown.msg 0
160    setprop persist.thermal.shutdown.vibra 0
161    setprop persist.thermal.shutdown.tone 0
162    chown system system /sys/module/intel_mid_osip/parameters/force_shutdown_occured
163    chown system system /sys/module/intel_mid_osip/parameters/thermal_shutdown_occured
164    chown system system /sys/devices/platform/coretemp.0/temp2_threshold1
165    chown system system /sys/devices/platform/coretemp.0/temp2_threshold2
166    chown system system /sys/devices/virtual/thermal/thermal_zone6/emul_temp
167    chown system system /sys/devices/virtual/thermal/thermal_zone7/emul_temp
168
169    # Stop led blinking and reduce brightness
170    write /sys/class/leds/white/device/led_lighting_effect 1
171    write /sys/class/leds/white/brightness 0
172
173    # Playready
174    mkdir /data/mediadrm/playready/ 0770 mediadrm mediadrm
175    copy  /system/vendor/firmware/PR-ModelCert /data/mediadrm/playready/bgroupcert.dat
176    chown mediadrm mediadrm /data/mediadrm/playready/bgroupcert.dat
177    chmod 0440 /data/mediadrm/playready/bgroupcert.dat
178
179on property:init.post_fs_data.bootreason=*
180    # Create dump dir and collect dumps. (use the same location as in init.rc)
181    mkdir /data/dontpanic 0750 root log
182
183    copy /proc/emmc_ipanic_console /data/dontpanic/ipanic_console
184    chown root log /data/dontpanic/ipanic_console
185    chmod 0640 /data/dontpanic/ipanic_console
186
187    copy /proc/emmc_ipanic_threads /data/dontpanic/ipanic_threads
188    chown root log /data/dontpanic/ipanic_threads
189    chmod 0640 /data/dontpanic/ipanic_threads
190
191    copy /proc/emmc_ipanic_gbuffer /data/dontpanic/ipanic_gbuffer
192    chown root log /data/dontpanic/ipanic_gbuffer
193    chmod 0640 /data/dontpanic/ipanic_gbuffer
194
195    # Clear panic partition
196    write /proc/emmc_ipanic_header 1
197
198on property:init.svc.wpa_supplicant=stopped
199    stop dhcpcd
200
201service wpa_supplicant /system/bin/wpa_supplicant -Dnl80211 -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf -g@android:wpa_wlan0
202    class main
203    socket wpa_wlan0 dgram 660 wifi wifi
204    group system wifi inet bluetooth
205    disabled
206    oneshot
207
208service p2p_supplicant /system/bin/wpa_supplicant \
209   -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
210   -m/data/misc/wifi/p2p_supplicant.conf \
211   -puse_p2p_group_interface=1p2p_device=1use_multi_chan_concurrent=1 \
212   -O/data/misc/wifi/sockets \
213   -e/data/misc/wifi/entropy.bin \
214   -g@android:wpa_wlan0
215    class main
216    socket wpa_wlan0 dgram 660 wifi wifi
217    disabled
218    oneshot
219
220service dhcpcd_eth0 /system/bin/dhcpcd -aABDKL
221    class main
222    disabled
223    oneshot
224
225service dhcpcd_wlan0 /system/bin/dhcpcd -ABKL
226    class main
227    disabled
228    oneshot
229
230service dhcpcd_p2p /system/bin/dhcpcd -aABKL
231    class main
232    disabled
233    oneshot
234
235service iprenew_eth0 /system/bin/dhcpcd -n
236    class late_start
237    disabled
238    oneshot
239
240service iprenew_wlan0 /system/bin/dhcpcd -n
241    class late_start
242    disabled
243    oneshot
244
245service iprenew_p2p /system/bin/dhcpcd -n
246    class late_start
247    disabled
248    oneshot
249
250# Bluetooth related services
251service BtFwLoader /system/bin/BtFwLoader
252    class main
253    group bluetooth net_bt_stack
254    user bluetooth
255    oneshot
256
257service dhcpcd_bt-pan /system/bin/dhcpcd -ABKL
258    class main
259    group bluetooth wifi system dhcp
260    disabled
261    oneshot
262
263service iprenew_bt-pan /system/bin/dhcpcd -n
264    group bluetooth system dhcp
265    disabled
266    oneshot
267
268# virtual sdcard daemon running as media_rw (1023)
269service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emulated
270    class late_start
271
272# bugreport is triggered by holding down volume down, volume up and power
273service bugreport /system/bin/dumpstate -d -p -B \
274        -o /data/data/com.android.shell/files/bugreports/bugreport
275    class main
276    disabled
277    oneshot
278    keycodes 114 115 116
279
280# interval:60s margin:20s
281service watchdogd /sbin/watchdogd 60 20
282    class core
283    oneshot
284    seclabel u:r:watchdogd:s0
285
286# Reset the watchdog counter once boot is completed
287on property:sys.boot_completed=1
288    write /sys/devices/virtual/misc/watchdog/counter "0"
289
290service pvrsrvctl /system/vendor/bin/pvrsrvctl --no-module --start
291    class core
292    oneshot
293    user root
294
295# Enable native bridge for target executables
296on early-init
297    mount binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc
298
299on property:ro.enable.native.bridge.exec=1
300    copy /system/etc/binfmt_misc/arm_exe /proc/sys/fs/binfmt_misc/register
301    copy /system/etc/binfmt_misc/arm_dyn /proc/sys/fs/binfmt_misc/register
302