Это старая версия документа.


Введение

Данная статья является подразделом статьи "Спящий режим".

Если спящий режим с помощью pm-hibernate и s2disk работает некорректно (к примеру, у меня с Ubuntu 14.04 так и происходит: pm-hibernate не работает вообще, а s2disk после загрузки в Windows 7 ругается на поврежденный образ), следует воспользоваться третьей реализацией - TuxOnIce.

Установка

Для работы TuxOnIce нам нужно пропатченное ядро, которое для Ubuntu доступно прямо из репозиториев:

sudo add-apt-repository ppa:tuxonice/ppa
sudo apt update
sudo apt install linux-generic-tuxonice tuxonice-userui

Официальный мануал заявляет нам, что все должно работать без правки конфигов, однако в случае со свопфайлом это не так: TuxOnIce формат записи UUID+offset понимать отказывается. Поэтому поступаем следующим образом:

cat /sys/power/tuxonice/swap/headerlocations

Получаем оттуда подобную строку:

For swapfile `/swapfile`, use resume=swap:/dev/sda2:0x2110000.

и записываем информацию о начале свопфайла на нашем разделе в данном формате в конфиг TuxOnIce:

sudo nano /etc/hibernate/tuxonice.conf

Добавляем (или раскомментируем) строку

SuspendDevice swap:/dev/sda2:0x2110000

Теперь Initramfs и Grub:

echo "resume=swap:/dev/sda2:0x2110000" | sudo tee /etc/initramfs-tools/conf.d/resume
sudo nano /etc/default/grub

В строке GRUB_CMDLINE_LINUX_DEFAULT заменяем предыдущую запись с resume и resume_offset на

resume=swap:/dev/sda2:0x2110000

Обновляем настройки GRUB и генерируем новый initramfs:

sudo update-grub
sudo update-initramfs -u

Указываем в качестве средства гибернации tuxonice:

echo "SLEEP_MODULE=tuxonice" | sudo tee -a /etc/pm/config.d/module

Перезагружаемся и проверяем работу TuxOnIce с помощью

sudo pm-hibernate

или кнопки «Спящий режим» в меню.

Ссылки