diff options
author | Andrei Gherzan <andrei@gherzan.ro> | 2012-09-18 15:31:17 +0000 |
---|---|---|
committer | Koen Kooi <koen@dominion.thruhere.net> | 2012-09-24 10:01:47 +0200 |
commit | d6055c8e443c0808d7eada9cda8c159da3e095fb (patch) | |
tree | 901a2c0980d4edd264963b7e79122f9b09a6ffbb /meta-oe/recipes-extended | |
parent | 4cfe58d3ce694ee2951a0ed0e855c6e4dbca2dc2 (diff) | |
download | meta-openembedded-d6055c8e443c0808d7eada9cda8c159da3e095fb.tar.gz |
zram: Integrate an init script
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Diffstat (limited to 'meta-oe/recipes-extended')
-rw-r--r-- | meta-oe/recipes-extended/zram/zram/init | 85 | ||||
-rw-r--r-- | meta-oe/recipes-extended/zram/zram_0.1.bb | 23 |
2 files changed, 108 insertions, 0 deletions
diff --git a/meta-oe/recipes-extended/zram/zram/init b/meta-oe/recipes-extended/zram/zram/init new file mode 100644 index 0000000000..d12616936c --- /dev/null +++ b/meta-oe/recipes-extended/zram/zram/init @@ -0,0 +1,85 @@ +#!/bin/bash +### BEGIN INIT INFO +# Provides: zram +# Required-Start: +# Required-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Increased Performance In Linux With zRam (Virtual Swap Compressed in RAM) +# Description: Adapted from systemd scripts at https://github.com/mystilleef/FedoraZram +# Included as part of antix-goodies package by anticapitalista <antiX@operamail.com> +# This script was written by tradetaxfree and is found at http://crunchbanglinux.org/forums/topic/15344/zram-a-good-idea/ +# Copy this script (as root) from /usr/local/bin to /etc/init.d and then #update-rc.d zram defaults +# After booting verify the module is loaded with: lsmod | grep zram +### END INIT INFO +set -e + +start() { + # get the number of CPUs + num_cpus=$(grep -c processor /proc/cpuinfo) + # if something goes wrong, assume we have 1 + [ "$num_cpus" != 0 ] || num_cpus=1 + + # set decremented number of CPUs + last_cpu=$((num_cpus - 1)) + + #default Factor % = 90 change this value here or create /etc/default/zram + FACTOR=90 + #& put the above single line in /etc/default/zram with the value you want + [ -f /etc/default/zram ] && source /etc/default/zram || true + factor=$FACTOR # percentage + + # get the amount of memory in the machine + memtotal=$(grep MemTotal /proc/meminfo | awk ' { print $2 } ') + mem_by_cpu=$(($memtotal/$num_cpus*$factor/100*1024)) + + # load dependency modules + modprobe zram zram_num_devices=$num_cpus + echo "zram devices probed successfully" + + # initialize the devices + for i in $(seq 0 $last_cpu); do + echo 1 > /sys/block/zram$i/reset + echo $mem_by_cpu > /sys/block/zram$i/disksize + # Creating swap filesystems + mkswap /dev/zram$i + # Switch the swaps on + swapon -p 100 /dev/zram$i + done +} + +stop() { + # get the number of CPUs + num_cpus=$(grep -c processor /proc/cpuinfo) + + # set decremented number of CPUs + last_cpu=$((num_cpus - 1)) + + # Switching off swap + for i in $(seq 0 $last_cpu); do + if [ "$(grep /dev/zram$i /proc/swaps)" != "" ]; then + swapoff /dev/zram$i + sleep 1 + fi + done + sleep 1 + rmmod zram +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart) + stop + sleep 3 + start + ;; + *) + echo "Usage: $0 {start|stop|restart}" + RETVAL=1 +esac +exit $RETVAL diff --git a/meta-oe/recipes-extended/zram/zram_0.1.bb b/meta-oe/recipes-extended/zram/zram_0.1.bb new file mode 100644 index 0000000000..85262647c0 --- /dev/null +++ b/meta-oe/recipes-extended/zram/zram_0.1.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "Linux zram compressed in-memory swap" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58" + +inherit allarch update-rc.d + +RDEPENDS_${PN} = "util-linux-swaponoff kmod kernel-module-zram" + +PR = "r0" + +SRC_URI = " \ + file://init \ + " + +do_install () { + # Sysvinit + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/zram +} + +FILES_${PN} = "${sysconfdir}/init.d" +INITSCRIPT_NAME = "zram" +INITSCRIPT_PARAMS = "start 05 2 3 4 5 . stop 22 0 1 6 ." |