diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2010-07-09 14:36:59 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-07-09 14:36:59 -0700 |
commit | 62e010989f88ec7887c2b6db3a763eb46efa1591 (patch) | |
tree | 5a9d6ebf78fabf77c0b217d059b45820f4f1ae50 /target | |
parent | 380d76104d1e4fb4fb8ceece1fc096b2eab2bcd3 (diff) | |
parent | e9dc6ca1c0553a4cd4e4f36e376b0a533059af1f (diff) | |
download | build-62e010989f88ec7887c2b6db3a763eb46efa1591.zip build-62e010989f88ec7887c2b6db3a763eb46efa1591.tar.gz build-62e010989f88ec7887c2b6db3a763eb46efa1591.tar.bz2 |
am e9dc6ca1: merge from open-source master
Merge commit 'e9dc6ca1c0553a4cd4e4f36e376b0a533059af1f'
* commit 'e9dc6ca1c0553a4cd4e4f36e376b0a533059af1f':
Update to latest (froyo) init.rc
Diffstat (limited to 'target')
-rw-r--r-- | target/board/generic_x86/init.rc | 238 |
1 files changed, 188 insertions, 50 deletions
diff --git a/target/board/generic_x86/init.rc b/target/board/generic_x86/init.rc index 235083d..180acaf 100644 --- a/target/board/generic_x86/init.rc +++ b/target/board/generic_x86/init.rc @@ -12,58 +12,138 @@ loglevel 3 export ANDROID_ROOT /system export ANDROID_ASSETS /system/app export ANDROID_DATA /data - export EXTERNAL_STORAGE /sdcard + export EXTERNAL_STORAGE /mnt/sdcard + export ASEC_MOUNTPOINT /mnt/asec export BOOTCLASSPATH /system/framework/core.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar # Backward compatibility symlink /system/etc /etc + symlink /sys/kernel/debug /d + +# create mountpoints + mkdir /mnt 0775 root system + mkdir /mnt/sdcard 0000 system system + +# Create cgroup mount point for cpu accounting + mkdir /acct + mount cgroup none /acct cpuacct + mkdir /acct/uid + +# Backwards Compat - XXX: Going away in G* + symlink /mnt/sdcard /sdcard -# create mountpoints and mount tmpfs on sqlite_stmt_journals and debugfs on d - mkdir /d - mkdir /sdcard 0000 system system mkdir /system mkdir /data 0771 system system mkdir /cache 0770 system cache - mkdir /sqlite_stmt_journals 01777 root root - mount tmpfs tmpfs /sqlite_stmt_journals - mount debugfs debugfs /d + mkdir /config 0500 root root + + # Directory for putting things only root should see. + mkdir /mnt/secure 0700 root root + + # Directory for staging bindmounts + mkdir /mnt/secure/staging 0700 root root - mount rootfs rootfs / rw remount + # Directory-target for where the secure container + # imagefile directory will be bind-mounted + mkdir /mnt/secure/asec 0700 root root + + # Secure container public mount points. + mkdir /mnt/asec 0700 root system + mount tmpfs tmpfs /mnt/asec mode=0755,gid=1000 + + mount rootfs rootfs / ro remount write /proc/sys/kernel/panic_on_oops 1 write /proc/sys/kernel/hung_task_timeout_secs 0 write /proc/cpu/alignment 4 write /proc/sys/kernel/sched_latency_ns 10000000 write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000 + write /proc/sys/kernel/sched_compat_yield 1 + write /proc/sys/kernel/sched_child_runs_first 0 + +# Create cgroup mount points for process groups + mkdir /dev/cpuctl + mount cgroup none /dev/cpuctl cpu + chown system system /dev/cpuctl + chown system system /dev/cpuctl/tasks + chmod 0777 /dev/cpuctl/tasks + write /dev/cpuctl/cpu.shares 1024 + + mkdir /dev/cpuctl/fg_boost + chown system system /dev/cpuctl/fg_boost/tasks + chmod 0777 /dev/cpuctl/fg_boost/tasks + write /dev/cpuctl/fg_boost/cpu.shares 1024 + + mkdir /dev/cpuctl/bg_non_interactive + chown system system /dev/cpuctl/bg_non_interactive/tasks + chmod 0777 /dev/cpuctl/bg_non_interactive/tasks + # 5.0 % + write /dev/cpuctl/bg_non_interactive/cpu.shares 52 # mount mtd partitions # Hack... # We'll attempt to mount both as sdcard and harddisk... # Only one or the other will actually work... this way, we can # use the same init.rc for both - mount ext3 /dev/block/mmcblk0p6 /system - mount ext3 /dev/block/mmcblk0p6 /system rw remount - mount ext3 /dev/block/mmcblk0p2 /data nosuid nodev - mount ext3 /dev/block/mmcblk0p7 /cache nosuid nodev - mount ext3 /dev/block/sda6 /system - mount ext3 /dev/block/sda6 /system rw remount + # Mount /system rw first to give the filesystem a chance to save a checkpoint + mount ext3 /dev/block/sda6 /system rw + mount ext3 /dev/block/sda6 /system ro remount mount ext3 /dev/block/sda8 /data + mount ext3 /dev/block/sda7 /cache nosuid nodev # We chown/chmod /data again so because mount is run as root + defaults chown system system /data chmod 0771 /data + # 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. + + mkdir /data/dontpanic + chown root log /data/dontpanic + chmod 0750 /data/dontpanic + + # Collect apanic data, free resources and re-arm trigger + copy /proc/apanic_console /data/dontpanic/apanic_console + chown root log /data/dontpanic/apanic_console + chmod 0640 /data/dontpanic/apanic_console + + copy /proc/apanic_threads /data/dontpanic/apanic_threads + chown root log /data/dontpanic/apanic_threads + chmod 0640 /data/dontpanic/apanic_threads + + write /proc/apanic_console 1 + # Same reason as /data above chown system cache /cache chmod 0770 /cache # This may have been created by the recovery system with odd permissions - chown system system /cache/recovery + chown system cache /cache/recovery chmod 0770 /cache/recovery + #change permissions on vmallocinfo so we can grab it from bugreports + chown root log /proc/vmallocinfo + chmod 0440 /proc/vmallocinfo + + #change permissions on kmsg & sysrq-trigger so bugreports can grab kthread stacks + chown root system /proc/kmsg + chmod 0440 /proc/kmsg + chown root system /proc/sysrq-trigger + chmod 0220 /proc/sysrq-trigger + # create basic filesystem structure mkdir /data/misc 01771 system misc - mkdir /data/misc/hcid 0770 bluetooth bluetooth + mkdir /data/misc/bluetoothd 0770 bluetooth bluetooth + mkdir /data/misc/bluetooth 0770 system system + mkdir /data/misc/keystore 0700 keystore keystore + mkdir /data/misc/vpn 0770 system system + mkdir /data/misc/systemkeys 0700 system system + mkdir /data/misc/vpn/profiles 0770 system system + # give system access to wpa_supplicant.conf for backup and restore + mkdir /data/misc/wifi 0770 wifi wifi + chmod 0770 /data/misc/wifi + chmod 0660 /data/misc/wifi/wpa_supplicant.conf mkdir /data/local 0771 shell shell mkdir /data/local/tmp 0771 shell shell mkdir /data/data 0771 system system @@ -77,7 +157,6 @@ loglevel 3 chmod 0771 /data/dalvik-cache # create the lost+found directories, so as to enforce our permissions - mkdir /system/lost+found 0770 mkdir /data/lost+found 0770 mkdir /cache/lost+found 0770 @@ -88,32 +167,24 @@ loglevel 3 chmod 0770 /cache/lost+found on boot - -### Load some modules - # basic network init ifup lo hostname localhost domainname localdomain - # set RLIMIT_NICE to allow priorities from 19 to -20 setrlimit 13 40 40 - mkdir /data/core 0777 - write /proc/sys/kernel/core_pattern /data/core/%e.%p - setrlimit 4 -1 -1 # Define the oom_adj values for the classes of processes that can be # killed by the kernel. These are used in ActivityManagerService. setprop ro.FOREGROUND_APP_ADJ 0 setprop ro.VISIBLE_APP_ADJ 1 setprop ro.SECONDARY_SERVER_ADJ 2 + setprop ro.BACKUP_APP_ADJ 2 + setprop ro.HOME_APP_ADJ 4 setprop ro.HIDDEN_APP_MIN_ADJ 7 setprop ro.CONTENT_PROVIDER_ADJ 14 setprop ro.EMPTY_APP_ADJ 15 - setprop ro.BACKUP_APP_ADJ 2 - setprop ro.HOME_APP_ADJ 4 - # Define the memory thresholds at which the above process classes will # be killed. These numbers are in pages (4k). @@ -126,16 +197,22 @@ on boot setprop ro.CONTENT_PROVIDER_MEM 5632 setprop ro.EMPTY_APP_MEM 6144 - # Write value must be consistent with the above properties. +# Note that the driver only supports 6 slots, so we have HOME_APP at the +# same memory level as services. write /sys/module/lowmemorykiller/parameters/adj 0,1,2,7,14,15 write /proc/sys/vm/overcommit_memory 1 - write /sys/module/lowmemorykiller/parameters/minfree 1536,2048,4096,8192,16384 + write /proc/sys/vm/min_free_order_shift 4 + write /sys/module/lowmemorykiller/parameters/minfree 1536,2048,4096,5120,5632,6144 # Set init its forked children's oom_adj. write /proc/1/oom_adj -16 + # Tweak background writeout + write /proc/sys/vm/dirty_expire_centisecs 200 + write /proc/sys/vm/dirty_background_ratio 5 + # Permissions for System Server and daemons. chown radio system /sys/android_power/state chown radio system /sys/android_power/request_state @@ -148,11 +225,11 @@ on boot chmod 0660 /sys/power/state chmod 0660 /sys/power/wake_lock chmod 0660 /sys/power/wake_unlock - chown system system /sys/class/timed_output/vibrator/enable chown system system /sys/class/leds/keyboard-backlight/brightness chown system system /sys/class/leds/lcd-backlight/brightness chown system system /sys/class/leds/button-backlight/brightness + chown system system /sys/class/leds/jogball-backlight/brightness chown system system /sys/class/leds/red/brightness chown system system /sys/class/leds/green/brightness chown system system /sys/class/leds/blue/brightness @@ -166,10 +243,7 @@ on boot chown system system /sys/class/leds/red/device/grppwm chown system system /sys/class/leds/red/device/blink chown system system /sys/class/timed_output/vibrator/enable - chown bluetooth bluetooth /sys/module/board_trout/parameters/bluetooth_power_on chown system system /sys/module/sco/parameters/disable_esco - chmod 0660 /sys/module/board_trout/parameters/bluetooth_power_on - chown radio audio /system/etc/AudioPara4.csv chown system system /sys/kernel/ipv4/tcp_wmem_min chown system system /sys/kernel/ipv4/tcp_wmem_def chown system system /sys/kernel/ipv4/tcp_wmem_max @@ -178,9 +252,6 @@ on boot chown system system /sys/kernel/ipv4/tcp_rmem_max chown root radio /proc/cmdline -# Enable audio based on existing /dev/dsp - chmod 0666 /dev/snd/dsp - # Define TCP buffer sizes for various networks # ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax, setprop net.tcp.buffersize.default 4096,87380,110208,4096,16384,110208 @@ -191,7 +262,6 @@ on boot class_start default - ## Daemon processes to be run by init. ## service console /system/bin/sh @@ -199,16 +269,12 @@ service console /system/bin/sh # adbd is controlled by the persist.service.adb.enable system property service adbd /sbin/adbd -# disabled + disabled # adbd on at boot in emulator on property:ro.kernel.qemu=1 start adbd -# adbd on at boot in insecure builds -on property:ro.secure=0 - start adbd - on property:persist.service.adb.enable=1 start adbd @@ -223,32 +289,104 @@ service servicemanager /system/bin/servicemanager service vold /system/bin/vold socket vold stream 0660 root mount + ioprio be 2 + +service netd /system/bin/netd + socket netd stream 0660 root system + +service debuggerd /system/bin/debuggerd + +service ril-daemon /system/bin/rild + socket rild stream 660 root radio + socket rild-debug stream 660 radio system + user root + group radio cache inet misc audio + +service rcpvr /system/bin/sh /system/etc/rc.pvr start + oneshot +# service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server service zygote /system/bin/app_process -Xzygote -Xint:fast /system/bin --zygote --start-system-server socket zygote stream 666 + write /sys/power/wake_lock always_on onrestart write /sys/android_power/request_state wake + onrestart write /sys/power/state on + onrestart restart media service media /system/bin/mediaserver user media - group system audio camera graphics inet net_bt net_bt_admin + group system audio camera graphics inet net_bt net_bt_admin net_raw + ioprio rt 4 + +service bootanim /system/bin/bootanimation + user graphics + group graphics + disabled + oneshot service dbus /system/bin/dbus-daemon --system --nofork socket dbus stream 660 bluetooth bluetooth user bluetooth group bluetooth net_bt_admin -service brick /system/bin/wipe nuke +service bluetoothd /system/bin/bluetoothd -n + socket bluetooth stream 660 bluetooth bluetooth + socket dbus_bluetooth stream 660 bluetooth bluetooth + # init.rc does not yet support applying capabilities, so run as root and + # let bluetoothd drop uid to bluetooth with the right linux capabilities + group bluetooth net_bt_admin misc disabled +service hfag /system/bin/sdptool add --channel=10 HFAG + user bluetooth + group bluetooth net_bt_admin + disabled + oneshot + +service hsag /system/bin/sdptool add --channel=11 HSAG + user bluetooth + group bluetooth net_bt_admin + disabled + oneshot + +service opush /system/bin/sdptool add --channel=12 OPUSH + user bluetooth + group bluetooth net_bt_admin + disabled + oneshot + +service pbap /system/bin/sdptool add --channel=19 PBAP + user bluetooth + group bluetooth net_bt_admin + disabled + oneshot + service installd /system/bin/installd socket installd stream 600 system system -# -# Set by PRODUCT_PROPERTY_OVERRIDES in <product>.mk -on property:net.eth0.startonboot=1 - setprop ro.com.android.dataroaming true - start start_eth0 +service flash_recovery /system/etc/install-recovery.sh + oneshot + +service racoon /system/bin/racoon + socket racoon stream 600 system system + # racoon will setuid to vpn after getting necessary resources. + group net_admin + disabled + oneshot -service start_eth0 /system/bin/netcfg eth0 dhcp +service mtpd /system/bin/mtpd + socket mtpd stream 600 system system + user vpn + group vpn net_admin net_raw + disabled oneshot + +service keystore /system/bin/keystore /data/misc/keystore + user keystore + group keystore + socket keystore stream 666 + +service dumpstate /system/bin/dumpstate -s + socket dumpstate stream 0660 shell log disabled + oneshot |