LINUX.ORG.RU

История изменений

Исправление netwish, (текущая версия) :

Можно было бы попробовать swap не напрямую через файл, а через mount loop. У меня так на старом Debian 8 работало. Ядро 3.x.

# Стартовый скрипт
# Его нужно ещё добавить в автостарт systemd.
chmod a+x -- /etc/rc.local
#!/bin/bash
# Файл /etc/rc.local

SIZEMB=1024
IMG=/swap-mount-loop.img

ls -1 -- "${IMG}" > /dev/null 2> /dev/null
if [ $? = 0 ]
then
    echo Found loop-image.

    # Mount swap through loop
    LOOPDEV=$(losetup -f)
    losetup "$LOOPDEV" "${IMG}"

    swapon "$LOOPDEV"
else
    echo Create loop-image.
    dd if=/dev/zero "of=${IMG}" bs=1M count=$SIZEMB

    # Права на свап-файл
    chown 0:0 -- "${IMG}"
    chmod ug=rw,o= -- "${IMG}"

    # Mount swap through loop
    LOOPDEV=$(losetup -f)
    losetup "$LOOPDEV" "${IMG}"

    # Подготовка файла свапа
    mkswap "$LOOPDEV"

    swapon "$LOOPDEV"
fi

Исходная версия netwish, :

Можно было бы попробовать swap не напрямую через файл, а через mount loop. У меня так на старом Debian 8 работало. Ядро 3.x.

# Стартовый скрипт
# Его нужно ещё добавить в автостарт systemd.
chmod a+x -- /etc/rc.local
#!/bin/bash
# Файл /etc/rc.local

SIZEMB=1024
IMG=/swap-mount-loop.img

ls -1 -- "${IMG}" > /dev/null 2> /dev/null
if [ $? = 0 ]
then
    echo Found loop-image.

    # Mount swap through loop
    LOOPDEV=$(losetup -f)
    losetup "$LOOPDEV" "${IMG}"

    swapon "$LOOPDEV"
else
    echo Create loop-image.
    dd if=/dev/zero "of=${IMG}" bs=1M count=$SIZEMB

    # Права на свап-файл
    chown 0:0 -- "${IMG}"
    chmod ug=rw,o= -- "${IMG}"

    # Mount swap through loop
    LOOPDEV=$(losetup -f)
    losetup "$LOOPDEV" "${IMG}"

    # Подготовка файла в формата свапа
    mkswap "$LOOPDEV"

    swapon "$LOOPDEV"
fi