summaryrefslogtreecommitdiff
path: root/recovery/init.rc (plain)
blob: dc28a5269b947da2c0c0bd8d804079a499dea225
1import /init.recovery.${ro.hardware}.rc
2
3on early-init
4
5 # Set the security context for the init process.
6 # This should occur before anything else (e.g. ueventd) is started.
7 setcon u:r:init:s0
8
9 start ueventd
10
11on init
12 export PATH /sbin:/system/bin
13 export ANDROID_ROOT /system
14 export ANDROID_DATA /data
15 export EXTERNAL_STORAGE /sdcard
16
17 symlink /system/etc /etc
18
19 mkdir /sdcard
20 mkdir /system
21 mkdir /data
22 mkdir /cache
23 mkdir /sideload
24 mount tmpfs tmpfs /tmp
25
26 chown root shell /tmp
27 chmod 0775 /tmp
28
29 write /proc/sys/kernel/panic_on_oops 1
30 write /proc/sys/vm/max_map_count 1000000
31
32 # Mount configfs for ffs
33 mount configfs configfs /sys/kernel/config
34
35on fs
36 mkdir /sys/kernel/config/usb_gadget/ffs 0770 shell shell
37 mkdir /sys/kernel/config/usb_gadget/ffs/functions/ffs.adb 0770 shell shell
38
39 mkdir /dev/usb-ffs 0770 shell shell
40 mkdir /dev/usb-ffs/adb 0770 shell shell
41 mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
42
43 write /sys/class/android_usb/android0/enable 0
44 write /sys/class/android_usb/android0/idVendor 18D1
45 write /sys/class/android_usb/android0/idProduct D001
46 write /sys/class/android_usb/android0/f_ffs/aliases adb
47 write /sys/class/android_usb/android0/functions adb
48 write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}
49 write /sys/class/android_usb/android0/iProduct ${ro.product.model}
50 write /sys/class/android_usb/android0/iSerial ${ro.serialno}
51
52on boot
53 ifup lo
54 hostname localhost
55 domainname localdomain
56
57 class_start default
58
59# Load properties from /system/ + /factory after fs mount.
60on load_all_props_action
61 load_all_props
62
63on firmware_mounts_complete
64 rm /dev/.booting
65
66# Mount filesystems and start core system services.
67on late-init
68 trigger early-fs
69 trigger fs
70 trigger post-fs
71 trigger post-fs-data
72
73 # Load properties from /system/ + /factory after fs mount. Place
74 # this in another action so that the load will be scheduled after the prior
75 # issued fs triggers have completed.
76 trigger load_all_props_action
77
78 # Remove a file to wake up anything waiting for firmware
79 trigger firmware_mounts_complete
80
81 trigger early-boot
82 trigger boot
83
84on property:sys.powerctl=*
85 powerctl ${sys.powerctl}
86
87service ueventd /sbin/ueventd
88 critical
89 seclabel u:r:ueventd:s0
90
91service healthd /sbin/healthd -r
92 critical
93 seclabel u:r:healthd:s0
94
95service recovery /sbin/recovery
96 seclabel u:r:recovery:s0
97
98service adbd /sbin/adbd --device_banner=recovery
99 disabled
100 socket adbd stream 660 system system
101 seclabel u:r:adbd:s0
102
103# Always start adbd on userdebug and eng builds
104on property:ro.debuggable=1
105 write /sys/class/android_usb/android0/enable 1
106 start adbd
107
108# Restart adbd so it can run as root
109on property:service.adb.root=1
110 write /sys/class/android_usb/android0/enable 0
111 restart adbd
112 write /sys/class/android_usb/android0/enable 1
113