• 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    # Android creates by-name disk links with the disk controller
29    # in the generated path, so that the names pulled out of the GPT
30    # can be associated with the correct disk. Create a shortcut to
31    # /dev/block/by-name so that we can use the same fstabs everywhere.
32    symlink /dev/block/pci/pci0000:00/0000:00:01.0/by-name /dev/block/by-name
33
34    symlink /sdcard /storage/sdcard0
35
36    # ZRAM options
37    write /sys/block/zram0/comp_algorithm lz4
38    write /sys/block/zram0/max_comp_streams 2
39
40    # KSM options
41    write /sys/kernel/mm/ksm/pages_to_scan 100
42    write /sys/kernel/mm/ksm/sleep_millisecs 500
43    write /sys/kernel/mm/ksm/run 1
44
45    #  Mount the sep filesystem
46    mount sepfs sepfs /sys/fs/sepfs
47
48on fs
49    mkdir /logs 0770 system log
50    mkdir /factory 0775 system system
51
52    mount_all ./fstab.fugu
53    swapon_all ./fstab.fugu
54
55    restorecon_recursive /factory
56
57on early-boot
58    # set RLIMIT_MEMLOCK to 64MB
59    setrlimit 8 67108864 67108864
60    setprop ro.audio.flinger_standbytime_ms 600000
61
62on boot
63    # Assign TCP buffer thresholds to be ceiling value of technology maximums
64    # Increased technology maximums should be reflected here.
65    write /proc/sys/net/core/rmem_max  1500000
66    write /proc/sys/net/core/wmem_max  1500000
67    write /proc/sys/net/ipv4/tcp_limit_output_bytes 1500000
68    setprop net.tcp.buffersize.wifi 500000,1000000,1500000,500000,1000000,1500000
69
70    chown system system /sys/class/backlight/psb-bl/brightness
71    chown system system /sys/class/backlight/psb-bl/max_brightness
72    chown system system /sys/class/backlight/psb-bl/actual_brightness
73    chmod 0664 /sys/class/backlight/psb-bl/brightness
74    chmod 0664 /sys/class/backlight/psb-bl/max_brightness
75    chmod 0664 /sys/class/backlight/psb-bl/actual_brightness
76
77    # Wifi
78    setprop wifi.interface wlan0
79    # Set correct country code
80    exec - root root system -- /system/bin/init.fugu.countrycode.sh
81
82on post-fs
83    # Performance tweaks for interactive governor
84    chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
85    chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
86    chown system system /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
87    chmod 0660 /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
88    chown system system /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
89    chmod 0660 /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
90    chown system system /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq
91    chmod 0660 /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq
92    chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_rate
93    chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
94    chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse
95    chown system system /sys/devices/system/cpu/cpufreq/interactive/touchboostpulse
96    chown system system /sys/devices/system/cpu/cpufreq/interactive/touchboostpulse_duration
97    chown system system /sys/devices/system/cpu/cpufreq/interactive/touchboost_freq
98    chmod 0220 /sys/devices/system/cpu/cpufreq/interactive/touchboostpulse
99    chmod 0220 /sys/devices/system/cpu/cpufreq/interactive/boostpulse
100
101    # Tune interactive governor parameters for Android TV UI animations
102    write /sys/devices/system/cpu/cpufreq/interactive/timer_rate 4000
103    write /sys/devices/system/cpu/cpufreq/interactive/timer_slack 16000
104    write /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load 90
105    write /sys/devices/system/cpu/cpufreq/interactive/target_loads 70
106    write /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration 800000
107
108    # SEP
109    copy /system/etc/security/sep_policy.conf /sys/fs/sepfs/load
110    chown system system /dev/dx_sep_q0
111    chmod 0666 /dev/dx_sep_q0
112    chown system system /dev/dx_sep_q1
113    chmod 0666 /dev/dx_sep_q1
114
115    # hdmi cec
116    chown system system /sys/module/drm_intel_mid/parameters/hdmi_state
117    chmod 0440 /sys/module/drm_intel_mid/parameters/hdmi_state
118    chown system system /sys/module/drm_intel_mid/parameters/hdmi_edid_src_phy_addr
119    chmod 0440 /sys/module/drm_intel_mid/parameters/hdmi_edid_src_phy_addr
120
121on post-fs-data
122    # Create the directories used by the Wireless subsystem
123    mkdir /data/misc/wifi 0770 wifi wifi
124    mkdir /data/misc/wifi/sockets 0770 wifi wifi
125    mkdir /data/misc/dhcp 0770 dhcp wifi
126
127    # Bluetooth
128    setprop ro.bt.bdaddr_path "/factory/bt/bd_addr.conf"
129    chmod 0660 /sys/class/rfkill/rfkill2/state
130    chown bluetooth net_bt_stack /sys/class/rfkill/rfkill2/state
131    chown bluetooth net_bt_stack /sys/class/rfkill/rfkill2/type
132
133    # Create directory used by audio subsystem
134    mkdir /data/misc/audio 0770 audio audio
135
136    mkdir /data/system 0775 system system
137
138    setprop vold.post_fs_data_done 1
139
140    setprop init.post_fs_data.bootreason ${ro.boot.bootreason}
141
142    # itux
143    # Set this property to enable Thermal service
144    setprop persist.service.thermal 1
145    # Properties for Thermal Service
146    setprop persist.thermal.turbo.dynamic 1
147    setprop ro.thermal.ituxversion 3.0
148    setprop persist.thermal.shutdown.msg 0
149    setprop persist.thermal.shutdown.vibra 0
150    setprop persist.thermal.shutdown.tone 0
151    chown system system /sys/module/intel_mid_osip/parameters/force_shutdown_occured
152    chown system system /sys/module/intel_mid_osip/parameters/thermal_shutdown_occured
153    chown system system /sys/devices/platform/coretemp.0/temp2_threshold1
154    chown system system /sys/devices/platform/coretemp.0/temp2_threshold2
155    chown system system /sys/devices/virtual/thermal/thermal_zone6/emul_temp
156    chown system system /sys/devices/virtual/thermal/thermal_zone7/emul_temp
157
158    # Stop led blinking and reduce brightness
159    write /sys/class/leds/white/device/led_lighting_effect 1
160    write /sys/class/leds/white/brightness 0
161
162    # Playready
163    mkdir /data/mediadrm/playready/ 0770 mediadrm mediadrm
164    copy  /system/vendor/firmware/PR-ModelCert /data/mediadrm/playready/bgroupcert.dat
165    chown mediadrm mediadrm /data/mediadrm/playready/bgroupcert.dat
166    chmod 0440 /data/mediadrm/playready/bgroupcert.dat
167
168on property:init.post_fs_data.bootreason=*
169    # Create dump dir and collect dumps. (use the same location as in init.rc)
170    mkdir /data/dontpanic 0750 root log
171
172    copy /proc/emmc_ipanic_console /data/dontpanic/ipanic_console
173    chown root log /data/dontpanic/ipanic_console
174    chmod 0640 /data/dontpanic/ipanic_console
175
176    copy /proc/emmc_ipanic_threads /data/dontpanic/ipanic_threads
177    chown root log /data/dontpanic/ipanic_threads
178    chmod 0640 /data/dontpanic/ipanic_threads
179
180    copy /proc/emmc_ipanic_gbuffer /data/dontpanic/ipanic_gbuffer
181    chown root log /data/dontpanic/ipanic_gbuffer
182    chmod 0640 /data/dontpanic/ipanic_gbuffer
183
184    # Clear panic partition
185    write /proc/emmc_ipanic_header 1
186
187service wpa_supplicant /system/bin/wpa_supplicant -Dnl80211 -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf -g@android:wpa_wlan0
188    class main
189    socket wpa_wlan0 dgram 660 wifi wifi
190    group system wifi inet bluetooth
191    disabled
192    oneshot
193
194service p2p_supplicant /system/bin/wpa_supplicant \
195   -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
196   -m/data/misc/wifi/p2p_supplicant.conf \
197   -puse_p2p_group_interface=1p2p_device=1use_multi_chan_concurrent=1 \
198   -O/data/misc/wifi/sockets \
199   -e/data/misc/wifi/entropy.bin \
200   -g@android:wpa_wlan0
201    class main
202    socket wpa_wlan0 dgram 660 wifi wifi
203    disabled
204    oneshot
205
206# Bluetooth related services
207service BtFwLoader /system/bin/BtFwLoader
208    class main
209    group bluetooth net_bt_stack
210    user bluetooth
211    oneshot
212
213# bugreport is triggered by holding down volume down, volume up and power
214service bugreport /system/bin/dumpstate -d -p -B -z \
215        -o /data/user_de/0/com.android.shell/files/bugreports/bugreport
216    class main
217    disabled
218    oneshot
219    keycodes 114 115 116
220
221# interval:60s margin:20s
222service watchdogd /sbin/watchdogd 60 20
223    class core
224    oneshot
225    seclabel u:r:watchdogd:s0
226
227# Reset the watchdog counter once boot is completed
228on property:sys.boot_completed=1
229    write /sys/devices/virtual/misc/watchdog/counter "0"
230
231# Enable native bridge for target executables
232on early-init
233    mount binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc
234
235on property:ro.enable.native.bridge.exec=1
236    copy /system/etc/binfmt_misc/arm_exe /proc/sys/fs/binfmt_misc/register
237    copy /system/etc/binfmt_misc/arm_dyn /proc/sys/fs/binfmt_misc/register
238