summaryrefslogtreecommitdiffstats
path: root/src/initramfs/scripts/etc/activate-swap
blob: 10cb42e986493cb3288bd29f2f99b6af9a5ccd01 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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