goroh_kun

Sony Tablet Pのinit.rc

Feb 11th, 2012
284
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.88 KB | None | 0 0
  1. on early-init
  2. start ueventd
  3.  
  4. # create mountpoints
  5. mkdir /mnt 0775 root system
  6.  
  7. on init
  8.  
  9. sysclktz 0
  10.  
  11. loglevel 3
  12.  
  13. # setup the global environment
  14. export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
  15. export LD_LIBRARY_PATH /vendor/lib:/system/lib
  16. export ANDROID_BOOTLOGO 1
  17. export ANDROID_ROOT /system
  18. export ANDROID_ASSETS /system/app
  19. export ANDROID_DATA /data
  20. export ASEC_MOUNTPOINT /mnt/asec
  21. export LOOP_MOUNTPOINT /mnt/obb
  22. export BOOTCLASSPATH /system/framework/core.jar:/system/framework/apache-xml.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/core-junit.jar
  23.  
  24. # Backward compatibility
  25. symlink /system/etc /etc
  26. symlink /sys/kernel/debug /d
  27.  
  28. # Right now vendor lives on the same filesystem as system,
  29. # but someday that may change.
  30. symlink /system/vendor /vendor
  31.  
  32. # Create cgroup mount point for cpu accounting
  33. mkdir /acct
  34. mount cgroup none /acct cpuacct
  35. mkdir /acct/uid
  36.  
  37. mkdir /system
  38. mkdir /data 0771 system system
  39. mkdir /cache 0770 system cache
  40. mkdir /config 0500 root root
  41.  
  42. # Directory for putting things only root should see.
  43. mkdir /mnt/secure 0700 root root
  44.  
  45. # Directory for staging bindmounts
  46. mkdir /mnt/secure/staging 0700 root root
  47.  
  48. # Directory-target for where the secure container
  49. # imagefile directory will be bind-mounted
  50. mkdir /mnt/secure/asec 0700 root root
  51.  
  52. # Secure container public mount points.
  53. mkdir /mnt/asec 0700 root system
  54. mount tmpfs tmpfs /mnt/asec mode=0755,gid=1000
  55.  
  56. # Filesystem image public mount points.
  57. mkdir /mnt/obb 0700 root system
  58. mount tmpfs tmpfs /mnt/obb mode=0755,gid=1000
  59.  
  60. write /proc/sys/kernel/panic_on_oops 1
  61. write /proc/sys/kernel/hung_task_timeout_secs 0
  62. write /proc/cpu/alignment 4
  63. write /proc/sys/kernel/sched_latency_ns 10000000
  64. write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000
  65. write /proc/sys/kernel/sched_compat_yield 1
  66. write /proc/sys/kernel/sched_child_runs_first 0
  67.  
  68. # Create cgroup mount points for process groups
  69. mkdir /dev/cpuctl
  70. mount cgroup none /dev/cpuctl cpu
  71. chown system system /dev/cpuctl
  72. chown system system /dev/cpuctl/tasks
  73. chmod 0777 /dev/cpuctl/tasks
  74. write /dev/cpuctl/cpu.shares 1024
  75.  
  76. mkdir /dev/cpuctl/fg_boost
  77. chown system system /dev/cpuctl/fg_boost/tasks
  78. chmod 0777 /dev/cpuctl/fg_boost/tasks
  79. write /dev/cpuctl/fg_boost/cpu.shares 1024
  80.  
  81. mkdir /dev/cpuctl/bg_non_interactive
  82. chown system system /dev/cpuctl/bg_non_interactive/tasks
  83. chmod 0777 /dev/cpuctl/bg_non_interactive/tasks
  84. # 5.0 %
  85. write /dev/cpuctl/bg_non_interactive/cpu.shares 52
  86.  
  87. on fs
  88. # mount mtd partitions
  89. # Mount /system rw first to give the filesystem a chance to save a checkpoint
  90. mount yaffs2 mtd@system /system
  91. mount yaffs2 mtd@system /system ro remount
  92. mount yaffs2 mtd@userdata /data nosuid nodev
  93. mount yaffs2 mtd@cache /cache nosuid nodev
  94.  
  95. on post-fs
  96. # once everything is setup, no need to modify /
  97. mount rootfs rootfs / ro remount
  98.  
  99. # We chown/chmod /cache again so because mount is run as root + defaults
  100. chown system cache /cache
  101. chmod 0770 /cache
  102.  
  103. # This may have been created by the recovery system with odd permissions
  104. chown system cache /cache/recovery
  105. chmod 0770 /cache/recovery
  106.  
  107. #change permissions on vmallocinfo so we can grab it from bugreports
  108. chown root log /proc/vmallocinfo
  109. chmod 0440 /proc/vmallocinfo
  110.  
  111. #change permissions on kmsg & sysrq-trigger so bugreports can grab kthread stacks
  112. chown root system /proc/kmsg
  113. chmod 0440 /proc/kmsg
  114. chown root system /proc/sysrq-trigger
  115. chmod 0220 /proc/sysrq-trigger
  116.  
  117. # create the lost+found directories, so as to enforce our permissions
  118. mkdir /cache/lost+found 0770
  119.  
  120. # double check the perms, in case lost+found already exists, and set owner
  121. chown root root /cache/lost+found
  122. chmod 0770 /cache/lost+found
  123.  
  124. on post-fs-data
  125. # We chown/chmod /data again so because mount is run as root + defaults
  126. chown system system /data
  127. chmod 0771 /data
  128.  
  129. # Create dump dir and collect dumps.
  130. # Do this before we mount cache so eventually we can use cache for
  131. # storing dumps on platforms which do not have a dedicated dump partition.
  132.  
  133. mkdir /data/dontpanic
  134. chown root log /data/dontpanic
  135. chmod 0750 /data/dontpanic
  136.  
  137. # Collect apanic data, free resources and re-arm trigger
  138. copy /proc/apanic_console /data/dontpanic/apanic_console
  139. chown root log /data/dontpanic/apanic_console
  140. chmod 0640 /data/dontpanic/apanic_console
  141.  
  142. copy /proc/apanic_threads /data/dontpanic/apanic_threads
  143. chown root log /data/dontpanic/apanic_threads
  144. chmod 0640 /data/dontpanic/apanic_threads
  145.  
  146. write /proc/apanic_console 1
  147.  
  148. # create basic filesystem structure
  149. mkdir /data/misc 01771 system misc
  150. mkdir /data/misc/bluetoothd 0770 bluetooth bluetooth
  151. mkdir /data/misc/bluetooth 0770 system system
  152. mkdir /data/misc/keystore 0700 keystore keystore
  153. mkdir /data/misc/vpn 0770 system system
  154. mkdir /data/misc/systemkeys 0700 system system
  155. mkdir /data/misc/vpn/profiles 0770 system system
  156. # give system access to wpa_supplicant.conf for backup and restore
  157. mkdir /data/misc/wifi 0770 wifi wifi
  158. chmod 0770 /data/misc/wifi
  159. chmod 0660 /data/misc/wifi/wpa_supplicant.conf
  160. mkdir /data/local 0771 shell shell
  161. mkdir /data/local/tmp 0771 shell shell
  162. mkdir /data/data 0771 system system
  163. mkdir /data/app-private 0771 system system
  164. mkdir /data/app 0771 system system
  165. mkdir /data/property 0700 root root
  166.  
  167. # create dalvik-cache and double-check the perms
  168. mkdir /data/dalvik-cache 0771 system system
  169. chown system system /data/dalvik-cache
  170. chmod 0771 /data/dalvik-cache
  171.  
  172. # create the lost+found directories, so as to enforce our permissions
  173. mkdir /data/lost+found 0770
  174.  
  175. # double check the perms, in case lost+found already exists, and set owner
  176. chown root root /data/lost+found
  177. chmod 0770 /data/lost+found
  178.  
  179. # create directory for DRM plug-ins
  180. mkdir /data/drm 0774 drm drm
  181.  
  182. # rtc
  183. chown root rtc /dev/rtc0
  184. chmod 0640 /dev/rtc0
  185.  
  186. # If there is no fs-post-data action in the init.<device>.rc file, you
  187. # must uncomment this line, otherwise encrypted filesystems
  188. # won't work.
  189. # Set indication (checked by vold) that we have finished this action
  190. #setprop vold.post_fs_data_done 1
  191.  
  192. on boot
  193. # basic network init
  194. ifup lo
  195. hostname localhost
  196. domainname localdomain
  197.  
  198. # set RLIMIT_NICE to allow priorities from 19 to -20
  199. setrlimit 13 40 40
  200.  
  201. # Define the oom_adj values for the classes of processes that can be
  202. # killed by the kernel. These are used in ActivityManagerService.
  203. setprop ro.FOREGROUND_APP_ADJ 0
  204. setprop ro.VISIBLE_APP_ADJ 1
  205. setprop ro.PERCEPTIBLE_APP_ADJ 2
  206. setprop ro.HEAVY_WEIGHT_APP_ADJ 3
  207. setprop ro.SECONDARY_SERVER_ADJ 4
  208. setprop ro.BACKUP_APP_ADJ 5
  209. setprop ro.HOME_APP_ADJ 6
  210. setprop ro.HIDDEN_APP_MIN_ADJ 7
  211. setprop ro.EMPTY_APP_ADJ 15
  212.  
  213. # Define the memory thresholds at which the above process classes will
  214. # be killed. These numbers are in pages (4k).
  215. # These are currently tuned for tablets with approx 1GB RAM.
  216. setprop ro.FOREGROUND_APP_MEM 8192
  217. setprop ro.VISIBLE_APP_MEM 10240
  218. setprop ro.PERCEPTIBLE_APP_MEM 12288
  219. setprop ro.HEAVY_WEIGHT_APP_MEM 12288
  220. setprop ro.SECONDARY_SERVER_MEM 14336
  221. setprop ro.BACKUP_APP_MEM 14336
  222. setprop ro.HOME_APP_MEM 14336
  223. setprop ro.HIDDEN_APP_MEM 16384
  224. setprop ro.EMPTY_APP_MEM 20480
  225.  
  226. # Old values for phones. Should probably be adjusted up for the next
  227. # phone version.
  228. #setprop ro.FOREGROUND_APP_MEM 2048
  229. #setprop ro.VISIBLE_APP_MEM 3072
  230. #setprop ro.PERCEPTIBLE_APP_MEM 4096
  231. #setprop ro.HEAVY_WEIGHT_APP_MEM 4096
  232. #setprop ro.SECONDARY_SERVER_MEM 6144
  233. #setprop ro.BACKUP_APP_MEM 6144
  234. #setprop ro.HOME_APP_MEM 6144
  235. #setprop ro.HIDDEN_APP_MEM 7168
  236. #setprop ro.EMPTY_APP_MEM 8192
  237.  
  238. # Write value must be consistent with the above properties.
  239. # Note that the driver only supports 6 slots, so we have combined some of
  240. # the classes into the same memory level; the associated processes of higher
  241. # classes will still be killed first.
  242. write /sys/module/lowmemorykiller/parameters/adj 0,1,2,4,7,15
  243.  
  244. write /proc/sys/vm/overcommit_memory 1
  245. write /proc/sys/vm/min_free_order_shift 4
  246. write /sys/module/lowmemorykiller/parameters/minfree 8192,10240,12288,14336,16384,20480
  247.  
  248. # Set init its forked children's oom_adj.
  249. write /proc/1/oom_adj -16
  250.  
  251. # Tweak background writeout
  252. write /proc/sys/vm/dirty_expire_centisecs 200
  253. write /proc/sys/vm/dirty_background_ratio 5
  254.  
  255. # Permissions for System Server and daemons.
  256. chown radio system /sys/android_power/state
  257. chown radio system /sys/android_power/request_state
  258. chown radio system /sys/android_power/acquire_full_wake_lock
  259. chown radio system /sys/android_power/acquire_partial_wake_lock
  260. chown radio system /sys/android_power/release_wake_lock
  261. chown radio system /sys/power/state
  262. chown radio system /sys/power/wake_lock
  263. chown radio system /sys/power/wake_unlock
  264. chmod 0660 /sys/power/state
  265. chmod 0660 /sys/power/wake_lock
  266. chmod 0660 /sys/power/wake_unlock
  267. chown system system /sys/class/timed_output/vibrator/enable
  268. chown system system /sys/class/leds/keyboard-backlight/brightness
  269. chown system system /sys/class/leds/lcd-backlight/brightness
  270. chown system system /sys/class/leds/button-backlight/brightness
  271. chown system system /sys/class/leds/jogball-backlight/brightness
  272. chown system system /sys/class/leds/red/brightness
  273. chown system system /sys/class/leds/green/brightness
  274. chown system system /sys/class/leds/blue/brightness
  275. chown system system /sys/class/leds/red/device/grpfreq
  276. chown system system /sys/class/leds/red/device/grppwm
  277. chown system system /sys/class/leds/red/device/blink
  278. chown system system /sys/class/leds/red/brightness
  279. chown system system /sys/class/leds/green/brightness
  280. chown system system /sys/class/leds/blue/brightness
  281. chown system system /sys/class/leds/red/device/grpfreq
  282. chown system system /sys/class/leds/red/device/grppwm
  283. chown system system /sys/class/leds/red/device/blink
  284. chown system system /sys/class/timed_output/vibrator/enable
  285. chown system system /sys/module/sco/parameters/disable_esco
  286. chown system system /sys/kernel/ipv4/tcp_wmem_min
  287. chown system system /sys/kernel/ipv4/tcp_wmem_def
  288. chown system system /sys/kernel/ipv4/tcp_wmem_max
  289. chown system system /sys/kernel/ipv4/tcp_rmem_min
  290. chown system system /sys/kernel/ipv4/tcp_rmem_def
  291. chown system system /sys/kernel/ipv4/tcp_rmem_max
  292. chown root radio /proc/cmdline
  293.  
  294. # Define TCP buffer sizes for various networks
  295. # ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
  296. setprop net.tcp.buffersize.default 4096,87380,110208,4096,16384,110208
  297. setprop net.tcp.buffersize.wifi 4095,87380,110208,4096,16384,110208
  298. setprop net.tcp.buffersize.hspa 4094,87380,1048576,4096,16384,110208
  299. setprop net.tcp.buffersize.hsdpa 4094,87380,1048576,4096,16384,110208
  300. setprop net.tcp.buffersize.hsupa 4094,87380,1048576,4096,16384,110208
  301. setprop net.tcp.buffersize.umts 4094,87380,196608,4096,16384,110208
  302. setprop net.tcp.buffersize.edge 4093,26280,35040,4096,16384,35040
  303. setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680
  304.  
  305. # Set this property so surfaceflinger is not started by system_init
  306. setprop system_init.startsurfaceflinger 0
  307.  
  308. # start later
  309. # class_start core
  310. # class_start main
  311.  
  312. on nonencrypted
  313. class_start late_start
  314.  
  315. on property:vold.decrypt=trigger_reset_main
  316. class_reset main
  317.  
  318. on property:vold.decrypt=trigger_load_persist_props
  319. load_persist_props
  320.  
  321. on property:vold.decrypt=trigger_post_fs_data
  322. trigger post-fs-data
  323.  
  324. on property:vold.decrypt=trigger_restart_min_framework
  325. class_start main
  326.  
  327. on property:vold.decrypt=trigger_restart_framework
  328. class_start main
  329. class_start late_start
  330.  
  331. on property:vold.decrypt=trigger_shutdown_framework
  332. class_reset late_start
  333. class_reset main
  334.  
  335. ## Daemon processes to be run by init.
  336. ##
  337. service ueventd /sbin/ueventd
  338. class core
  339. critical
  340.  
  341. service console /system/bin/sh
  342. class core
  343. console
  344. disabled
  345. user shell
  346. group log
  347.  
  348. on property:ro.debuggable=1
  349. start console
  350.  
  351. # adbd is controlled by the persist.service.adb.enable system property
  352. service adbd /sbin/adbd
  353. class core
  354. disabled
  355.  
  356. # adbd on at boot in emulator
  357. on property:ro.kernel.qemu=1
  358. start adbd
  359.  
  360. on property:persist.service.adb.enable=1
  361. start adbd
  362.  
  363. on property:persist.service.adb.enable=0
  364. stop adbd
  365.  
  366. service servicemanager /system/bin/servicemanager
  367. class core
  368. user system
  369. group system
  370. critical
  371. onrestart restart zygote
  372. onrestart restart media
  373.  
  374. service vold /system/bin/vold
  375. class core
  376. socket vold stream 0660 root mount
  377. ioprio be 2
  378.  
  379. service netd /system/bin/netd
  380. class main
  381. socket netd stream 0660 root system
  382. socket dnsproxyd stream 0660 root inet
  383.  
  384. service debuggerd /system/bin/debuggerd
  385. class main
  386.  
  387. service ril-daemon /system/bin/rild
  388. class late_start
  389. socket rild stream 660 root radio
  390. socket rild-debug stream 660 radio system
  391. user root
  392. group radio cache inet misc audio sdcard_rw
  393.  
  394. service surfaceflinger /system/bin/surfaceflinger
  395. class main
  396. user system
  397. group graphics
  398. onrestart restart zygote
  399.  
  400. service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server
  401. class main
  402. socket zygote stream 666
  403. onrestart write /sys/android_power/request_state wake
  404. onrestart write /sys/power/state on
  405. onrestart restart surfaceflinger
  406. onrestart restart media
  407. onrestart restart netd
  408.  
  409. service drm /system/bin/drmserver
  410. class main
  411. user drm
  412. group system inet rtc
  413.  
  414. service media /system/bin/mediaserver
  415. class main
  416. user media
  417. group audio camera inet net_bt net_bt_admin
  418. ioprio rt 4
  419.  
  420. service bootanim /system/bin/bootanimation
  421. class main
  422. user graphics
  423. group graphics
  424. disabled
  425. oneshot
  426.  
  427. service dbus /system/bin/dbus-daemon --system --nofork
  428. class main
  429. socket dbus stream 660 bluetooth bluetooth
  430. user bluetooth
  431. group bluetooth net_bt_admin
  432.  
  433. service bluetoothd /system/bin/bluetoothd -n
  434. class main
  435. socket bluetooth stream 660 bluetooth bluetooth
  436. socket dbus_bluetooth stream 660 bluetooth bluetooth
  437. # init.rc does not yet support applying capabilities, so run as root and
  438. # let bluetoothd drop uid to bluetooth with the right linux capabilities
  439. group bluetooth net_bt_admin misc
  440. disabled
  441.  
  442. service installd /system/bin/installd
  443. class main
  444. socket installd stream 600 system system
  445.  
  446. service flash_recovery /system/etc/install-recovery.sh
  447. class main
  448. oneshot
  449.  
  450. service racoon /system/bin/racoon
  451. class main
  452. socket racoon stream 600 system system
  453. # racoon will setuid to vpn after getting necessary resources.
  454. group net_admin
  455. disabled
  456. oneshot
  457.  
  458. service mtpd /system/bin/mtpd
  459. class main
  460. socket mtpd stream 600 system system
  461. user vpn
  462. group vpn net_admin net_raw
  463. disabled
  464. oneshot
  465.  
  466. service keystore /system/bin/keystore /data/misc/keystore
  467. class main
  468. user keystore
  469. group keystore
  470. socket keystore stream 666
  471.  
  472. service dumpstate /system/bin/dumpstate -s
  473. class main
  474. socket dumpstate stream 0660 shell log
  475. disabled
  476. oneshot
Add Comment
Please, Sign In to add comment