martes, 29 de septiembre de 2009

Hibernar en Ubuntu con Acer Aspire 9301 awsmi

Explicare con este tutorial como solucioné el problema de hibernar mi ordenador en Ubuntu, algo que no conseguía hacer, desde que compre el laptop por problemas con mi bios y acpi. Una vez que entraba en Hibernación no conseguía salir de la misma y tenia que pulsar forzosamente el botón de arrancar en vez de cualquier tecla.

Instalación y Configuración
1.- Tendremos que instalar algunos paquetes necesarios. Una vez instalados, saltara un aviso de configuración que no puede configurar correctamente la partición swap, salta sin configurar, no hay mayor problema.
sudo apt-get install uswsusp hibernate
2.- Necesitamos algunos datos concretos, para poder editar algunos archivos de configuración, por tanto pasaremos la siguiente orden:
sudo fdisk -l
- El resultado que conseguiremos es algo parecido a estos datos:
pepe@Aspire-9300:~$ sudo fdisk -l
[sudo] password for pepe:
Disco /dev/sda: 250.1 GB, 250059350016 bytes
255 cabezas, 63 sectores/pista, 30401 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Tamaño de sector (lógico / físico): 512 bytes / 512 bytes
Tamaño E/S (mínimo/óptimo): 512 bytes / 512 bytes
Identificador de disco: 0xaa1cfeb7
Dispositivo Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/sda1   *           1        1216     9767488+  83  Linux
/dev/sda2            1217       30401   234428450+   5  Extendida
/dev/sda5           29745       30401     5277321   82  Linux swap / Solaris #dato a usar#
/dev/sda6            1217       29744   229151097   83  Linux
Las entradas de la tabla de particiones no están en el orden del disco
- Guarda (dato a usar) para recordar donde esta situada tu Swap (en mi caso es /dev/sda5), lo necesitaras para usar en el siguiente punto.

3.- Editamos el siguiente archivo con la siguiente orden:
sudo nano -w /etc/uswsusp.conf
- Que debería quedar según tus datos de la siguiente forma:
resume device = /dev/sda5 <- Modificar para tu sistema
splash = n
compress = y
early writeout = y
RSA key file = /etc/uswsusp.key
shutdown method = shutdown
- Una vez modificado Ctrl + o para guardar, usar el nombre por defecto del archivo pulsando ENTER y Ctrl + x para cerrar nano.

4.- Ahora probaremos lo que hemos modificado lanzando la siguiente orden en la terminal:
sudo s2disk
Tarda un poco y puede que te salga una pantalla llena de cuadros, tranquilo es normal. A mi me sale de vez en cuando, pero lo normal es que salga un texto en el que te dice que tal va el progreso de hibernación. Una vez hibernado, le damos al botón de arrancar y salimos de la hibernación.


Preparación de script
1.- Primero una copia de seguridad por lo que pueda pasar:
sudo cp /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux.bak
2.- Ahora editaremos el siguiente script:
sudo nano -w /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux
- Y añadiremos esta orden dentro del script:
#!/bin/sh
/sbin/s2disk
- Para versiones por encima de la 9.04, dejar la orden de la siguiente manera:
#!/bin/sh
s2disk
3.- Ahora actualizamos el archivo de arranque del kernel con la siguiente orden:
sudo update-initramfs -u
Ahora ya podemos hibernar cuando pulsemos Hibernar en el menú de apagado, todo funcionará correctamente para hibernar.


- Aclaro que este tutorial no es mío, es una modificación de un tutorial, que necesite en su momento para solucionar un problema de mi hardware, que no tiene ningún desperdicio y que como ya he escarmentado, dejo reflejado aquí y hago mención de su autor.
Mi agradecimiento al compañero de gambas con chocolate por su trabajo de investigación.
Por favor deja reflejado tu interés por el howto en Reacciones. GRacias.