The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Активация режима гибернации в openSUSE Tumbleweed
Имеется установленная openSUSE Tumbleweed с KDE, на разделах в качестве
файловой системы используется ext4. Чтобы иметь возможность использовать
гибернацию, необходимо иметь раздел подкачки или файл подкачки. Я предпочитаю
использовать файл подкачки, потому что в любое время можно легко изменить его
размер или вовсе его удалить, С разделом же придется повозится. Я буду
использовать файл подкачки. В случае с btrfs следует использовать раздел подкачки.

Итак, создаём файл подкачки. Чтобы он не мозолил глаза, я решил разместить его
в каталоге /var/lib/swap. Создаём каталог:

   sudo mkdir -p /var/lib/swap

Закрываем к нему доступ всем, кроме root:

   sudo chmod 700 /var/lib/swap

Чтобы выбрать оптимальный размер файла подкачки, я воспользовался таблицей.
Для себя я выбрал размер 11 Гб (11534336 байт). Создаем файл, который будет
использоваться как файл подкачки:

   sudo dd if=/dev/zero of=/var/lib/swap/swapfile bs=1024 count=11534336

Закрываем к нему доступ всем, кроме root:

   sudo chmod 600 /var/lib/swap/swapfile

Настраиваем файл подкачки:

   sudo mkswap /var/lib/swap/swapfile

Активируем файл подкачки:

   sudo swapon /var/lib/swap/swapfile

Уже после этих действий должен появится пункт перехода в режим гибернации, но
сама режим пока что работать не будет. Чтобы файл подкачки автоматически
монтировался во время загрузки, необходимо прописать его в
/etc/fstab. Не забываем делать резервные копии системных
файлов, которые планируем редактировать!:

   /var/lib/swap/swapfile none swap defaults 0 0

Далее нам нужно указать в grub, откуда система должна загружать данные после
выхода из режима гибернации. Нам нужно узнать:
1. ID раздела, на котором находится файл подкачки
2. физическое смещение файла подкачки на этом разделе.
ID раздела мы можем найти в том же /etc/fstab. У меня этот ID равен f68ed3c5-da10-4288-890f-b83d8763e85e:

   cat /etc/fstab
   UUID=4e73657c-f1d2-4f52-9909-1226a6fe6493  /          ext4  defaults          0  1

Смещение находим с помощью команды filefrag. Значением смещения
является левое верхнее число столбца physical_offset в двумя горизонтальными
точками (..) в конце. У меня это значение равно 337920:

   sudo filefrag -v /var/lib/swap/swapfile
   File size of /var/lib/swap/swapfile is 11811160064 (2883584 blocks of 4096 bytes)
   ext:     logical_offset:        physical_offset: length:   expected: flags:
   0:        0..   14335:     337920..    352255:  14336:
   1:    14336..   20479:     378880..    385023:   6144:     352256:
   2:    20480..   22527:     387072..    389119:   2048:     385024:
   ...

Записываем полученные данные в файл /etc/default/grub. Находим
параметр GRUB_CMDLINE_LINUX_DEFAULT и добавляем к нему запись вида
resume=UUID=<UUID> resume_offset=<offset>. У меня это выглядит так:

   GRUB_CMDLINE_LINUX_DEFAULT="splash=silent mitigations=auto quiet resume=UUID=4e73657c-f1d2-4f52-9909-1226a6fe6493 resume_offset=337920"

Далее необходимо обновить файл конфигурации grub:

   sudo grub2-mkconfig -o /boot/grub2/grub.cfg

или для EFI:

   sudo grub2-mkconfig -o /boot/efi/EFI/opensuse/grub.cfg

И последнее, что нам нужно сделать - пересобрать initramfs с поддержкой модуля
resume. Для этого создаём файл /etc/dracut.conf.d/99-resume.conf с
таким содержимым:

   add_dracutmodules+=resume

И, собственно, пересобираем initramfs:

   sudo dracut -fv

Перезагружаемся и проверяем работу режима гибернации.
 
05.04.2021 , Автор: popov895
Ключи: opensuse, sleep, suspend, swap, hibernation, kde / Лицензия: CC-BY
Раздел:    Корень / Администратору / Система / Linux специфика / Установка и работа с пакетами программ в Linux

Обсуждение [ RSS ]
  • 1.1, Dmitry (??), 17:16, 13/04/2021 [ответить]  
  • +/
    А вот это познавательно. Спасибо.
     
  • 1.2, RZ (??), 21:30, 13/04/2021 [ответить]  
  • +/
    Спасибо огромное за статью! Все заработало!!!
     
  • 1.3, newSuse (?), 10:12, 18/04/2021 [ответить]  
  • +/
    Спасибо!
     
  • 1.4, P (?), 16:04, 21/04/2021 [ответить]  
  • +/
    Я в suse не копенгаген...
    А там что, при установке нельзя создать хоть файл, хоть раздел?
     
  • 1.5, Аноним (5), 01:04, 26/04/2021 [ответить]  
  • +/
    openSUSE расстраивает, во многих дистрибутивах это всё из коробки работает, если свопа хватает. Даже если его меньше чем размер оперативки, то гибернация всё равно будет работать если на момент ухода в неё используемой памяти меньше чем есть свопа (т.е. если своп 4, а занято 3 из 8 ГБ рамки, то всё заработает, а если будет занято больше 4, то система откажется уходить в гибернацию).
     
     
  • 2.6, Анонимчик (?), 11:02, 26/04/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Это в каких, например?
     


     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру