[Sony Xperia Miro, Tipo (Dual), J, E] raoufn1984:
on early-init

# Set init and its forked children's oom_adj.

write /proc/1/oom_adj -16

start ueventd

# create mountpoints

mkdir /mnt 0775 root system

on init

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 ASEC_MOUNTPOINT /mnt/asec

export LOOP_MOUNTPOINT /mnt/obb

export SD_EXT_DIRECTORY /sd-ext

export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/filterfw.jar

# Backward compatibility

symlink /system/etc /etc

symlink /sys/kernel/debug /d

# Right now vendor lives on the same filesystem as system,

# but someday that may change.

symlink /system/vendor /vendor

# Create cgroup mount point for cpu accounting

mkdir /acct

mount cgroup none /acct cpuacct

mkdir /acct/uid

mkdir /system

mkdir /data 0771 system system

mkdir /cache 0770 system cache

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

# 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

# Filesystem image public mount points.

mkdir /mnt/obb 0700 root system

mount tmpfs tmpfs /mnt/obb mode=0755,gid=1000

# SD-EXT

mkdir /sd-ext 0771 system system

symlink /sd-ext /mnt/sd-ext

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

write /proc/sys/kernel/randomize_va_space 2

# 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

# Allow everybody to read the xt_qtaguid resource tracking misc dev.

# This is needed by any process that uses socket tagging.

chmod 0644 /dev/xt_qtaguid

on post-fs

# once everything is setup, no need to modify /

mount rootfs rootfs / ro remount

# We chown/chmod /cache again so because mount is run as root + defaults

chown system cache /cache

chmod 0770 /cache

# This may have been created by the recovery system with odd permissions

mkdir /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 the lost+found directories, so as to enforce our permissions

mkdir /cache/lost+found 0770 root root

on post-fs-data

# 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 0750 root log

# 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

# create basic filesystem structure

mkdir /data/misc 01771 system misc

mkdir /data/misc/bluetoothd 0770 bluetooth bluetooth

mkdir /data/misc/bluetooth 0770 system system

mkdir /data/misc/keystore 0700 keystore keystore

mkdir /data/misc/keychain 0771 system system

mkdir /data/misc/vpn 0770 system vpn

mkdir /data/misc/systemkeys 0700 system system

# give system access to wpa_supplicant.conf for backup and restore

mkdir /data/misc/wifi 0770 wifi wifi

chmod 0660 /data/misc/wifi/wpa_supplicant.conf

mkdir /data/local 0751 root root

mkdir /data/local/tmp 0771 shell shell

mkdir /data/data 0771 system system

mkdir /data/app-private 0771 system system

mkdir /data/app 0771 system system

mkdir /data/property 0700 root root

# create dalvik-cache, so as to enforce our permissions

mkdir /data/dalvik-cache 0771 system system

# create resource-cache and double-check the perms

mkdir /data/resource-cache 0771 system system

chown system system /data/resource-cache

chmod 0771 /data/resource-cache

# create the lost+found directories, so as to enforce our permissions

mkdir /data/lost+found 0770 root root

# create directory for DRM plug-ins - give drm the read/write access to

# the following directory.

mkdir /data/drm 0770 drm drm

# If there is no fs-post-data action in the init.<device>.rc file, you

# must uncomment this line, otherwise encrypted filesystems

# won't work.

# Set indication (checked by vold) that we have finished this action

#setprop vold.post_fs_data_done 1

chown system system /sys/class/android_usb/android0/f_mass_storage/lun/file

chmod 0660 /sys/class/android_usb/android0/f_mass_storage/lun/file

chown system system /sys/class/android_usb/android0/f_rndis/ethaddr

chmod 0660 /sys/class/android_usb/android0/f_rndis/ethaddr

on boot

# basic network init

ifup lo

hostname localhost

domainname localdomain

# set RLIMIT_NICE to allow priorities from 19 to -20

setrlimit 13 40 40

# Memory management. Basic kernel parameters, and allow the high

# level system server to be able to adjust the kernel OOM driver

# paramters to match how it is managing things.

write /proc/sys/vm/overcommit_memory 1

write /proc/sys/vm/min_free_order_shift 4

chown root system /sys/module/lowmemorykiller/parameters/adj

chmod 0664 /sys/module/lowmemorykiller/parameters/adj

chown root system /sys/module/lowmemorykiller/parameters/minfree

chmod 0664 /sys/module/lowmemorykiller/parameters/minfree

# 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

chown radio system /sys/android_power/acquire_full_wake_lock

chown radio system /sys/android_power/acquire_partial_wake_lock

chown radio system /sys/android_power/release_wake_lock

chown radio system /sys/power/state

chown radio system /sys/power/wake_lock

chown radio system /sys/power/wake_unlock

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

chown system system /sys/class/leds/red/device/grpfreq

chown system system /sys/class/leds/red/device/grppwm

chown system system /sys/class/leds/red/device/blink

chown system system /sys/class/leds/red/brightness

chown system system /sys/class/leds/green/brightness

chown system system /sys/class/leds/blue/brightness

chown system system /sys/class/leds/red/device/grpfreq

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 system system /sys/module/sco/parameters/disable_esco

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

chown system system /sys/kernel/ipv4/tcp_rmem_min

chown system system /sys/kernel/ipv4/tcp_rmem_def

chown system system /sys/kernel/ipv4/tcp_rmem_max

chown root radio /proc/cmdline

# Define TCP buffer sizes for various networks

# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,

setprop net.tcp.buffersize.default 4096,87380,110208,4096,16384,110208

setprop net.tcp.buffersize.wifi 524288,1048576,2097152,262144,524288,1048576

setprop net.tcp.buffersize.lte 524288,1048576,2097152,262144,524288,1048576

setprop net.tcp.buffersize.umts 4094,87380,110208,4096,16384,110208

setprop net.tcp.buffersize.hspa 4094,87380,262144,4096,16384,262144

setprop net.tcp.buffersize.edge 4093,26280,35040,4096,16384,35040

setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680

# Set this property so surfaceflinger is not started by system_init

setprop system_init.startsurfaceflinger 0

exec /system/bin/sysinit

class_start core

class_start main

on nonencrypted

class_start late_start

on charger

class_start charger

on property:vold.decrypt=trigger_reset_main

class_reset main

on property:vold.decrypt=trigger_load_persist_props

load_persist_props

on property:vold.decrypt=trigger_post_fs_data

trigger post-fs-data

on property:vold.decrypt=trigger_restart_min_framework

class_start main

on property:vold.decrypt=trigger_restart_framework

class_start main

class_start late_start

on property:vold.decrypt=trigger_shutdown_framework

class_reset late_start

class_reset main

# Used to disable USB when switching states

on property:sys.usb.config=none

stop adbd

write /sys/class/android_usb/android0/enable 0

write /sys/class/android_usb/android0/bDeviceClass 0

setprop sys.usb.state $sys.usb.config

# adb only USB configuration

# This should only be used during device bringup

# and as a fallback if the USB manager fails to set a standard configuration

on property:sys.usb.config=adb

write /sys/class/android_usb/android0/enable 0

write /sys/class/android_usb/android0/idVendor 18d1

write /sys/class/android_usb/android0/idProduct D002

write /sys/class/android_usb/android0/functions $sys.usb.config

write /sys/class/android_usb/android0/enable 1

start adbd

setprop sys.usb.state $sys.usb.config

# USB accessory configuration

on property:sys.usb.config=accessory

write /sys/class/android_usb/android0/enable 0

write /sys/class/android_usb/android0/idVendor 18d1

write /sys/class/android_usb/android0/idProduct 2d00

write /sys/class/android_usb/android0/functions $sys.usb.config

write /sys/class/android_usb/android0/enable 1

setprop sys.usb.state $sys.usb.config

# USB accessory configuration, with adb

on property:sys.usb.config=accessory,adb

write /sys/class/android_usb/android0/enable 0

write /sys/class/android_usb/android0/idVendor 18d1

write /sys/class/android_usb/android0/idProduct 2d01

write /sys/class/android_usb/android0/functions $sys.usb.config

write /sys/class/android_usb/android0/enable 1

start adbd

setprop sys.usb.state $sys.usb.config

# Used to set USB configuration at boot and to switch the configuration

# when changing the default configuration

on property:persist.sys.usb.config=*

setprop sys.usb.config $persist.sys.usb.config

## Daemon processes to be run by init.

##

service ueventd /sbin/ueventd

class core

critical

service console /system/bin/sh

class core

console

disabled

user shell

group log

on property:ro.debuggable=1

start console

# adbd is controlled via property triggers in init.<platform>.usb.rc

service adbd /sbin/adbd

class core

disabled

# adbd on at boot in emulator

on property:ro.kernel.qemu=1

start adbd

# This property trigger has added to imitiate the previous behavior of "adb root".

# The adb gadget driver used to reset the USB bus when the adbd daemon exited,

# and the host side adb relied on this behavior to force it to reconnect with the

# new adbd instance after init relaunches it. So now we force the USB bus to reset

# here when adbd sets the service.adb.root property to 1. We also restart adbd here

# rather than waiting for init to notice its death and restarting it so the timing

# of USB resetting and adb restarting more closely matches the previous behavior.

on property:service.adb.root=1

write /sys/class/android_usb/android0/enable 0

restart adbd

write /sys/class/android_usb/android0/enable 1

service servicemanager /system/bin/servicemanager

class core

user system

group system

critical

onrestart restart zygote

onrestart restart media

onrestart restart surfaceflinger

onrestart restart drm

service vold /system/bin/vold

class core

socket vold stream 0660 root mount

ioprio be 2

service netd /system/bin/netd

class main

socket netd stream 0660 root system dbus_access

socket dnsproxyd stream 0660 root inet

service debuggerd /system/bin/debuggerd

class main

service ril-daemon /system/bin/rild

class main

socket rild stream 660 root radio

socket rild-debug stream 660 radio system

user root

group radio cache inet misc audio sdcard_rw log dbus_access

service surfaceflinger /system/bin/surfaceflinger

class main

user system

group graphics

onrestart restart zygote

rlimit MEMLOCK 33554432 33554432

service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server

class main

socket zygote stream 660 root system

onrestart write /proc/sysrq-trigger c

service drm /system/bin/drmserver

class main

user drm

group system inet drmrpc

service bootanim /system/bin/bootanimation

class main

user graphics

group graphics

disabled

oneshot

service dbus /system/bin/dbus-daemon --system --nofork

class main

socket dbus stream 660 bluetooth bluetooth

socket dbus_ste stream 660 bluetooth dbus_access

user bluetooth

group bluetooth net_bt_admin dbus_access

service bluetoothd /system/bin/bluetoothd -n

class main

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 installd /system/bin/installd

class main

socket installd stream 600 system system

service flash_recovery /system/etc/install-recovery.sh

class main

oneshot

service racoon /system/bin/racoon

class main

socket racoon stream 600 system system

# IKE uses UDP port 500. Racoon will setuid to vpn after binding the port.

group vpn net_admin inet

disabled

oneshot

service mtpd /system/bin/mtpd

class main

socket mtpd stream 600 system system

user vpn

group vpn net_admin inet net_raw

disabled

oneshot

service keystore /system/bin/keystore /data/misc/keystore

class main

user keystore

group keystore

socket keystore stream 666

service dumpstate /system/bin/dumpstate -s

class main

socket dumpstate stream 0660 shell log

disabled

oneshot

service veng /sbin/veng.sh

class main

user root

group root

oneshot