summaryrefslogtreecommitdiffstats
path: root/src/initramfs/scripts/etc/activate-swap
diff options
context:
space:
mode:
Diffstat (limited to 'src/initramfs/scripts/etc/activate-swap')
-rw-r--r--src/initramfs/scripts/etc/activate-swap30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/initramfs/scripts/etc/activate-swap b/src/initramfs/scripts/etc/activate-swap
new file mode 100644
index 00000000..10cb42e9
--- /dev/null
+++ b/src/initramfs/scripts/etc/activate-swap
@@ -0,0 +1,30 @@
+#!/bin/sh
+# Copyright (c) 2013 - OpenSLX GmbH
+#
+# This program is free software distributed under the GPL version 2.
+# See http://openslx.org/COPYING
+#
+# If you have any feedback please consult http://openslx.org/feedback and
+# send your feedback to feedback@openslx.org
+#
+# General information about OpenSLX can be found under http://openslx.org
+#
+# Initialize swap for OpenSLX linux stateless clients, both for swap on local
+# disk partitions as well as compressed ramzswap or similar
+
+#############################################################################
+
+# depends on mount-disk.sh
+# depends on availability of the appropriate kernel module/functionality
+
+# try to enable compressed RAM SWAP / ZRAM
+if modprobe ${MODPRV} ramzswap 2>/dev/null && [ -f /usr/bin/rzscontrol ] ; then
+ rzscontrol /dev/ramzswap0 --init
+ swapon /dev/ramzswap0 2>/dev/null
+ #hdswap="# disk swap disabled because of enabled compressed ramswap"
+elif modprobe ${MODPRV} zram 2>/dev/null ; then
+ # assign a quarter of total mem to zram
+ echo $(( $(free -k | awk '/^Mem:/ { print $2 }') * 256 )) > /sys/block/zram0/disksize
+ mkswap /dev/zram0 2>/dev/null
+ swapon /dev/zram0 2>/dev/null
+fi