1service mmd /system/bin/mmd 2 class core 3 user mmd 4 group mmd system 5 critical 6 # For calling swapon syscall 7 capabilities SYS_ADMIN 8 disabled 9 10on boot 11 chown root mmd /sys/block/zram0/recompress 12 chmod 0220 /sys/block/zram0/recompress 13 chown root mmd /sys/block/zram0/writeback_limit 14 chmod 0664 /sys/block/zram0/writeback_limit 15 16 # /sys/block/zram0/idle and /sys/block/zram0/writeback are used by the 17 # system server managing zram writeback if mmd is disabled. This is 18 # duplicated as /system/core/rootdir/init.rc. But updating the same 19 # permission is safe to do. 20 chown root system /sys/block/zram0/idle 21 chmod 0220 /sys/block/zram0/idle 22 chown root system /sys/block/zram0/writeback 23 chmod 0220 /sys/block/zram0/writeback 24 25on boot && property:mmd.zram.enabled=true 26 # Allow mmd to run mkswap on zram device 27 chown root mmd /dev/block/zram0 28 chmod 0664 /dev/block/zram0 29 # Allow mmd to update zram disk size 30 chown root mmd /sys/block/zram0/disksize 31 chmod 0664 /sys/block/zram0/disksize 32 33on property:sys.boot_completed=1 34 # Copy AConfig flag value to "mmd.enabled_aconfig" system property because 35 # AConfig flag does not support init "on property" trigger. 36 # mmd service starts only if AConfig flag is enabled when boot_completed. 37 # Copying the value on boot_completed once is enough because AConfig is 38 # static during a device lifetime. 39 exec /system/bin/mmd --set-property 40 41on property:mmd.enabled_aconfig=true 42 # Enable mmd daemon if the system property copied from AConfig flag by 43 # "/system/bin/mmd --set-property" is enabled. 44 enable mmd 45