diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2013-11-22 11:28:10 -0800 |
---|---|---|
committer | Conley Owens <cco3@android.com> | 2013-11-22 13:44:43 -0800 |
commit | 66ed50af6870210ce013a5588a688434a5d48ee9 (patch) | |
tree | a879f3ea31083496d0efe491bc187b6e0ebada39 /rootdir/init.rc | |
parent | dd2ac3de625e6c0328a0f70530d8ade0d2151bfc (diff) | |
parent | 536dea9d61a032e64bbe584a97463c6638ead009 (diff) | |
download | system_core-66ed50af6870210ce013a5588a688434a5d48ee9.zip system_core-66ed50af6870210ce013a5588a688434a5d48ee9.tar.gz system_core-66ed50af6870210ce013a5588a688434a5d48ee9.tar.bz2 |
Merge commit '536dea9d61a032e64bbe584a97463c6638ead009' into HEAD
Change-Id: I5c469a4b738629d99d721cad7ded02d6c35f56d5
Diffstat (limited to 'rootdir/init.rc')
-rw-r--r-- | rootdir/init.rc | 57 |
1 files changed, 41 insertions, 16 deletions
diff --git a/rootdir/init.rc b/rootdir/init.rc index 758dee6..cfc3d35 100644 --- a/rootdir/init.rc +++ b/rootdir/init.rc @@ -4,6 +4,7 @@ # This is a common source of Android security bugs. # +import /init.environ.rc import /init.usb.rc import /init.${ro.hardware}.rc import /init.trace.rc @@ -30,18 +31,6 @@ sysclktz 0 loglevel 3 -# setup the global environment - export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin - export LD_LIBRARY_PATH /vendor/lib:/system/lib - export ANDROID_BOOTLOGO 1 - export ANDROID_ROOT /system - export ANDROID_ASSETS /system/app - export ANDROID_DATA /data - export ANDROID_STORAGE /storage - export ASEC_MOUNTPOINT /mnt/asec - export LOOP_MOUNTPOINT /mnt/obb - 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 - # Backward compatibility symlink /system/etc /etc symlink /sys/kernel/debug /d @@ -55,6 +44,19 @@ loglevel 3 mount cgroup none /acct cpuacct mkdir /acct/uid +# Create cgroup mount point for memory + mount tmpfs none /sys/fs/cgroup mode=0750,uid=0,gid=1000 + mkdir /sys/fs/cgroup/memory 0750 root system + mount cgroup none /sys/fs/cgroup/memory memory + write /sys/fs/cgroup/memory/memory.move_charge_at_immigrate 1 + chown root system /sys/fs/cgroup/memory/tasks + chmod 0660 /sys/fs/cgroup/memory/tasks + mkdir /sys/fs/cgroup/memory/sw 0750 root system + write /sys/fs/cgroup/memory/sw/memory.swappiness 100 + write /sys/fs/cgroup/memory/sw/memory.move_charge_at_immigrate 1 + chown root system /sys/fs/cgroup/memory/sw/tasks + chmod 0660 /sys/fs/cgroup/memory/sw/tasks + mkdir /system mkdir /data 0771 system system mkdir /cache 0770 system cache @@ -62,7 +64,8 @@ loglevel 3 # See storage config details at http://source.android.com/tech/storage/ mkdir /mnt/shell 0700 shell shell - mkdir /storage 0050 root sdcard_r + mkdir /mnt/media_rw 0700 media_rw media_rw + mkdir /storage 0751 root sdcard_r # Directory for putting things only root should see. mkdir /mnt/secure 0700 root root @@ -134,6 +137,10 @@ loglevel 3 # This is needed by any process that uses socket tagging. chmod 0644 /dev/xt_qtaguid +# Create location for fs_mgr to store abbreviated output from filesystem +# checker programs. + mkdir /dev/fscklogs 0770 root system + on post-fs # once everything is setup, no need to modify / mount rootfs rootfs / ro remount @@ -178,6 +185,9 @@ on post-fs-data # We restorecon /data in case the userdata partition has been reset. restorecon /data + # Avoid predictable entropy pool. Carry over entropy from previous boot. + copy /data/system/entropy.dat /dev/urandom + # Create dump dir and collect dumps. # Do this before we mount cache so eventually we can use cache for # storing dumps on platforms which do not have a dedicated dump partition. @@ -367,9 +377,6 @@ on boot setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680 setprop net.tcp.buffersize.evdo 4094,87380,262144,4096,16384,262144 -# Set this property so surfaceflinger is not started by system_init - setprop system_init.startsurfaceflinger 0 - class_start core class_start main @@ -399,6 +406,13 @@ on property:vold.decrypt=trigger_shutdown_framework class_reset late_start class_reset main +on property:sys.powerctl=* + powerctl ${sys.powerctl} + +# system server cannot write to /proc/sys files, so proxy it through init +on property:sys.sysctl.extra_free_kbytes=* + write /proc/sys/vm/extra_free_kbytes ${sys.sysctl.extra_free_kbytes} + ## Daemon processes to be run by init. ## service ueventd /sbin/ueventd @@ -406,6 +420,16 @@ service ueventd /sbin/ueventd critical seclabel u:r:ueventd:s0 +service healthd /sbin/healthd + class core + critical + seclabel u:r:healthd:s0 + +service healthd-charger /sbin/healthd -n + class charger + critical + seclabel u:r:healthd:s0 + service console /system/bin/sh class core console @@ -432,6 +456,7 @@ service servicemanager /system/bin/servicemanager user system group system critical + onrestart restart healthd onrestart restart zygote onrestart restart media onrestart restart surfaceflinger |