summaryrefslogtreecommitdiffstats
path: root/meta-oe
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe')
-rw-r--r--meta-oe/recipes-extended/zram/zram/init85
-rw-r--r--meta-oe/recipes-extended/zram/zram_0.1.bb23
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 000000000..d12616936
--- /dev/null
+++ b/meta-oe/recipes-extended/zram/zram/init
@@ -0,0 +1,85 @@
1#!/bin/bash
2### BEGIN INIT INFO
3# Provides: zram
4# Required-Start:
5# Required-Stop:
6# Default-Start: 2 3 4 5
7# Default-Stop: 0 1 6
8# Short-Description: Increased Performance In Linux With zRam (Virtual Swap Compressed in RAM)
9# Description: Adapted from systemd scripts at https://github.com/mystilleef/FedoraZram
10# Included as part of antix-goodies package by anticapitalista <antiX@operamail.com>
11# This script was written by tradetaxfree and is found at http://crunchbanglinux.org/forums/topic/15344/zram-a-good-idea/
12# Copy this script (as root) from /usr/local/bin to /etc/init.d and then #update-rc.d zram defaults
13# After booting verify the module is loaded with: lsmod | grep zram
14### END INIT INFO
15set -e
16
17start() {
18 # get the number of CPUs
19 num_cpus=$(grep -c processor /proc/cpuinfo)
20 # if something goes wrong, assume we have 1
21 [ "$num_cpus" != 0 ] || num_cpus=1
22
23 # set decremented number of CPUs
24 last_cpu=$((num_cpus - 1))
25
26 #default Factor % = 90 change this value here or create /etc/default/zram
27 FACTOR=90
28 #& put the above single line in /etc/default/zram with the value you want
29 [ -f /etc/default/zram ] && source /etc/default/zram || true
30 factor=$FACTOR # percentage
31
32 # get the amount of memory in the machine
33 memtotal=$(grep MemTotal /proc/meminfo | awk ' { print $2 } ')
34 mem_by_cpu=$(($memtotal/$num_cpus*$factor/100*1024))
35
36 # load dependency modules
37 modprobe zram zram_num_devices=$num_cpus
38 echo "zram devices probed successfully"
39
40 # initialize the devices
41 for i in $(seq 0 $last_cpu); do
42 echo 1 > /sys/block/zram$i/reset
43 echo $mem_by_cpu > /sys/block/zram$i/disksize
44 # Creating swap filesystems
45 mkswap /dev/zram$i
46 # Switch the swaps on
47 swapon -p 100 /dev/zram$i
48 done
49}
50
51stop() {
52 # get the number of CPUs
53 num_cpus=$(grep -c processor /proc/cpuinfo)
54
55 # set decremented number of CPUs
56 last_cpu=$((num_cpus - 1))
57
58 # Switching off swap
59 for i in $(seq 0 $last_cpu); do
60 if [ "$(grep /dev/zram$i /proc/swaps)" != "" ]; then
61 swapoff /dev/zram$i
62 sleep 1
63 fi
64 done
65 sleep 1
66 rmmod zram
67}
68
69case "$1" in
70 start)
71 start
72 ;;
73 stop)
74 stop
75 ;;
76 restart)
77 stop
78 sleep 3
79 start
80 ;;
81 *)
82 echo "Usage: $0 {start|stop|restart}"
83 RETVAL=1
84esac
85exit $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 000000000..85262647c
--- /dev/null
+++ b/meta-oe/recipes-extended/zram/zram_0.1.bb
@@ -0,0 +1,23 @@
1DESCRIPTION = "Linux zram compressed in-memory swap"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58"
4
5inherit allarch update-rc.d
6
7RDEPENDS_${PN} = "util-linux-swaponoff kmod kernel-module-zram"
8
9PR = "r0"
10
11SRC_URI = " \
12 file://init \
13 "
14
15do_install () {
16 # Sysvinit
17 install -d ${D}${sysconfdir}/init.d
18 install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/zram
19}
20
21FILES_${PN} = "${sysconfdir}/init.d"
22INITSCRIPT_NAME = "zram"
23INITSCRIPT_PARAMS = "start 05 2 3 4 5 . stop 22 0 1 6 ."