vendor/bliss: Refactor Bliss init rc file
Signed-off-by: Jackeagle <jackeagle102@gmail.com>
Change-Id: I24f5b2e7189bf34734981b95d284a5eeefb0c36e
diff --git a/config/common.mk b/config/common.mk
index e07ab61..7f36dd4 100644
--- a/config/common.mk
+++ b/config/common.mk
@@ -66,10 +66,9 @@
vendor/bliss/prebuilt/common/etc/init.d/00banner:system/etc/init.d/00banner \
vendor/bliss/prebuilt/common/etc/init.d/90userinit:system/etc/init.d/90userinit
-# Init file
-PRODUCT_COPY_FILES += \
- vendor/bliss/prebuilt/common/etc/init.bliss.rc:root/init.bliss.rc \
- vendor/bliss/prebuilt/common/etc/init.blissupdater.rc:system/etc/init/init.blissupdater.rc
+# Copy all Bliss-specific init rc files
+ $(foreach f,$(wildcard vendor/bliss/prebuilt/common/etc/init/*.rc),\
+ $(eval PRODUCT_COPY_FILES += $(f):system/etc/init/$(notdir $f)))
# Bring in camera effects
PRODUCT_COPY_FILES += \
diff --git a/prebuilt/common/etc/init/bliss-adb.rc b/prebuilt/common/etc/init/bliss-adb.rc
new file mode 100644
index 0000000..95ede06
--- /dev/null
+++ b/prebuilt/common/etc/init/bliss-adb.rc
@@ -0,0 +1,11 @@
+# adb over network
+on property:adb.network.port=*
+ setprop service.adb.tcp.port ${adb.network.port}
+
+on property:service.adb.tcp.port=5555
+ stop adbd
+ start adbd
+
+on property:service.adb.tcp.port=-1
+ stop adbd
+ start adbd
diff --git a/prebuilt/common/etc/init/bliss-governor.rc b/prebuilt/common/etc/init/bliss-governor.rc
new file mode 100644
index 0000000..b805fc9
--- /dev/null
+++ b/prebuilt/common/etc/init/bliss-governor.rc
@@ -0,0 +1,71 @@
+on boot
+ # interactive governor
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_rate
+ chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/timer_rate
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_slack
+ chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/timer_slack
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
+ chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
+ chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/target_loads
+ chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/target_loads
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
+ chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
+ chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/boost
+ chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/boost
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse
+ chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/boostpulse
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/input_boost
+ chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/input_boost
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
+ chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
+ chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/sync_freq
+ chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/sync_freq
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/up_threshold_any_cpu_freq
+ chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/up_threshold_any_cpu_freq
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/up_threshold_any_cpu_load
+ chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/up_threshold_any_cpu_load
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor
+ chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor
+ chown system system /sys/devices/system/cpu/cpufreq/interactive/max_freq_hysteresis
+ chmod 0664 /sys/devices/system/cpu/cpufreq/interactive/max_freq_hysteresis
+
+ # ondemand governor
+ chown system system /sys/devices/system/cpu/cpufreq/ondemand/boostfreq
+ chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/boostfreq
+ chown system system /sys/devices/system/cpu/cpufreq/ondemand/boostpulse
+ chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/boostpulse
+ chown system system /sys/devices/system/cpu/cpufreq/ondemand/boosttime
+ chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/boosttime
+ chown system system /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
+ chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
+ chown system system /sys/devices/system/cpu/cpufreq/ondemand/down_differential
+ chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/down_differential
+ chown system system /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
+ chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
+ chown system system /sys/devices/system/cpu/cpufreq/ondemand/powersave_bias
+ chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/powersave_bias
+ chown system system /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
+ chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
+ chown system system /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
+ chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
+ chown system system /sys/devices/system/cpu/cpufreq/ondemand/input_boost
+ chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/input_boost
+ chown system system /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core
+ chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core
+ chown system system /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core
+ chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core
+ chown system system /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq
+ chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq
+ chown system system /sys/devices/system/cpu/cpufreq/ondemand/sync_freq
+ chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/sync_freq
+ chown system system /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load
+ chmod 0664 /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load
+
+ chown system system /dev/cpuctl/cpu.notify_on_migrate
+ chmod 0664 /dev/cpuctl/cpu.notify_on_migrate
diff --git a/prebuilt/common/etc/init/bliss-iosched.rc b/prebuilt/common/etc/init/bliss-iosched.rc
new file mode 100644
index 0000000..263003f
--- /dev/null
+++ b/prebuilt/common/etc/init/bliss-iosched.rc
@@ -0,0 +1,70 @@
+on init
+ # Set up the BFQIO hierarchy
+ mkdir /dev/bfqio 0755 root system
+ mount cgroup none /dev/bfqio bfqio
+ chown root system /dev/bfqio/tasks
+ chmod 0664 /dev/bfqio/tasks
+ chmod 0220 /dev/bfqio/cgroup.event_control
+
+ # Soft realtime class for display service
+ mkdir /dev/bfqio/rt-display 0755 root system
+ write /dev/bfqio/rt-display/bfqio.ioprio_class 1
+ chown system system /dev/bfqio/rt-display/tasks
+ chmod 0664 /dev/bfqio/rt-display/tasks
+ chmod 0220 /dev/bfqio/rt-display/cgroup.event_control
+
+on boot
+ restorecon --recursive /sys/block/mmcblk0/queue
+ chown system system /sys/block/mmcblk0/queue/scheduler
+ chmod 0664 /sys/block/mmcblk0/queue/scheduler
+
+ restorecon --recursive /sys/block/sda/queue
+ chown system system /sys/block/sda/queue/scheduler
+ chmod 0664 /sys/block/sda/queue/scheduler
+
+ restorecon --recursive /sys/block/sde/queue
+ chown system system /sys/block/sde/queue/scheduler
+ chmod 0664 /sys/block/sde/queue/scheduler
+
+ restorecon --recursive /sys/block/dm-0/queue
+ chown system system /sys/block/dm-0/queue/scheduler
+ chmod 0664 /sys/block/dm-0/queue/scheduler
+
+# Configure IO scheduler
+on property:sys.io.scheduler=*
+ write /sys/block/mmcblk0/queue/scheduler ${sys.io.scheduler}
+ write /sys/block/mmcblk1/queue/scheduler ${sys.io.scheduler}
+ write /sys/block/sda/queue/scheduler ${sys.io.scheduler}
+ write /sys/block/sde/queue/scheduler ${sys.io.scheduler}
+ write /sys/block/dm-0/queue/scheduler ${sys.io.scheduler}
+
+on property:persist.sys.io.scheduler=*
+ setprop sys.io.scheduler ${persist.sys.io.scheduler}
+
+# Set slice_idle to 0 for CFQ
+on property:sys.io.scheduler=cfq
+ restorecon --recursive /sys/block/mmcblk0/queue
+ restorecon --recursive /sys/block/mmcblk1/queue
+ restorecon --recursive /sys/block/sda/queue
+ restorecon --recursive /sys/block/sde/queue
+ restorecon --recursive /sys/block/dm-0/queue
+
+ write /sys/block/mmcblk0/queue/iosched/slice_idle 0
+ write /sys/block/mmcblk1/queue/iosched/slice_idle 0
+ write /sys/block/sda/queue/iosched/slice_idle 0
+ write /sys/block/sde/queue/iosched/slice_idle 0
+ write /sys/block/dm-0/queue/iosched/slice_idle 0
+
+# Set slice_idle to 0 for BFQ
+on property:sys.io.scheduler=bfq
+ restorecon --recursive /sys/block/mmcblk0/queue
+ restorecon --recursive /sys/block/mmcblk1/queue
+ restorecon --recursive /sys/block/sda/queue
+ restorecon --recursive /sys/block/sde/queue
+ restorecon --recursive /sys/block/dm-0/queue
+
+ write /sys/block/mmcblk0/queue/iosched/slice_idle 0
+ write /sys/block/mmcblk1/queue/iosched/slice_idle 0
+ write /sys/block/sda/queue/iosched/slice_idle 0
+ write /sys/block/sde/queue/iosched/slice_idle 0
+ write /sys/block/dm-0/queue/iosched/slice_idle 0
diff --git a/prebuilt/common/etc/init/bliss-radio.rc b/prebuilt/common/etc/init/bliss-radio.rc
new file mode 100644
index 0000000..22f1e64
--- /dev/null
+++ b/prebuilt/common/etc/init/bliss-radio.rc
@@ -0,0 +1,12 @@
+# Disable ril services if noril prop is set
+on property:ro.radio.noril=1
+ stop ims_rtp_daemon
+ stop imsdatadaemon
+ stop imsqmidaemon
+ stop imsrcsservice
+ stop ril-daemon
+ stop qmuxd
+ stop netmgrd
+
+on property:persist.radio.noril=1
+ setprop ro.radio.noril 1
diff --git a/prebuilt/common/etc/init/bliss-ssh.rc b/prebuilt/common/etc/init/bliss-ssh.rc
new file mode 100644
index 0000000..edf3863
--- /dev/null
+++ b/prebuilt/common/etc/init/bliss-ssh.rc
@@ -0,0 +1,3 @@
+on post-fs-data
+ mkdir /data/ssh 0750 root shell
+ mkdir /data/ssh/empty 0600 root shell
diff --git a/prebuilt/common/etc/init/bliss-system.rc b/prebuilt/common/etc/init/bliss-system.rc
new file mode 100644
index 0000000..c62d284
--- /dev/null
+++ b/prebuilt/common/etc/init/bliss-system.rc
@@ -0,0 +1,34 @@
+# Bliss core functionality
+on init
+ export ANDROID_CACHE /cache
+ export TERMINFO /system/etc/terminfo
+
+on post-fs-data
+ mkdir /cache/recovery 0770 system cache
+
+ # Run sysinit
+ start sysinit
+
+ # Change permissions on fsck log so it can be added to the dropbox
+ chown root log /dev/fscklogs/log
+ chmod 0640 /dev/fscklogs/log
+
+on boot
+ # Persistent properties (only created if persist exists)
+ mkdir /persist/properties 0770 system system
+
+ # allow system to communicate pocket state
+ chown system system /sys/kernel/pocket_judge/inpocket
+
+# sysinit (/system/etc/init.d)
+service sysinit /system/bin/sysinit
+ user root
+ oneshot
+ disabled
+
+# bugreport is triggered by holding down volume down, volume up and power
+service bugreport /system/bin/dumpstate -d -p -B -z \
+ -o /data/user_de/0/com.android.shell/files/bugreports/bugreport
+ oneshot
+ disabled
+ keycodes 114 115 116
diff --git a/prebuilt/common/etc/init/bliss-tcp.rc b/prebuilt/common/etc/init/bliss-tcp.rc
new file mode 100644
index 0000000..19ef94a
--- /dev/null
+++ b/prebuilt/common/etc/init/bliss-tcp.rc
@@ -0,0 +1,10 @@
+on boot
+ # Define TCP delayed ack settings for WiFi & LTE
+ chown system system /sys/kernel/ipv4/tcp_delack_seg
+ chown system system /sys/kernel/ipv4/tcp_use_userconfig
+ setprop net.tcp.delack.default 1
+ setprop net.tcp.delack.wifi 20
+ setprop net.tcp.delack.lte 8
+ setprop net.tcp.usercfg.default 0
+ setprop net.tcp.usercfg.wifi 1
+ setprop net.tcp.usercfg.lte 1
diff --git a/prebuilt/common/etc/init.blissupdater.rc b/prebuilt/common/etc/init/bliss-updater.rc
similarity index 100%
rename from prebuilt/common/etc/init.blissupdater.rc
rename to prebuilt/common/etc/init/bliss-updater.rc