From b41154248d4e11b9bb8bba78d8d67ed3f49213c8 Mon Sep 17 00:00:00 2001 From: David Carley Date: Wed, 7 Sep 2022 16:46:00 +0000 Subject: [PATCH] Install zram-config for zswap --- installer/linux-packages/zram-config-main.zip | Bin 0 -> 36189 bytes scripts/install.sh | 45 ++++++++++++------ 2 files changed, 31 insertions(+), 14 deletions(-) create mode 100644 installer/linux-packages/zram-config-main.zip diff --git a/installer/linux-packages/zram-config-main.zip b/installer/linux-packages/zram-config-main.zip new file mode 100644 index 0000000000000000000000000000000000000000..b976d7dbb659631531c56ee4a18dedb3f20bb5ad GIT binary patch literal 36189 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 M85uI0u/dev/null if [ $? -ne 0 ]; then mount -o remount,rw /boot && - sed -i 's/\(.*\)/\1 dwc_otg.fiq_fsm_mask=0x3/' /boot/cmdline.txt + sed -i -E 's/(.*)/\1 dwc_otg.fiq_fsm_mask=0x3/' /boot/cmdline.txt mount -o remount,ro /boot REBOOT=true fi @@ -60,22 +60,22 @@ fi grep cgroup_memory /boot/cmdline.txt >/dev/null if [ $? -ne 0 ]; then mount -o remount,rw /boot && - sed -i 's/\(.*\)/\1 cgroup_memory=1/' /boot/cmdline.txt + sed -i -E 's/(.*)/\1 cgroup_memory=1/' /boot/cmdline.txt mount -o remount,ro /boot REBOOT=true fi # Remove Hawkeye if [ -e /etc/init.d/hawkeye ]; then - apt-get remove --purge -y hawkeye + apt-get purge -y hawkeye fi # Decrease boot delay -sed -i 's/^TimeoutStartSec=.*$/TimeoutStartSec=1/' \ +sed -i -E 's/^TimeoutStartSec=.*$/TimeoutStartSec=1/' \ /etc/systemd/system/network-online.target.wants/networking.service # Change to US keyboard layout -sed -i 's/^XKBLAYOUT="gb"$/XKBLAYOUT="us" # Comment stops change on upgrade/' /etc/default/keyboard +sed -i -E 's/^XKBLAYOUT="gb"$/XKBLAYOUT="us" # Comment stops change on upgrade/' /etc/default/keyboard # Set the default locale to en_US grep '^en_US.UTF-8 UTF-8' /etc/locale.gen >/dev/null @@ -89,16 +89,33 @@ fi diff ./installer/config/11-automount.rules /etc/udev/rules.d/11-automount.rules >/dev/null if [ $? -ne 0 ]; then cp ./installer/config/11-automount.rules /etc/udev/rules.d/ - sed -i 's/^\(MountFlags=slave\)/#\1/' \ + sed -i -E 's/^(MountFlags=slave)/#\1/' \ /lib/systemd/system/systemd-udevd.service REBOOT=true fi -# Increase swap -grep 'CONF_SWAPSIZE=1000' /etc/dphys-swapfile >/dev/null -if [ $? -ne 0 ]; then - sed -i 's/^CONF_SWAPSIZE=.*$/CONF_SWAPSIZE=1000/' /etc/dphys-swapfile - REBOOT=true +# Disable disk-based swap +if [ -e /etc/dphys-swapfile ]; then + apt-get purge -y dphys-swapfile + rm -f /var/swap +fi + +# Enable zram swap +# See https://github.com/ecdye/zram-config +# The zram-config-main.zip is a downloaded snapshot of the git repository +if [ ! -e /usr/local/sbin/zram-config ]; then + modprobe -a lz4 zram + + unzip ./installer/linux-packages/zram-config-main.zip -d /tmp + /tmp/zram-config-main/install.bash + + sed -i -E 's/^(swap\s+)(lzo-rle)(.*)$/\1lz4\3/' /etc/ztab + sed -i -E 's/^(swap.*)150\s*$/\1100/' /etc/ztab + sed -i -E 's/^(log.*)$/#\1/' /etc/ztab + + systemctl restart zram-config + + rm -rf /tmp/zram-config fi # Install .Xresources & .xinitrc @@ -119,7 +136,7 @@ fi rm -rf /usr/share/plymouth/themes/buildbotics rm -rf /usr/share/plymouth/themes/onefinity mkdir -p /usr/share/plymouth/themes/onefinity/ -cp -av installer/splash/* /usr/share/plymouth/themes/onefinity/ +cp -av ./installer/splash/* /usr/share/plymouth/themes/onefinity/ plymouth-set-default-theme -R onefinity grep 'quiet splash plymouth.ignore-serial-consoles logo.nologo' /boot/cmdline.txt >/dev/null @@ -142,7 +159,7 @@ cp ./installer/config/rc.local /etc/ # Install bbctrl if $UPDATE_PY; then - service bbctrl stop + systemctl stop bbctrl rm -rf /usr/local/lib/python*/dist-packages/bbctrl-* @@ -154,7 +171,7 @@ if $UPDATE_PY; then HTTP_DIR=$(find /usr/local/lib/ -type d -name "http") chmod 777 $HTTP_DIR - service bbctrl restart + systemctl restart bbctrl fi # Install the service that turns off the screen during shutdown