diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2019-10-09 16:56:13 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2019-10-09 16:56:15 +0300 |
commit | 63ae87823ca5774411cb29a7aebf35efae85f0b3 (patch) | |
tree | 406e837757534cef9e6f699194a91010847f1aab /meta-openembedded/meta-oe/recipes-extended/zram | |
parent | 9e4e2b2411eb9336f6ae4f595eb4fc6884a9b0eb (diff) | |
download | openbmc-63ae87823ca5774411cb29a7aebf35efae85f0b3.tar.xz |
meta-openembedded: subtree update:01d539b324..fd1a0c9210
Adrian Bunk (1):
xmlrpc-c: Remove the RDEPENDS on perl
Denys Dmytriyenko (1):
mariadb: update SRC_URI to use archive.mariadb.org
Khem Raj (7):
xorg-fonts-100dpi: Change License Custom -> MIT
fio: Depend on coreutils-native for fmt utility
fio: Fix build when march is armv7ve
pmdk: Update to 1.7
README: Document need for 32bit compiler
mongodb: Turn system libpcre support into packageconfig
grpc: Update to 1.24.1
Otavio Salvador (1):
modemmanager: Upgrade 1.10.2 -> 1.10.6
Palmer Dabbelt (1):
Add zeus compatibility to all layer.conf files
Peiran Hong (1):
tcpdump: upgrade 4.9.2 -> 4.9.3
Stefan Agner (1):
zram: properly implement systemd service
Stefan Wiehler (1):
nvme-cli: upgrade 1.6 -> 1.9
Trevor Gamblin (2):
gnome-desktop3: upgrade from 3.32.0 to 3.34.0
freeradius: add -latomic for armv5
William A. Kennington III via Openembedded-devel (1):
log4cpp: Stop using RC as a variable
Change-Id: I9b3bd69a061da11a59d38bce42543cb090b24601
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-extended/zram')
8 files changed, 120 insertions, 45 deletions
diff --git a/meta-openembedded/meta-oe/recipes-extended/zram/zram/dev-zram0.swap b/meta-openembedded/meta-oe/recipes-extended/zram/zram/dev-zram0.swap new file mode 100644 index 000000000..05eae7eed --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/zram/zram/dev-zram0.swap @@ -0,0 +1,10 @@ +[Unit] +Description=Enable compressed swap in memory using zram +Requires=zram-swap.service +After=zram-swap.service + +[Swap] +What=/dev/zram0 + +[Install] +WantedBy=swap.target diff --git a/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-deinit b/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-deinit new file mode 100755 index 000000000..46248c401 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-deinit @@ -0,0 +1,19 @@ +#!/bin/sh +set -e + +device=$1 +if [ "$device" = "" ]; then + echo "Usage: zram-swap-deinit <device>" + exit 1 +fi + +sysblockdev=/sys/block/$(basename $device) +if [ ! -d $sysblockdev ]; then + echo "Block device not found in sysfs" + exit 1 +fi + +# zramctl -r is not suitable as it also removes the actual device. Recreating +# it is non-trivial, especially if not /dev/zram0 is used... +echo 1 > ${sysblockdev}/reset + diff --git a/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-init b/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-init new file mode 100755 index 000000000..0643dbca2 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-init @@ -0,0 +1,26 @@ +#!/bin/sh +set -e + +device=$1 +if [ "$device" = "" ]; then + echo "Usage: zram-swap-init <device>" + exit 1 +fi + +# Allocate zram to be size of actual system memory +# Note: zram is only allocated when used. When swapped pages compress with a +# a 2:1 ratio zram will require 50% of system memory (while allowing to use +# 150% memory). +ZRAM_SIZE_PERCENT=100 +ZRAM_ALGORITHM=lz4 + +[ -f /etc/default/zram ] && ./etc/default/zram || true + +memtotal=$(grep MemTotal /proc/meminfo | awk ' { print $2 } ') +memzram=$(($memtotal*${ZRAM_SIZE_PERCENT}/100)) + +# Try loading zram module +modprobe -q zram || true + +zramctl -a ${ZRAM_ALGORITHM} -s ${memzram}KB $device +mkswap -L "zram-swap" $device diff --git a/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap.service b/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap.service new file mode 100644 index 000000000..a4dc9514e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap.service @@ -0,0 +1,10 @@ +[Unit] +Description=Create compressed swap in memory using zram +DefaultDependencies=no + +[Service] +Type=oneshot +RemainAfterExit=yes +TimeoutStartSec=30sec +ExecStart=@LIBEXECDIR@/zram-swap-init /dev/zram0 +ExecStop=@LIBEXECDIR@/zram-swap-deinit /dev/zram0 diff --git a/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram.service b/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram.service deleted file mode 100644 index 4a19367d9..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Enable zram compressed in-memory swap. -After=multi-user.target - -[Service] -RemainAfterExit=yes -ExecStart=/usr/bin/zram-load.sh --load -ExecStop=/usr/bin/zram-load.sh --unload -Type=oneshot - -[Install] -WantedBy=multi-user.target diff --git a/meta-openembedded/meta-oe/recipes-extended/zram/zram/zramstop b/meta-openembedded/meta-oe/recipes-extended/zram/zram/zramstop new file mode 100644 index 000000000..07777978e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/zram/zram/zramstop @@ -0,0 +1,5 @@ +#!/bin/sh + +for i in $(grep '^/dev/zram' /proc/swaps | awk '{ print $1 }'); do + swapoff "$i" && zramctl --reset "$i" +done diff --git a/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.1.bb b/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.1.bb deleted file mode 100644 index dfd75e71c..000000000 --- a/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.1.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "Linux zram compressed in-memory swap" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" - -inherit update-rc.d systemd - -RDEPENDS_${PN} = "util-linux-swaponoff kmod" -RRECOMMENDS_${PN} = "kernel-module-zram" - -PR = "r3" - -SRC_URI = " \ - file://init \ - file://zram.service \ -" - -do_install () { - # Sysvinit - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/zram - - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/zram.service ${D}${systemd_unitdir}/system -} - -FILES_${PN} = "${sysconfdir}" -INITSCRIPT_NAME = "zram" -INITSCRIPT_PARAMS = "start 05 2 3 4 5 . stop 22 0 1 6 ." - -RPROVIDES_${PN} += "${PN}-systemd" -RREPLACES_${PN} += "${PN}-systemd" -RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "zram.service" diff --git a/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.2.bb b/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.2.bb new file mode 100644 index 000000000..98c47af7a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.2.bb @@ -0,0 +1,50 @@ +SUMMARY = "Linux zram compressed in-memory swap" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +inherit update-rc.d systemd + +RDEPENDS_${PN} = "kmod \ + ${@bb.utils.contains('DISTRO_FEATURES','systemd','util-linux','util-linux-swaponoff',d)}" +RRECOMMENDS_${PN} = "kernel-module-zram" + +PR = "r3" + +SRC_URI = " \ + file://init \ + file://zram-swap-init \ + file://zram-swap-deinit \ + file://zram-swap.service \ + file://dev-zram0.swap \ +" + +do_install () { + # Install systemd related configuration file + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/zram + fi + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${libexecdir} + install -m 0755 ${WORKDIR}/zram-swap-init ${D}${libexecdir} + install -m 0755 ${WORKDIR}/zram-swap-deinit ${D}${libexecdir} + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/zram-swap.service ${D}${systemd_unitdir}/system/zram-swap.service + sed -i -e "s,@LIBEXECDIR@,${libexecdir},g" ${D}${systemd_unitdir}/system/zram-swap.service + install -m 0644 ${WORKDIR}/dev-zram0.swap ${D}${systemd_unitdir}/system/dev-zram0.swap + fi +} + +FILES_${PN} = " \ + ${sysconfdir} \ + ${systemd_unitdir} \ + ${libexecdir} \ +" +INITSCRIPT_NAME = "zram" +INITSCRIPT_PARAMS = "start 05 2 3 4 5 . stop 22 0 1 6 ." + +RPROVIDES_${PN} += "${PN}-systemd" +RREPLACES_${PN} += "${PN}-systemd" +RCONFLICTS_${PN} += "${PN}-systemd" +SYSTEMD_SERVICE_${PN} = "dev-zram0.swap" |