for android-10 This will support updating the ramdisk to a different compression format and co-exist with magisk. We are also cleaning up and removing non android-10 api makefile actions. We are also moving twrp repacking to its own class. We check the new ramdisk format and if it's different we have magisk compress using the new ramdisk format. Change-Id: I770030aae7797e75817178b2f0fccd9f39dc23af
220 lines
7.1 KiB
Plaintext
220 lines
7.1 KiB
Plaintext
import /init.recovery.logd.rc
|
|
import /init.recovery.ldconfig.rc
|
|
import /init.recovery.mksh.rc
|
|
import /init.recovery.usb.rc
|
|
import /init.recovery.service.rc
|
|
import /init.recovery.vold_decrypt.rc
|
|
import /init.recovery.${ro.hardware}.rc
|
|
|
|
on early-init
|
|
# Set the security context of /postinstall if present.
|
|
restorecon /postinstall
|
|
|
|
# ueventd wants to write to /acct
|
|
mount cgroup none /acct cpuacct
|
|
mkdir /acct/uid
|
|
start ueventd
|
|
|
|
on init
|
|
export PATH /sbin:/system/bin
|
|
export LD_LIBRARY_PATH /system/lib64
|
|
|
|
export ANDROID_ROOT /system
|
|
export ANDROID_DATA /data
|
|
export EXTERNAL_STORAGE /sdcard
|
|
|
|
symlink /proc/self/fd/0 /dev/stdin
|
|
symlink /proc/self/fd/1 /dev/stdout
|
|
symlink /proc/self/fd/2 /dev/stderr
|
|
|
|
symlink /system/bin /bin
|
|
symlink /system/etc /etc
|
|
|
|
mount cgroup none /acct cpuacct
|
|
mkdir /acct/uid
|
|
|
|
mkdir /system
|
|
mkdir /data
|
|
mkdir /cache
|
|
mkdir /sideload
|
|
mkdir /mnt/system
|
|
mount tmpfs tmpfs /tmp
|
|
|
|
chown root shell /tmp
|
|
chmod 0775 /tmp
|
|
|
|
write /proc/sys/kernel/panic_on_oops 1
|
|
write /proc/sys/vm/max_map_count 1000000
|
|
|
|
on fs
|
|
mount pstore pstore /sys/fs/pstore
|
|
mkdir /dev/usb-ffs 0770 shell shell
|
|
mkdir /dev/usb-ffs/adb 0770 shell shell
|
|
mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
|
|
|
|
on boot
|
|
ifup lo
|
|
hostname localhost
|
|
domainname localdomain
|
|
|
|
class_start default
|
|
|
|
# Load properties, pre-Android 6.0
|
|
on load_all_props_action
|
|
load_all_props
|
|
|
|
# Load properties, Android 6.0+
|
|
on load_system_props_action
|
|
load_system_props
|
|
|
|
# Load properties, Android 6.0+, vendor init lives here
|
|
on load_persist_props_action
|
|
load_persist_props
|
|
|
|
on firmware_mounts_complete
|
|
rm /dev/.booting
|
|
|
|
# Mount filesystems and start core system services.
|
|
on late-init
|
|
trigger early-fs
|
|
trigger fs
|
|
trigger post-fs
|
|
trigger post-fs-data
|
|
|
|
# Load properties, pre-Android 6.0
|
|
trigger load_all_props_action
|
|
|
|
# Load properties from /system/ + /factory after fs mount. Place
|
|
# this in another action so that the load will be scheduled after the prior
|
|
# issued fs triggers have completed.
|
|
trigger load_system_props_action
|
|
|
|
# Load properties, Android 6.0+, vendor init lives here
|
|
trigger load_persist_props_action
|
|
|
|
# Remove a file to wake up anything waiting for firmware
|
|
trigger firmware_mounts_complete
|
|
|
|
trigger early-boot
|
|
trigger boot
|
|
|
|
start logd
|
|
|
|
on property:sys.powerctl=*
|
|
powerctl ${sys.powerctl}
|
|
|
|
service ueventd /system/bin/ueventd
|
|
critical
|
|
seclabel u:r:ueventd:s0
|
|
|
|
service adbd /system/bin/adbd --root_seclabel=u:r:su:s0 --device_banner=recovery
|
|
disabled
|
|
socket adbd stream 660 system system
|
|
seclabel u:r:adbd:s0
|
|
|
|
# Always start adbd on userdebug and eng builds
|
|
on property:ro.debuggable=1
|
|
#write /sys/class/android_usb/android0/enable 1
|
|
#start adbd
|
|
setprop service.adb.root 1
|
|
|
|
service fastbootd /system/bin/fastbootd
|
|
disabled
|
|
group system
|
|
seclabel u:r:fastbootd:s0
|
|
|
|
# Restart adbd so it can run as root
|
|
on property:service.adb.root=1
|
|
restart adbd
|
|
|
|
# Always start adbd on userdebug and eng builds
|
|
on fs && property:ro.debuggable=1
|
|
setprop sys.usb.config adb
|
|
|
|
on fs && property:sys.usb.configfs=1
|
|
mount configfs none /config
|
|
mkdir /config/usb_gadget/g1 0770 shell shell
|
|
write /config/usb_gadget/g1/idVendor 0x18D1
|
|
mkdir /config/usb_gadget/g1/strings/0x409 0770
|
|
write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno}
|
|
write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer}
|
|
write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model}
|
|
mkdir /config/usb_gadget/g1/functions/ffs.adb
|
|
mkdir /config/usb_gadget/g1/functions/ffs.fastboot
|
|
mkdir /config/usb_gadget/g1/configs/b.1 0777 shell shell
|
|
mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell
|
|
|
|
on fs && property:sys.usb.configfs=0
|
|
write /sys/class/android_usb/android0/f_ffs/aliases adb,fastboot
|
|
write /sys/class/android_usb/android0/idVendor 18D1
|
|
write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}
|
|
write /sys/class/android_usb/android0/iProduct ${ro.product.model}
|
|
write /sys/class/android_usb/android0/iSerial ${ro.serialno}
|
|
|
|
on fs
|
|
mkdir /dev/usb-ffs 0775 shell shell
|
|
mkdir /dev/usb-ffs/adb 0770 shell shell
|
|
mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
|
|
mkdir /dev/usb-ffs/fastboot 0770 system system
|
|
mount functionfs fastboot /dev/usb-ffs/fastboot rmode=0770,fmode=0660,uid=1000,gid=1000
|
|
|
|
on property:sys.usb.config=adb
|
|
start adbd
|
|
|
|
on property:sys.usb.config=fastboot
|
|
start fastbootd
|
|
|
|
on property:sys.usb.config=none && property:sys.usb.configfs=0
|
|
stop adbd
|
|
stop fastboot
|
|
write /sys/class/android_usb/android0/enable 0
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=adb && property:sys.usb.configfs=0
|
|
write /sys/class/android_usb/android0/idProduct D001
|
|
write /sys/class/android_usb/android0/functions adb
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=sideload && property:sys.usb.configfs=0
|
|
write /sys/class/android_usb/android0/idProduct D001
|
|
write /sys/class/android_usb/android0/functions adb
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=fastboot && property:sys.usb.configfs=0
|
|
write /sys/class/android_usb/android0/idProduct 4EE0
|
|
write /sys/class/android_usb/android0/functions fastboot
|
|
write /sys/class/android_usb/android0/enable 1
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
# Configfs triggers
|
|
on property:sys.usb.config=none && property:sys.usb.configfs=1
|
|
write /config/usb_gadget/g1/UDC "none"
|
|
stop adbd
|
|
stop fastbootd
|
|
setprop sys.usb.ffs.ready 0
|
|
rm /config/usb_gadget/g1/configs/b.1/f1
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=sideload && property:sys.usb.ffs.ready=1 && property:sys.usb.configfs=1
|
|
write /config/usb_gadget/g1/idProduct 0xD001
|
|
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb"
|
|
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1
|
|
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=adb && property:sys.usb.ffs.ready=1 && property:sys.usb.configfs=1
|
|
write /config/usb_gadget/g1/idProduct 0xD001
|
|
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb"
|
|
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1
|
|
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
|
|
setprop sys.usb.state ${sys.usb.config}
|
|
|
|
on property:sys.usb.config=fastboot && property:sys.usb.ffs.ready=1 && property:sys.usb.configfs=1
|
|
write /config/usb_gadget/g1/idProduct 0x4EE0
|
|
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "fastboot"
|
|
symlink /config/usb_gadget/g1/functions/ffs.fastboot /config/usb_gadget/g1/configs/b.1/f1
|
|
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
|
|
setprop sys.usb.state ${sys.usb.config}
|