You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
227 lines
6.8 KiB
227 lines
6.8 KiB
import /system/etc/init/hw/init.custom.rc
|
|
|
|
on early-init
|
|
# Apply strict SELinux checking of PROT_EXEC on mmap/mprotect calls.
|
|
write /sys/fs/selinux/checkreqprot 0
|
|
|
|
# disable bpf for BHI
|
|
write /proc/sys/kernel/unprivileged_bpf_disabled 1
|
|
|
|
on init
|
|
# Set log level
|
|
loglevel 3
|
|
|
|
# Create cgroup mount point for process freezer
|
|
mkdir /sys/fs/cgroup/freezer mode=0750,uid=0,gid=1000
|
|
mount cgroup none /sys/fs/cgroup/freezer freezer
|
|
mkdir /sys/fs/cgroup/freezer/hibernate
|
|
write /sys/fs/cgroup/freezer/hibernate/freezer.state "FROZEN"
|
|
|
|
# Mount debugfs for debug
|
|
mount debugfs debugfs /sys/kernel/debug mode=0711
|
|
|
|
on post-fs-data
|
|
# Emmc config
|
|
write /sys/block/mmcblk0/queue/iostats 0
|
|
write /sys/block/mmcblk0/queue/iosched/slice_idle 0
|
|
write /sys/block/mmcblk0/queue/read_ahead_kb 2048
|
|
write /sys/block/mmcblk0/queue/nr_requests 256
|
|
|
|
# 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
|
|
mkdir /data/user_de/0 0771 system system
|
|
write /proc/apanic_console 1
|
|
|
|
# Adb
|
|
mkdir /data/misc/adb 02750 system shell
|
|
|
|
# Symlink to bugreport storage location
|
|
rm /data/bugreports
|
|
mkdir /data/user_de/0 0771 system system
|
|
symlink /data/user_de/0/com.android.shell/files/bugreports /data/bugreports
|
|
|
|
# Samba
|
|
mkdir /data/data/samba 0777 system system
|
|
mkdir /data/data/samba/var 0777 system system
|
|
mkdir /data/data/samba/var/tmp 0777 system system
|
|
mkdir /data/data/samba/var/locks 0777 system system
|
|
mkdir /data/data/samba/private 0777 system system
|
|
mkdir /data/data/samba/lib 0777 system system
|
|
mkdir /data/data/samba/lib/codepages 0777 system system
|
|
mkdir /data/data/samba/lib/charset 0777 system system
|
|
# Create directory for dhcp
|
|
mkdir /data/misc/dhcp 0770 dhcp dhcp
|
|
chmod 0770 /data/misc/dhcp
|
|
mkdir /data/ppp 0770 radio radio
|
|
chmod 0770 /data/ppp
|
|
chown system system /dev/ttyAMA1
|
|
|
|
# bbox file
|
|
mkdir /data/bbox_logs
|
|
chmod 0770 /data/bbox_logs
|
|
chown root system /data/bbox_logs
|
|
restorecon_recursive /data/bbox_logs
|
|
|
|
on boot
|
|
# Led
|
|
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
|
|
|
|
# Permissions
|
|
chmod 444 /proc/cmdline
|
|
chmod 660 /dev/block/mmcblk0
|
|
chmod 666 /dev/mtd/mtd0
|
|
|
|
# Set this property so surfaceflinger is not started by system_init
|
|
setprop system_init.startsurfaceflinger 0
|
|
|
|
# Storage
|
|
setprop service.vold.status Normal
|
|
setprop service.mountservice.reset 0
|
|
|
|
# Connect config
|
|
setprop ro.tether.denied false
|
|
|
|
# Sdcard
|
|
mkdir /data/media 0770 media_rw media_rw
|
|
wait /data/media/0
|
|
|
|
# Init bootup flag
|
|
setprop persist.sys.bootup 1
|
|
setprop persist.sys.suspend 0
|
|
setprop persist.sys.MHLstatus close
|
|
|
|
# fault_around
|
|
on property:ro.lr.fault_around=*
|
|
write /sys/kernel/debug/fault_around_bytes ${ro.lr.fault_around}
|
|
|
|
# zram enable
|
|
on property:ro.lr.zram_enable=true
|
|
write /sys/block/zram0/comp_algorithm lz4
|
|
write /proc/sys/vm/page-cluster 0
|
|
swapon_all /vendor/etc/fstab.${ro.hardware}
|
|
|
|
# Storage
|
|
on property:vold.decrypt=trigger_default_encryption
|
|
start defaultcrypto
|
|
|
|
on property:vold.decrypt=trigger_encryption
|
|
start surfaceflinger
|
|
start encrypt
|
|
|
|
on property:sys.boot_completed=1
|
|
write /sys/block/mmcblk0/queue/read_ahead_kb 128
|
|
write /sys/block/mmcblk0/queue/nr_requests 128
|
|
write /sys/block/mmcblk0/queue/iostats 1
|
|
|
|
# CTS
|
|
on property:service.media.ctsrunning=true
|
|
write /proc/soc/msp/sys "cts 1 "
|
|
write /proc/soc/msp/sys "gts 1 "
|
|
|
|
on property:service.media.ctsrunning=false
|
|
write /proc/soc/msp/sys "cts 0 "
|
|
write /proc/soc/msp/sys "gts 1 "
|
|
|
|
# STR
|
|
on property:sys.str.drop_caches=*
|
|
exec /system/bin/sync
|
|
write /proc/sys/vm/drop_caches ${sys.str.drop_caches}
|
|
|
|
on property:sys.boot_completed=1
|
|
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "schedutil"
|
|
write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor "schedutil"
|
|
|
|
# adbd is controlled via property triggers in init.<platform>.usb.rc
|
|
service adbd /sbin/adbd --root_seclabel=u:r:su:s0
|
|
class core
|
|
socket adbd stream 660 system system
|
|
disabled
|
|
seclabel u:r:adbd:s0
|
|
|
|
# Network =======================================================
|
|
# ipv6 start
|
|
service dhclient_eth0 /system/bin/dhclient -6 -nw -d eth0
|
|
group system dhcp wifi
|
|
disabled
|
|
oneshot
|
|
|
|
service dhclient_eth1 /system/bin/dhclient -6 -nw -d eth1
|
|
group system dhcp wifi
|
|
disabled
|
|
oneshot
|
|
|
|
service dhclient_wlan0 /system/bin/dhclient -6 -nw -d wlan0
|
|
group system dhcp wifi
|
|
disabled
|
|
oneshot
|
|
|
|
service release_eth0 /system/bin/dhclient -6 -r eth0
|
|
group system dhcp wifi
|
|
disabled
|
|
oneshot
|
|
|
|
service release_eth1 /system/bin/dhclient -6 -r eth1
|
|
group system dhcp wifi
|
|
disabled
|
|
oneshot
|
|
|
|
service release_wlan0 /system/bin/dhclient -6 -r wlan0
|
|
group system dhcp wifi
|
|
disabled
|
|
oneshot
|
|
# ipv6 end
|
|
# Network end =======================================================
|
|
|
|
# add storage symlink
|
|
on property:sys.user.0.ce_available=true
|
|
symlink /storage/emulated/0 /mnt/user/0/primary
|
|
|
|
# Adbd on at boot in emulator
|
|
on property:ro.kernel.qemu=1
|
|
start adbd
|
|
|
|
# One shot invocation to deal with encrypted volume.
|
|
service defaultcrypto /system/bin/vdc --wait cryptfs mountdefaultencrypted
|
|
disabled
|
|
oneshot
|
|
# vold will set vold.decrypt to trigger_restart_framework (default
|
|
# encryption) or trigger_restart_min_framework (other encryption)
|
|
|
|
service sshd /system/bin/start-ssh
|
|
class main
|
|
disabled
|
|
|
|
service pre-recovery /system/bin/uncrypt
|
|
class main
|
|
disabled
|
|
oneshot
|
|
|
|
# add zram swap
|
|
on property:ro.sys_im.lowram.zram_enable=true
|
|
write /sys/block/zram0/comp_algorithm lz4
|
|
write /proc/sys/vm/page-cluster 0
|
|
swapon_all /vendor/etc/fstab.swap
|
|
|
|
# for kernel memory wartermark
|
|
on property:sys.sysctl.min_free_kbytes=*
|
|
write /proc/sys/vm/min_free_kbytes ${sys.sysctl.min_free_kbytes}
|
|
|
|
on property:sys.sysctl.watermark_boost_factor=*
|
|
write /proc/sys/vm/watermark_boost_factor ${sys.sysctl.watermark_boost_factor}
|
|
|