Coder Social home page Coder Social logo

beatussum / zram-init Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vaeth/zram-init

0.0 0.0 0.0 140 KB

A wrapper script for the zram linux kernel module with zsh and openrc support

Home Page: http://www.mathematik.uni-wuerzburg.de/~vaeth/download/index.html#zram-init

Shell 72.68% Makefile 27.32%

zram-init's Introduction

zram-init

A wrapper script for the zram kernel module with interactive and init support

(C) Martin Väth (martin at mvath.de). Many thanks to all people in the AUTHORS file for contributing. The license of this package is the GNU Public License GPL-2. SPDX-License-Identifier: GPL-2.0-only

This is a small helper script to setup a zram device as swap or as a ramdisk. Also a zsh completion file and openrc and systemd init-scripts are provided.

General instructions

If zramctl (from >=util-linux-2.26) is available, this is used by default. Currently, this is not a dependency: a manual method is provided as a fallback. The latter might be removed in a future release of this script.

If you want to use one of the options -K -M -2 -Z to pass generic args, you need push.sh (v2.0 or newer) in your $PATH, see https://github.com/vaeth/push/

To install this script, just copy the content of sbin into root's $PATH. To obtain support for zsh completion, copy the content of zsh to zsh's $fpath. For openrc support, the content of openrc should go into /etc. For systemd support, the content of systemd/system should go into a systemd unit directory (pkg-config --variable=systemdsystemunitdir systemd, usually /lib/systemd/system or /usr/lib/systemd/system) and be modified and enabled with systemctl enable ... for the desired setting. (Or install locally, e.g. directly into /etc/systemd/system). For systemd and optionally also for openrc the content of modprobe.d should go into /lib/modprobe.d or /etc/modprobe.d and be modified appropriately.

To use LZ4 compression with zram your kernel needs to be compiled with a corresponding options. Depending on your kernel version this might be

  • CONFIG_ZRAM_LZ4_COMPRESS=y (for older kernels)
  • CONFIG_CRYPTO_LZ4=y (for recent kernels)

Instructions for specific distributions

General

To install this script, you should use:

make install # for installation to /usr/local
make PREFIX=/usr install  # /usr instead of /usr/local

Gentoo based

There is an ebuild in the main gentoo tree (usually an older version) and in the mv overlay (current version).

Alpine Linux

A zram-init package is available.

Arch based

To install on Arch based distribution: install zram-init-git from AUR

Once installed, configure:

sudo cp /usr/lib/systemd/system/zram* /etc/systemd/system/
  • Lets make your configuration tweaks in

      /etc/modprobe.d/zram.conf
      /etc/systemd/system/zram_swap.service
      /etc/systemd/system/zram_tmp.service
      /etc/systemd/system/zram_var_tmp.service
    
  • start

      sudo systemctl start zram_swap.service
      sudo systemctl start zram_tmp.service
      sudo systemctl start zram_var_tmp.service
    
  • and finaly enable

      sudo systemctl enable zram_swap.service
      sudo systemctl enable zram_tmp.service
      sudo systemctl enable zram_var_tmp.service
    

Optional remove any swap references in /etc/fstab

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.