Witam wszystkich.
Borykam się z plikiem z tematem hibernacji.
Utworzyłem plik wymiany i chcę by działała hibernacja. Jakoś nie mogę się do szukać tutka.
Widziałem na youtube ale coś jest zakręcone.
sudo fallocate -l 8G /swapfile
sudo mkswap /swapfile
sudo chmod 600 /swapfile
sudo swapon /swapfile
Tymi poleceniami na razie tylko utworzyłeś i aktywowałeś swapfile. Pomijam tu fakt, że zamiast fallocate rekomendują dd – ale to jest alternatywa, która też powinna zadziałać. Teraz powinieneś dodać odpowiednie parametry do kernela (czyli do /etc/default/grub w linii GRUB_CMDLINE_LINUX_DEFAULT) według schematu:
<swap_file_partition> to partycja, na której znajduje się swapfile, dla pewności sprawdź poleceniem findmnt -no UUID -T /swapfile
parametr <swap_file_offset> za Arch Wiki otrzymasz z polecenia filefrag -v /swapfile | awk '{ if($1=="0:"){print substr($4, 1, length($4)-2)} }' (są inne sposoby, ale ten daje bezpośredni wynik i nie wymaga tłumaczenia )
Na koniec jeszcze mała uwaga, jeśli korzystasz z brfts to sytuacja wygląda trochę inaczej zarówno jeśli chodzi o utworzenie swapfile jak i hibernację do niego – odsyłam do linków, a w razie problemów pytaj
Rekomendacja dotyczy niektórych systemów plików - ‘pozastandardowych’ - na których mogą być problemy (nie znam szczegółów). Używam fallocate na Ext4 i nie zarejestrowałem dotychczas jakichkolwiek nieprawidłowości.
Nie tyle tworzyła i usuwała, ile zarządzała swap’em dynamicznie, dodając/usuwając pliki (o stałym, zdefiniowanym rozmiarze), w zależności od potrzeb.
Z tego wynika, że wszystkie wcześniejsze polecenia wykonywałeś z poziomu zwykłego użytkownika – błąd, wszystkie polecenia wykonujesz z uprawnieniami root.
Również źle, skoro zdecydowałeś się utworzyć swap w swoim katalogu domowym. Czyli zamiast /swapfile powinno być /home/rafiki20/swapfile
Kolejny błąd, tu podajesz UUID partycji na której znajduje się plik swap, czyli w twoim przypadku będzie to wynik findmnt -no UUID -T /home/rafiki20/swapfile
Mam nadzieję, że nie wpisałeś tego do terminala – te parametry (resume oczywiście do poprawy) podajesz w /etc/default/grub w linii:
GRUB_CMDLINE_LINUX_DEFAULT=
Potem oczywiście aktualizacja gruba, sudo update-grub
Nic więcej nie jest potrzebne, co najwyżej może być konieczne odblokowanie w ustawieniach systemowych opcji hibernacji, żeby się pojawiły w menu. Możesz też przetestować hibernację poleceniem systemctl hibernate
Zostawiasz, nowe wpisy dodajesz wewnątrz cudzysłowów. Bez znaczenia czy będą na początku, czy na końcu.
Jeszcze mały dodatek ode mnie, zajrzałem na wiki Archa i okazuje się, że zapomnieliśmy o jeszcze jednej rzeczy ważnej dla hibernacji, mianowicie o konfiguracji initframs. A więc w /etc/mkinitcpio.conf w HOOKS dodaj opcję resume i zrekonfiguruj initframs poleceniem sudo mkinitcpio -P