on early-init mount debugfs debugfs /sys/kernel/debug mode=755 # ueventd fix chmod 0666 /dev/null chmod 0666 /dev/zero chmod 0666 /dev/full chmod 0666 /dev/ptmx chmod 0666 /dev/pts/ptmx chmod 0666 /dev/tty chmod 0666 /dev/random chmod 0666 /dev/urandom chmod 0666 /dev/ashmem chmod 0666 /dev/ion chmod 0444 /dev/dma_heap/system chown system system /dev/dma_heap/system # used to place domain sockets mkdir /ipc 0777 exec -- /bin/rm -rf /dev/input # inputflinger require this dir mkdir /dev/input # disable codec2 by default, DMA Heap required setprop debug.stagefright.ccodec 0 # disable some verbose logs setprop log.tag.libprocessgroup F # assume GLES 3.2 supported setprop ro.opengles.version 196610 # setup overlay data partition on early-init && property:ro.boot.use_redroid_overlayfs=1 trigger use_redroid_overlayfs on use_redroid_overlayfs mkdir /data-diff/upper rmdir /data-diff/work mkdir /data-diff/work mount overlay overlay /data lowerdir=/data-base,upperdir=/data-diff/upper,workdir=/data-diff/work on early-init && property:ro.boot.redroid_dpi=* setprop ro.sf.lcd_density ${ro.boot.redroid_dpi} on property:ro.zygote=zygote64_32 write /proc/sys/kernel/pid_max 65535 # use memfd (ashmem removed in 5.18), memfd is disabled in post-fs-data (init.rc) on post-fs-data && property:ro.boot.use_memfd=* setprop sys.use_memfd ${ro.boot.use_memfd} on init # lxcfs better write /data/.empty 0 mount none /data/.empty /proc/vmallocinfo bind # fix suspend host system? mount none /data/.empty /sys/power/state bind setprop debug.renderengine.backend gles # set dpi if missing setprop ro.sf.lcd_density 320 on post-fs-data # fix for static IP, must after post-fs-data and before netd # rm apex config (use legacy path) rm /data/misc/apexdata/com.android.tethering/misc/ethernet/ipconfig.txt exec - system system -- /vendor/bin/ipconfigstore # no need to mount, and encryption not supported yet trigger nonencrypted exec -- /vendor/bin/post-fs-data.redroid.sh on early-boot # before HAL / SurfaceFlinger exec -- /vendor/bin/gpu_config.sh