init.rc revision 64dffd3975824512353244684c960845be8bdde2
1# Copyright (C) 2012 The Android Open Source Project 2# 3# IMPORTANT: Do not create world writable files or directories. 4# This is a common source of Android security bugs. 5# 6 7import /init.environ.rc 8import /init.usb.rc 9import /init.${ro.hardware}.rc 10import /init.${ro.zygote}.rc 11import /init.trace.rc 12 13on early-init 14 # Set init and its forked children's oom_adj. 15 write /proc/1/oom_score_adj -1000 16 17 # Set the security context of /adb_keys if present. 18 restorecon /adb_keys 19 20 start ueventd 21 22on init 23 sysclktz 0 24 25 # Backward compatibility. 26 symlink /system/etc /etc 27 symlink /sys/kernel/debug /d 28 29 # Link /vendor to /system/vendor for devices without a vendor partition. 30 symlink /system/vendor /vendor 31 32 # Mount cgroup mount point for cpu accounting 33 mount cgroup none /acct cpuacct 34 mkdir /acct/uid 35 36 # Create cgroup mount point for memory 37 mount tmpfs none /sys/fs/cgroup mode=0750,uid=0,gid=1000 38 mkdir /sys/fs/cgroup/memory 0750 root system 39 mount cgroup none /sys/fs/cgroup/memory memory 40 write /sys/fs/cgroup/memory/memory.move_charge_at_immigrate 1 41 chown root system /sys/fs/cgroup/memory/tasks 42 chmod 0660 /sys/fs/cgroup/memory/tasks 43 mkdir /sys/fs/cgroup/memory/sw 0750 root system 44 write /sys/fs/cgroup/memory/sw/memory.swappiness 100 45 write /sys/fs/cgroup/memory/sw/memory.move_charge_at_immigrate 1 46 chown root system /sys/fs/cgroup/memory/sw/tasks 47 chmod 0660 /sys/fs/cgroup/memory/sw/tasks 48 49 # See storage config details at http://source.android.com/tech/storage/ 50 mkdir /mnt/shell 0700 shell shell 51 mkdir /mnt/media_rw 0700 media_rw media_rw 52 mkdir /storage 0751 root sdcard_r 53 54 # Directory for putting things only root should see. 55 mkdir /mnt/secure 0700 root root 56 57 # Directory for staging bindmounts 58 mkdir /mnt/secure/staging 0700 root root 59 60 # Directory-target for where the secure container 61 # imagefile directory will be bind-mounted 62 mkdir /mnt/secure/asec 0700 root root 63 64 # Secure container public mount points. 65 mkdir /mnt/asec 0700 root system 66 mount tmpfs tmpfs /mnt/asec mode=0755,gid=1000 67 68 # Filesystem image public mount points. 69 mkdir /mnt/obb 0700 root system 70 mount tmpfs tmpfs /mnt/obb mode=0755,gid=1000 71 72 # memory control cgroup 73 mkdir /dev/memcg 0700 root system 74 mount cgroup none /dev/memcg memory 75 76 write /proc/sys/kernel/panic_on_oops 1 77 write /proc/sys/kernel/hung_task_timeout_secs 0 78 write /proc/cpu/alignment 4 79 write /proc/sys/kernel/sched_latency_ns 10000000 80 write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000 81 write /proc/sys/kernel/sched_compat_yield 1 82 write /proc/sys/kernel/sched_child_runs_first 0 83 write /proc/sys/kernel/randomize_va_space 2 84 write /proc/sys/kernel/kptr_restrict 2 85 write /proc/sys/vm/mmap_min_addr 32768 86 write /proc/sys/net/ipv4/ping_group_range "0 2147483647" 87 write /proc/sys/net/unix/max_dgram_qlen 300 88 write /proc/sys/kernel/sched_rt_runtime_us 950000 89 write /proc/sys/kernel/sched_rt_period_us 1000000 90 91 # reflect fwmark from incoming packets onto generated replies 92 write /proc/sys/net/ipv4/fwmark_reflect 1 93 write /proc/sys/net/ipv6/fwmark_reflect 1 94 95 # set fwmark on accepted sockets 96 write /proc/sys/net/ipv4/tcp_fwmark_accept 1 97 98 # Create cgroup mount points for process groups 99 mkdir /dev/cpuctl 100 mount cgroup none /dev/cpuctl cpu 101 chown system system /dev/cpuctl 102 chown system system /dev/cpuctl/tasks 103 chmod 0666 /dev/cpuctl/tasks 104 write /dev/cpuctl/cpu.shares 1024 105 write /dev/cpuctl/cpu.rt_runtime_us 800000 106 write /dev/cpuctl/cpu.rt_period_us 1000000 107 108 mkdir /dev/cpuctl/bg_non_interactive 109 chown system system /dev/cpuctl/bg_non_interactive/tasks 110 chmod 0666 /dev/cpuctl/bg_non_interactive/tasks 111 # 5.0 % 112 write /dev/cpuctl/bg_non_interactive/cpu.shares 52 113 write /dev/cpuctl/bg_non_interactive/cpu.rt_runtime_us 700000 114 write /dev/cpuctl/bg_non_interactive/cpu.rt_period_us 1000000 115 116 # qtaguid will limit access to specific data based on group memberships. 117 # net_bw_acct grants impersonation of socket owners. 118 # net_bw_stats grants access to other apps' detailed tagged-socket stats. 119 chown root net_bw_acct /proc/net/xt_qtaguid/ctrl 120 chown root net_bw_stats /proc/net/xt_qtaguid/stats 121 122 # Allow everybody to read the xt_qtaguid resource tracking misc dev. 123 # This is needed by any process that uses socket tagging. 124 chmod 0644 /dev/xt_qtaguid 125 126 # Create location for fs_mgr to store abbreviated output from filesystem 127 # checker programs. 128 mkdir /dev/fscklogs 0770 root system 129 130 # pstore/ramoops previous console log 131 mount pstore pstore /sys/fs/pstore 132 chown system log /sys/fs/pstore/console-ramoops 133 chmod 0440 /sys/fs/pstore/console-ramoops 134 chown system log /sys/fs/pstore/pmsg-ramoops-0 135 chmod 0440 /sys/fs/pstore/pmsg-ramoops-0 136 137 # enable armv8_deprecated instruction hooks 138 write /proc/sys/abi/swp 1 139 140# Healthd can trigger a full boot from charger mode by signaling this 141# property when the power button is held. 142on property:sys.boot_from_charger_mode=1 143 class_stop charger 144 trigger late-init 145 146# Load properties from /system/ + /factory after fs mount. 147on load_all_props_action 148 load_all_props 149 start logd 150 start logd-reinit 151 152# Indicate to fw loaders that the relevant mounts are up. 153on firmware_mounts_complete 154 rm /dev/.booting 155 156# Mount filesystems and start core system services. 157on late-init 158 trigger early-fs 159 trigger fs 160 trigger post-fs 161 trigger post-fs-data 162 163 # Load properties from /system/ + /factory after fs mount. Place 164 # this in another action so that the load will be scheduled after the prior 165 # issued fs triggers have completed. 166 trigger load_all_props_action 167 168 # Remove a file to wake up anything waiting for firmware. 169 trigger firmware_mounts_complete 170 171 trigger early-boot 172 trigger boot 173 174 175on post-fs 176 start logd 177 # once everything is setup, no need to modify / 178 mount rootfs rootfs / ro remount 179 # mount shared so changes propagate into child namespaces 180 mount rootfs rootfs / shared rec 181 182 # We chown/chmod /cache again so because mount is run as root + defaults 183 chown system cache /cache 184 chmod 0770 /cache 185 # We restorecon /cache in case the cache partition has been reset. 186 restorecon_recursive /cache 187 188 # Create /cache/recovery in case it's not there. It'll also fix the odd 189 # permissions if created by the recovery system. 190 mkdir /cache/recovery 0770 system cache 191 192 #change permissions on vmallocinfo so we can grab it from bugreports 193 chown root log /proc/vmallocinfo 194 chmod 0440 /proc/vmallocinfo 195 196 chown root log /proc/slabinfo 197 chmod 0440 /proc/slabinfo 198 199 #change permissions on kmsg & sysrq-trigger so bugreports can grab kthread stacks 200 chown root system /proc/kmsg 201 chmod 0440 /proc/kmsg 202 chown root system /proc/sysrq-trigger 203 chmod 0220 /proc/sysrq-trigger 204 chown system log /proc/last_kmsg 205 chmod 0440 /proc/last_kmsg 206 207 # make the selinux kernel policy world-readable 208 chmod 0444 /sys/fs/selinux/policy 209 210 # create the lost+found directories, so as to enforce our permissions 211 mkdir /cache/lost+found 0770 root root 212 213on post-fs-data 214 # We chown/chmod /data again so because mount is run as root + defaults 215 chown system system /data 216 chmod 0771 /data 217 # We restorecon /data in case the userdata partition has been reset. 218 restorecon /data 219 220 # Make sure we have the device encryption key 221 start logd 222 start vold 223 installkey /data 224 225 # Start bootcharting as soon as possible after the data partition is 226 # mounted to collect more data. 227 mkdir /data/bootchart 0755 shell shell 228 bootchart_init 229 230 # Avoid predictable entropy pool. Carry over entropy from previous boot. 231 copy /data/system/entropy.dat /dev/urandom 232 233 # create basic filesystem structure 234 mkdir /data/misc 01771 system misc 235 mkdir /data/misc/adb 02750 system shell 236 mkdir /data/misc/bluedroid 0770 bluetooth net_bt_stack 237 mkdir /data/misc/bluetooth 0770 system system 238 mkdir /data/misc/keystore 0700 keystore keystore 239 mkdir /data/misc/gatekeeper 0700 system system 240 mkdir /data/misc/keychain 0771 system system 241 mkdir /data/misc/net 0750 root shell 242 mkdir /data/misc/radio 0770 system radio 243 mkdir /data/misc/sms 0770 system radio 244 mkdir /data/misc/zoneinfo 0775 system system 245 mkdir /data/misc/vpn 0770 system vpn 246 mkdir /data/misc/shared_relro 0771 shared_relro shared_relro 247 mkdir /data/misc/systemkeys 0700 system system 248 mkdir /data/misc/wifi 0770 wifi wifi 249 mkdir /data/misc/wifi/sockets 0770 wifi wifi 250 mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi 251 mkdir /data/misc/ethernet 0770 system system 252 mkdir /data/misc/dhcp 0770 dhcp dhcp 253 mkdir /data/misc/user 0771 root root 254 mkdir /data/misc/perfprofd 0775 root root 255 # give system access to wpa_supplicant.conf for backup and restore 256 chmod 0660 /data/misc/wifi/wpa_supplicant.conf 257 mkdir /data/local 0751 root root 258 mkdir /data/misc/media 0700 media media 259 260 # For security reasons, /data/local/tmp should always be empty. 261 # Do not place files or directories in /data/local/tmp 262 mkdir /data/local/tmp 0771 shell shell 263 mkdir /data/data 0771 system system 264 mkdir /data/app-private 0771 system system 265 mkdir /data/app-asec 0700 root root 266 mkdir /data/app-lib 0771 system system 267 mkdir /data/app 0771 system system 268 mkdir /data/property 0700 root root 269 mkdir /data/tombstones 0771 system system 270 271 # create dalvik-cache, so as to enforce our permissions 272 mkdir /data/dalvik-cache 0771 root root 273 mkdir /data/dalvik-cache/profiles 0711 system system 274 275 # create resource-cache and double-check the perms 276 mkdir /data/resource-cache 0771 system system 277 chown system system /data/resource-cache 278 chmod 0771 /data/resource-cache 279 280 # create the lost+found directories, so as to enforce our permissions 281 mkdir /data/lost+found 0770 root root 282 283 # create directory for DRM plug-ins - give drm the read/write access to 284 # the following directory. 285 mkdir /data/drm 0770 drm drm 286 287 # create directory for MediaDrm plug-ins - give drm the read/write access to 288 # the following directory. 289 mkdir /data/mediadrm 0770 mediadrm mediadrm 290 291 mkdir /data/adb 0700 root root 292 293 # symlink to bugreport storage location 294 symlink /data/data/com.android.shell/files/bugreports /data/bugreports 295 296 # Separate location for storing security policy files on data 297 mkdir /data/security 0711 system system 298 299 # Create all remaining /data root dirs so that they are made through init 300 # and get proper encryption policy installed 301 mkdir /data/backup 0700 system system 302 mkdir /data/media 0770 media_rw media_rw 303 mkdir /data/ss 0700 system system 304 mkdir /data/system 0775 system system 305 mkdir /data/system/heapdump 0700 system system 306 mkdir /data/user 0711 system system 307 308 # Reload policy from /data/security if present. 309 setprop selinux.reload_policy 1 310 311 # Set SELinux security contexts on upgrade or policy update. 312 restorecon_recursive /data 313 314 # Check any timezone data in /data is newer than the copy in /system, delete if not. 315 exec - system system -- /system/bin/tzdatacheck /system/usr/share/zoneinfo /data/misc/zoneinfo 316 317 # If there is no fs-post-data action in the init.<device>.rc file, you 318 # must uncomment this line, otherwise encrypted filesystems 319 # won't work. 320 # Set indication (checked by vold) that we have finished this action 321 #setprop vold.post_fs_data_done 1 322 323on boot 324 # basic network init 325 ifup lo 326 hostname localhost 327 domainname localdomain 328 329 # set RLIMIT_NICE to allow priorities from 19 to -20 330 setrlimit 13 40 40 331 332 # Memory management. Basic kernel parameters, and allow the high 333 # level system server to be able to adjust the kernel OOM driver 334 # parameters to match how it is managing things. 335 write /proc/sys/vm/overcommit_memory 1 336 write /proc/sys/vm/min_free_order_shift 4 337 chown root system /sys/module/lowmemorykiller/parameters/adj 338 chmod 0220 /sys/module/lowmemorykiller/parameters/adj 339 chown root system /sys/module/lowmemorykiller/parameters/minfree 340 chmod 0220 /sys/module/lowmemorykiller/parameters/minfree 341 342 # Tweak background writeout 343 write /proc/sys/vm/dirty_expire_centisecs 200 344 write /proc/sys/vm/dirty_background_ratio 5 345 346 # Permissions for System Server and daemons. 347 chown radio system /sys/android_power/state 348 chown radio system /sys/android_power/request_state 349 chown radio system /sys/android_power/acquire_full_wake_lock 350 chown radio system /sys/android_power/acquire_partial_wake_lock 351 chown radio system /sys/android_power/release_wake_lock 352 chown system system /sys/power/autosleep 353 chown system system /sys/power/state 354 chown system system /sys/power/wakeup_count 355 chown radio system /sys/power/wake_lock 356 chown radio system /sys/power/wake_unlock 357 chmod 0660 /sys/power/state 358 chmod 0660 /sys/power/wake_lock 359 chmod 0660 /sys/power/wake_unlock 360 361 chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_rate 362 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_rate 363 chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_slack 364 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_slack 365 chown system system /sys/devices/system/cpu/cpufreq/interactive/min_sample_time 366 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/min_sample_time 367 chown system system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq 368 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq 369 chown system system /sys/devices/system/cpu/cpufreq/interactive/target_loads 370 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/target_loads 371 chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load 372 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load 373 chown system system /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay 374 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay 375 chown system system /sys/devices/system/cpu/cpufreq/interactive/boost 376 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost 377 chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse 378 chown system system /sys/devices/system/cpu/cpufreq/interactive/input_boost 379 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/input_boost 380 chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration 381 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration 382 chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy 383 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy 384 385 # Assume SMP uses shared cpufreq policy for all CPUs 386 chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 387 chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 388 389 chown system system /sys/class/timed_output/vibrator/enable 390 chown system system /sys/class/leds/keyboard-backlight/brightness 391 chown system system /sys/class/leds/lcd-backlight/brightness 392 chown system system /sys/class/leds/button-backlight/brightness 393 chown system system /sys/class/leds/jogball-backlight/brightness 394 chown system system /sys/class/leds/red/brightness 395 chown system system /sys/class/leds/green/brightness 396 chown system system /sys/class/leds/blue/brightness 397 chown system system /sys/class/leds/red/device/grpfreq 398 chown system system /sys/class/leds/red/device/grppwm 399 chown system system /sys/class/leds/red/device/blink 400 chown system system /sys/class/timed_output/vibrator/enable 401 chown system system /sys/module/sco/parameters/disable_esco 402 chown system system /sys/kernel/ipv4/tcp_wmem_min 403 chown system system /sys/kernel/ipv4/tcp_wmem_def 404 chown system system /sys/kernel/ipv4/tcp_wmem_max 405 chown system system /sys/kernel/ipv4/tcp_rmem_min 406 chown system system /sys/kernel/ipv4/tcp_rmem_def 407 chown system system /sys/kernel/ipv4/tcp_rmem_max 408 chown root radio /proc/cmdline 409 410 # Define default initial receive window size in segments. 411 setprop net.tcp.default_init_rwnd 60 412 413 class_start core 414 415on nonencrypted 416 class_start main 417 class_start late_start 418 419on property:vold.decrypt=trigger_default_encryption 420 start defaultcrypto 421 422on property:vold.decrypt=trigger_encryption 423 start surfaceflinger 424 start encrypt 425 426on property:sys.init_log_level=* 427 loglevel ${sys.init_log_level} 428 429on charger 430 class_start charger 431 432on property:vold.decrypt=trigger_reset_main 433 class_reset main 434 435on property:vold.decrypt=trigger_load_persist_props 436 load_persist_props 437 start logd 438 start logd-reinit 439 440on property:vold.decrypt=trigger_post_fs_data 441 trigger post-fs-data 442 443on property:vold.decrypt=trigger_restart_min_framework 444 class_start main 445 446on property:vold.decrypt=trigger_restart_framework 447 class_start main 448 class_start late_start 449 450on property:vold.decrypt=trigger_shutdown_framework 451 class_reset late_start 452 class_reset main 453 454on property:sys.powerctl=* 455 powerctl ${sys.powerctl} 456 457# system server cannot write to /proc/sys files, 458# and chown/chmod does not work for /proc/sys/ entries. 459# So proxy writes through init. 460on property:sys.sysctl.extra_free_kbytes=* 461 write /proc/sys/vm/extra_free_kbytes ${sys.sysctl.extra_free_kbytes} 462 463# "tcp_default_init_rwnd" Is too long! 464on property:sys.sysctl.tcp_def_init_rwnd=* 465 write /proc/sys/net/ipv4/tcp_default_init_rwnd ${sys.sysctl.tcp_def_init_rwnd} 466 467 468## Daemon processes to be run by init. 469## 470service ueventd /sbin/ueventd 471 class core 472 critical 473 seclabel u:r:ueventd:s0 474 475service logd /system/bin/logd 476 class core 477 socket logd stream 0666 logd logd 478 socket logdr seqpacket 0666 logd logd 479 socket logdw dgram 0222 logd logd 480 481service logd-reinit /system/bin/logd --reinit 482 oneshot 483 disabled 484 485service healthd /sbin/healthd 486 class core 487 critical 488 seclabel u:r:healthd:s0 489 490service console /system/bin/sh 491 class core 492 console 493 disabled 494 user shell 495 group shell log 496 seclabel u:r:shell:s0 497 498on property:ro.debuggable=1 499 start console 500 501# adbd is controlled via property triggers in init.<platform>.usb.rc 502service adbd /sbin/adbd --root_seclabel=u:r:su:s0 503 class core 504 socket adbd stream 660 system system 505 disabled 506 seclabel u:r:adbd:s0 507 508# adbd on at boot in emulator 509on property:ro.kernel.qemu=1 510 start adbd 511 512service lmkd /system/bin/lmkd 513 class core 514 critical 515 socket lmkd seqpacket 0660 system system 516 517service servicemanager /system/bin/servicemanager 518 class core 519 user system 520 group system 521 critical 522 onrestart restart healthd 523 onrestart restart zygote 524 onrestart restart media 525 onrestart restart surfaceflinger 526 onrestart restart drm 527 528service vold /system/bin/vold 529 class core 530 socket vold stream 0660 root mount 531 ioprio be 2 532 533service netd /system/bin/netd 534 class main 535 socket netd stream 0660 root system 536 socket dnsproxyd stream 0660 root inet 537 socket mdns stream 0660 root system 538 socket fwmarkd stream 0660 root inet 539 540service debuggerd /system/bin/debuggerd 541 class main 542 543service debuggerd64 /system/bin/debuggerd64 544 class main 545 546service ril-daemon /system/bin/rild 547 class main 548 socket rild stream 660 root radio 549 socket rild-debug stream 660 radio system 550 user root 551 group radio cache inet misc audio log 552 553service surfaceflinger /system/bin/surfaceflinger 554 class core 555 user system 556 group graphics drmrpc 557 onrestart restart zygote 558 559service drm /system/bin/drmserver 560 class main 561 user drm 562 group drm system inet drmrpc 563 564service media /system/bin/mediaserver 565 class main 566 user media 567 group audio camera inet net_bt net_bt_admin net_bw_acct drmrpc mediadrm 568 ioprio rt 4 569 570# One shot invocation to deal with encrypted volume. 571service defaultcrypto /system/bin/vdc --wait cryptfs mountdefaultencrypted 572 disabled 573 oneshot 574 # vold will set vold.decrypt to trigger_restart_framework (default 575 # encryption) or trigger_restart_min_framework (other encryption) 576 577# One shot invocation to encrypt unencrypted volumes 578service encrypt /system/bin/vdc --wait cryptfs enablecrypto inplace default 579 disabled 580 oneshot 581 # vold will set vold.decrypt to trigger_restart_framework (default 582 # encryption) 583 584service bootanim /system/bin/bootanimation 585 class core 586 user graphics 587 group graphics audio 588 disabled 589 oneshot 590 591service installd /system/bin/installd 592 class main 593 socket installd stream 600 system system 594 595service flash_recovery /system/bin/install-recovery.sh 596 class main 597 oneshot 598 599service racoon /system/bin/racoon 600 class main 601 socket racoon stream 600 system system 602 # IKE uses UDP port 500. Racoon will setuid to vpn after binding the port. 603 group vpn net_admin inet 604 disabled 605 oneshot 606 607service mtpd /system/bin/mtpd 608 class main 609 socket mtpd stream 600 system system 610 user vpn 611 group vpn net_admin inet net_raw 612 disabled 613 oneshot 614 615service keystore /system/bin/keystore /data/misc/keystore 616 class main 617 user keystore 618 group keystore drmrpc 619 620service dumpstate /system/bin/dumpstate -s 621 class main 622 socket dumpstate stream 0660 shell log 623 disabled 624 oneshot 625 626service mdnsd /system/bin/mdnsd 627 class main 628 user mdnsr 629 group inet net_raw 630 socket mdnsd stream 0660 mdnsr inet 631 disabled 632 oneshot 633 634service uncrypt /system/bin/uncrypt 635 class main 636 disabled 637 oneshot 638 639service pre-recovery /system/bin/uncrypt --reboot 640 class main 641 disabled 642 oneshot 643 644service perfprofd /system/xbin/perfprofd 645 class late_start 646 user root 647 oneshot 648 649on property:persist.logd.logpersistd=logcatd 650 # all exec/services are called with umask(077), so no gain beyond 0700 651 mkdir /data/misc/logd 0700 logd log 652 # logd for write to /data/misc/logd, log group for read from pstore (-L) 653 exec - logd log -- /system/bin/logcat -L -b all -v threadtime -v usec -v printable -D -f /data/misc/logd/logcat -r 64 -n 256 654 start logcatd 655 656service logcatd /system/bin/logcat -b all -v threadtime -v usec -v printable -D -f /data/misc/logd/logcat -r 64 -n 256 657 class late_start 658 disabled 659 # logd for write to /data/misc/logd, log group for read from log daemon 660 user logd 661 group log 662