Hablando de cosas olvidables. Siempre que instalo archlinux, se me olvida que hay que hacer una ceremonia para que la hibernación pinche.
De más está que te diga que necesitarás una particion swap, con al menos el mismo tamaño de la RAM que tienes. No pincha con swapfiles.
En mi caso, yo hice una swap del tamaño de la RAM, lo cual me jode a la hora de hibernar, ya que se demora mucho descartando los datos que hay en la swap (si hay) en el momento de hibernar.
Bueno entrando en materia:
En el GRUB, le daremos el parámetros resume y usaremos como argumento, el disco de donde se resume, o sea la swap. Veamos cual es el UUID de la swap:
1 2 |
|
Vamos al cargador de arranque (grub en mi caso) y le decimos cual es el disco de donde debe tomar la imagen y resumirla. Localiza el fichero /etc/default/grub y en una de las primeras lineas, modifica la cláusula GRUB_CMDLINE_LINUX_DEFAULT inclúyele resume=UUID=LaUUiDeTuDisCoSwap. A mi me quedó así:
1 2 3 4 |
|
Como ven, ahí declaramos (EL UUID DE LA SWAP) la partición donde se almacena la imagen que crea el proceso de hibernación.
Pero no todo está listo, aún initramfs no se ha dado por enterado que vamos a hibernar. Localiza el fichero /etc/mkinitcpio.conf y añadele el hook de resume, a mi me quedó así:
1 2 3 4 |
|
Generalmente debes ponerlo después de udev y antes de autodetect. No te olvides de regnerar el initramfs:
1
|
|
Si te molesta que la swap haga su pincha de swap (como en mi caso) puede deshabilitar el swapiness. Crea un fichero /etc/sysctl.d/00-noswap.conf y ponle adentro el siguiete valor: vm.swappiness=0
Y hibernan como los osos :D
Seguro te preguntarás como hacer que se ejecute algo al hibernar o despertar. Pues puedes crear una unit llamadas root-resume y root-suspend.
Por ejemplo, a mi en lo personal, me interesa parar el puto networkmanager cuando hiberno, ya que es poco probable que cuando despierte, esté en otro lugar y probablemente sin red. En mi caso yo habilito el networkmanager solo cuando lo necesito. En este caso, asumiré que para al hibernar y enciende al despertar.
1 2 3 4 5 6 7 8 9 10 |
|
Al despertar arranca:
1 2 3 4 5 6 7 8 9 10 |
|
Todo lo que necesitas está en el artículo de la wiki de archlinux: Power Management