Add ZRAM swap with configurable size (default 50%)
Adds four fstab.zram.{25p,50p,75p,none} variants copied to vendor/etc.
init.rpi4.rc activates swap at boot_complete using persist.vendor.zram.size.
Adds vm.min_free_kbytes/lowmem_reserve_ratio memory tuning on init.
SELinux: declares vendor_zram_config_prop for persist.vendor.zram.size.
This commit is contained in:
@@ -158,10 +158,18 @@ endif
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(_FSTAB_SRC):$(TARGET_COPY_OUT_RAMDISK)/fstab.rpi4 \
|
||||
$(_FSTAB_SRC):$(TARGET_COPY_OUT_VENDOR)/etc/fstab.rpi4 \
|
||||
$(DEVICE_PATH)/ramdisk/fstab.zram.25p:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.zram.25p \
|
||||
$(DEVICE_PATH)/ramdisk/fstab.zram.50p:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.zram.50p \
|
||||
$(DEVICE_PATH)/ramdisk/fstab.zram.75p:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.zram.75p \
|
||||
$(DEVICE_PATH)/ramdisk/fstab.zram.none:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.zram.none \
|
||||
$(DEVICE_PATH)/ramdisk/init.rpi4.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.rpi4.rc \
|
||||
$(DEVICE_PATH)/ramdisk/init.rpi4.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.rpi4.usb.rc \
|
||||
$(DEVICE_PATH)/ramdisk/ueventd.rpi4.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc
|
||||
|
||||
# ZRAM: default 50% of RAM as compressed swap
|
||||
PRODUCT_VENDOR_PROPERTIES += \
|
||||
persist.vendor.zram.size=50p
|
||||
|
||||
# Seccomp
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(DEVICE_PATH)/seccomp_policy/mediacodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
|
||||
/dev/block/zram0 none swap defaults zramsize=25%
|
||||
@@ -0,0 +1,2 @@
|
||||
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
|
||||
/dev/block/zram0 none swap defaults zramsize=50%
|
||||
@@ -0,0 +1,2 @@
|
||||
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
|
||||
/dev/block/zram0 none swap defaults zramsize=75%
|
||||
@@ -0,0 +1 @@
|
||||
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
|
||||
@@ -3,8 +3,15 @@ import /vendor/etc/init/hw/init.${ro.hardware}.usb.rc
|
||||
on init
|
||||
symlink /sdcard /storage/sdcard0
|
||||
|
||||
# Memory reserve tuning for RPi 4
|
||||
write /proc/sys/vm/min_free_kbytes 27386
|
||||
write /proc/sys/vm/lowmem_reserve_ratio "0 0 0"
|
||||
|
||||
on fs
|
||||
mount_all /vendor/etc/fstab.rpi4 --early
|
||||
|
||||
on late-fs
|
||||
mount_all /vendor/etc/fstab.rpi4 --late
|
||||
mount_all /vendor/etc/fstab.rpi4 --late
|
||||
|
||||
on property:sys.boot_completed=1
|
||||
swapon_all /vendor/etc/fstab.zram.${persist.vendor.zram.size}
|
||||
@@ -4,3 +4,4 @@ vendor_internal_prop(vendor_hdmi_config_prop)
|
||||
vendor_internal_prop(vendor_hwc_config_prop)
|
||||
vendor_internal_prop(vendor_v4l2_config_prop)
|
||||
vendor_internal_prop(vendor_pawlet_ota_prop)
|
||||
vendor_internal_prop(vendor_zram_config_prop)
|
||||
|
||||
@@ -22,3 +22,6 @@ ro.vendor.pawlet.ota. u:object_r:vendor_pawlet_ota_prop:s0
|
||||
# V4L2
|
||||
persist.vendor.v4l2_codec2.rank.decoder u:object_r:vendor_v4l2_config_prop:s0
|
||||
persist.vendor.v4l2_codec2.rank.encoder u:object_r:vendor_v4l2_config_prop:s0
|
||||
|
||||
# ZRAM
|
||||
persist.vendor.zram.size u:object_r:vendor_zram_config_prop:s0
|
||||
|
||||
@@ -4,3 +4,4 @@ set_prop(vendor_init, vendor_hdmi_config_prop)
|
||||
set_prop(vendor_init, vendor_hwc_config_prop)
|
||||
set_prop(vendor_init, vendor_v4l2_config_prop)
|
||||
set_prop(vendor_init, vendor_pawlet_ota_prop)
|
||||
set_prop(vendor_init, vendor_zram_config_prop)
|
||||
|
||||
Reference in New Issue
Block a user