Slackware: Continuar sesión después de hibernar el equipo usando GRUB

En mi equipo con Windows 8, Ubuntu 13.04 y Slackware 14.0, uso GRUB como gestor de arranque pues no he podido configurarlo para usar elilo, por ahora. Y es que elilo me gusta por que me parece muy sencillo de usar y muy similar al clásico LILO al que estoy acostumbrado en Slackware, pero que por desgracia no funciona con hardware basado en EFI (como mi laptop).

La mayor parte del tiempo que uso la computadora uso Slackware y hasta ahora solo he usado Ubuntu para configuración del arranque pues me resulta más fácil. Windows ha estado inactivo por un buen rato.

Pues bien como tengo Ubuntu el gestor de arranque que me instaló y me ha estado funcionando es GRUB… pero tenía un pequeño problema con él: no podía continuar una sesión al hibernar el equipo. Así cada vez que cerraba la tapa de la laptop y el equipo se ponía en hibernación (configurado desde el panel de KDE) al abrirlo de nuevo y seleccionar Slackware, este iniciaba una sesión nueva y no con la configuración anterior como es deseable.

Después de algunos días de búsqueda por la web encontré la solución, o parte de ella. Lo que tuve que hacer fue lo siguiente:

Iniciar Ubuntu y abrir el siguiente archivo:

sudo nano /etc/default/grub

Editar la siguiente línea para que quede así:

GRUB_CMDLINE_LINUX="resume=/dev/sda9"

Donde sda9 es mi partición swap que pensando en esto hice de 8GB desde un inicio, ya que la RAM de mi equipo es de 4GB.

Finalmente ejecuté en el terminal lo siguiente:

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

Este comando genera un nuevo archivo y reemplaza el que originalmente está en /boot. Lo abrí con un editor, busqué la entrada del menú para Ubuntu y la comparé con la de Slackware, encontré una línea interesante:

Para Ubuntu:

linux   /boot/vmlinuz-3.8.0-19-generic root=UUID=8dc436fa-d205-4c9e-987d-ad97753e6b62 ro resume=/dev/sda9  quiet splash $vt_handoff

Para Slackware:

linux /boot/vmlinuz root=/dev/sda10

Así que lo único que hice fue modicar la línea de Slackware para que quedara así:

linux /boot/vmlinuz root=/dev/sda10 resume=/dev/sda9 quiet

No es la gran ciencia y el cambio no es permanente pues al actualizar el archivo de nuevo esto se borrará, o al menos es lo que dicen en los foros.

Fuentes:


superuser.com

Habilitar hibernación en Slackware

Hibernar una laptop no es la gran cosa, solo es cuestión de cerrar la tapa y, con la configuración adecuada, volver a abrirla para seguir trabajando en lo que estábamos haciendo. Esto resulta muy práctico ¿no creen?

En Slackware, como en cualquier otra distribución de Linux+GNU, la hibernación no representa problema alguno. De hecho si uno usa KDE o Xfce se puede decir al equipo que entre en hibernación desde el menú de apagado, o configurarlo para que funcione al cerrar la laptop. En cambio, reanudar de hibernación es algo que no está configurado, por eso al encender la computadora otra vez, esta se enciende normalmente. Ahora, si nuestro hardware lo soporta y su tenemos un espacio swap más grande que nuestra RAM, solo hay que configurar el sistema para habilitar la hibernación.

En Slackware 14.0 la forma de hacerlo es la siguiente, para versiones más antiguas es posible hacerlo mediante HAL.

Configurando LILO

Para decirle al kernel de donde reanudar el equipo en hibernación, es necesario editar el archivo lilo.conf:

# vim /etc/lilo.conf

Y escribir en la línea append algo como lo siguiente:

append=" resume=/dev/sda5"

No olvidarse de ejecutar lilo:

# lilo

En mi caso la partición swap de mi equipo es /dev/sda5 y tiene 4 GB mientras que la memoria RAM es de 3 GB, para que te funcione solo tienes que reemplazarla por la tuya y cuidar que sea de tamaño mayor a la cantidad de memoria. Si en dado caso tienes una memoria swap de menor tamaño a la RAM, puedes crear otra y usar dos particiones para incrementar el espacio (aunque debes buscar como configurarlos). Otra opción que en teoría debería funcionar son los archivos configurados como swap.

Para saber donde está nuestro espacio swap se puede ejecutar:

# cat /proc/swaps

Y mostrará algo como esto:

swap

¡Saludos!

Fuente:

SlackWiki