util-linux-ng: add init script to enable swapfile if needed

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2010-10-23 19:54:08 +02:00
parent 829d3a8c0b
commit 7753e95c49

View File

@ -0,0 +1,54 @@
#!/bin/sh
################################################################################
# Copyright (C) 2009-2010 OpenELEC.tv
# http://www.openelec.tv
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
#
# create and enable swapfile
#
# runlevels: openelec, textmode
. /etc/profile
INSTALLED_MEMORY=`cat /proc/meminfo | grep 'MemTotal:' | awk '{print $2}'`
if [ $INSTALLED_MEMORY -le 500000 -a -f $HOME/.config/swapon ]; then
if [ ! -f $HOME/.cache/swapfile ]; then
progress "creating swapfile"
mkdir -p $HOME/.cache
dd if=/dev/zero of=$HOME/.cache/swapfile bs=1024 count=524288
mkswap $HOME/.cache/swapfile
fi
progress "enable swapfile"
swapon -p 10000 $HOME/.cache/swapfile
[ $INSTALLED_MEMORY -le 260000 ] \
&& sysctl -w vm.swappiness=100 \
|| sysctl -w vm.swappiness=60
else
sysctl -w vm.swappiness=0
fi