Настройка спящего режима на базе пропатченного ядра TuxOnIce в Ubuntu 14.04

Руководства, инструкции, советы и хитрости
Ответить
Серый
Сообщения: 844
Зарегистрирован: 27 сен 2012, 19:20
Темы: 102
Статус: Не в сети

Настройка спящего режима на базе пропатченного ядра TuxOnIce в Ubuntu 14.04

Сообщение Серый » 29 янв 2017, 15:18

Дано:
Ноутбук: Lenovo G585
CPU: AMD E1-1200 APU (2) @ 1.4GHz
GPU: AMD Radeon HD 7310 # Использую проприетарные драйвера
Оперативная память: 1,6G
Система: Ubuntu 14.04.5 LTS x86_64
WM: i3
Информация о дисках:

Код: Выделить всё

$ sudo blkid
/dev/sda1: UUID="7002db0e-ee64-4666-8fc9-94f5c9f4525f" TYPE="ext4" 
/dev/sda5: UUID="2a1f2849-4440-46e3-b60f-49cfc568dd25" TYPE="swap" 
$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465,8G  0 disk 
├─sda1   8:1    0 460,5G  0 part /
├─sda2   8:2    0     1K  0 part 
└─sda5   8:5    0   5,3G  0 part [SWAP]
Примечания:
- несмотря на рекомендации об использовании для данной задачи своп файла здесь будет рассмотрено использование своп раздела
- инструкция будет отличаться от аналогичных на других источниках, пишу так, как у меня заработало

В системе должны быть установлены пакеты hibernate pm-utils, если нет - устанавливаем

Код: Выделить всё

sudo apt-get install hibernate pm-utils
Подключаем дополнительный репозиторий и устанавливаем пропатченное ядро

Код: Выделить всё

sudo add-apt-repository ppa:tuxonice/ppa
sudo apt update
sudo apt install linux-generic-tuxonice tuxonice-userui
Напомню, у меня своп раздел /dev/sda5, его UUID 2a1f2849-4440-46e3-b60f-49cfc568dd25

В файле /etc/hibernate/tuxonice.conf раскоментируем строку, начинающуюся с SuspendDevice и ставим раздел свопа

Код: Выделить всё

## useful for initrd usage:
SuspendDevice swap:/dev/sda5
В файле /etc/initramfs-tools/conf.d/resume должно быть

Код: Выделить всё

RESUME=swap:/dev/sda5
Обновляем GRUB

Код: Выделить всё

sudo update-grub
sudo update-initramfs -u
В файле /boot/grub/grub.cfg в параметрах запуска ядра ставим resume=swap:/dev/sda5

Код: Выделить всё

linux   /boot/vmlinuz-3.13.0-107-generic-tuxonice root=UUID=7002db0e-ee64-4666-8fc9-94f5c9f4525f ro  quiet resume=swap:/dev/sda5
На этом этапе если вместо resume=swap:/dev/sda5 поставить resume=UUID=2a1f2849-4440-46e3-b60f-49cfc568dd25 у меня не заработало. Система грузилась, но с ошибкой, после этого в спящий режим не уходила. Заработало нормально только когда я поставил resume=swap:/dev/sda5

После перезагрузки по команде

Код: Выделить всё

sudo pm-hibernate
система будет уходить в спящий режим.

PS Если придут обновления ядра скорее всего это всё "слетит" и придётся заново делать (редактировать файл /boot/grub/grub.cfg), но по другому поднять спящий режим у меня не получилось. Делал по инструкциям на вики Ubuntu и по другим инструкциям в интернете.

PS2 И самое главное!
Работает это по прежнему нестабильно, т.е. не всегда уходит в спящий режим, один раз даже снимал аккумулятор, т.к. с кнопки не отключалось.
Замечено:
- при открытом Jabber клиенте Vacuum не уходит в спящий. Решение: в моём скрипте до вызова команды sudo pm-hibernate я убиваю процесс вакуума killall vacuum потом после включения вызываю его снова

Код: Выделить всё

killall vacuum
sudo pm-hibernate
vacuum
- при открытом офисном документе тоже не уходит в спящий (писал эту статью на Abiword, пробовал спящий режим - безуспешно). Решение: перед спящим выключать все документы (именно выключать, а не просто сохранять).

Конечно для статьи слабовато, т.к. много выявлено проблем и финального решения пока нет, но как вариант вот решил всё таки написать. Что ещё выявлю - добавлю потом.
Всё, что вы будете пробовать - на ваш риск. Будьте осторожны. Неправильные действия могут привести к неработоспособности системы!

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей