diff options
Diffstat (limited to 'meta-oe')
-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 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 | ||
15 | set -e | ||
16 | |||
17 | start() { | ||
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 | |||
51 | stop() { | ||
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 | |||
69 | case "$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 | ||
84 | esac | ||
85 | 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 000000000..85262647c --- /dev/null +++ b/meta-oe/recipes-extended/zram/zram_0.1.bb | |||
@@ -0,0 +1,23 @@ | |||
1 | DESCRIPTION = "Linux zram compressed in-memory swap" | ||
2 | LICENSE = "MIT" | ||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58" | ||
4 | |||
5 | inherit allarch update-rc.d | ||
6 | |||
7 | RDEPENDS_${PN} = "util-linux-swaponoff kmod kernel-module-zram" | ||
8 | |||
9 | PR = "r0" | ||
10 | |||
11 | SRC_URI = " \ | ||
12 | file://init \ | ||
13 | " | ||
14 | |||
15 | do_install () { | ||
16 | # Sysvinit | ||
17 | install -d ${D}${sysconfdir}/init.d | ||
18 | install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/zram | ||
19 | } | ||
20 | |||
21 | FILES_${PN} = "${sysconfdir}/init.d" | ||
22 | INITSCRIPT_NAME = "zram" | ||
23 | INITSCRIPT_PARAMS = "start 05 2 3 4 5 . stop 22 0 1 6 ." | ||