Pular para o conteúdo

Fazendo seu Linux hibernar

Neste meu primeiro artigo quero falar de um dos recursos que eu acho mais interessantes do Windows: o hibernar. O boot é extremamente rápido, uma vez que o hibernar apenas cria um "snapshot" do sistema, o grava em arquivo e ao reiniciar apenas carrega esse para a memória. O legal é que também podemos fazer isso no Linux com a ajuda de um patch chamado Software Suspend.
Davidson Esteves Nunes davidsonbhz
Hits: 60.321 Categoria: Linux Subcategoria: Kernel
  • Indicar
  • Impressora
  • Denunciar

Introdução

Neste meu primeiro artigo quero falar de um dos recursos que acho mais interessantes do Windows: o hibernar. Você para, desliga o micro, vai dormir e no dia seguinte continua de onde ele parou. O boot é extremamente rápido, uma vez que o hibernar apenas cria um "snapshot" do sistema e o grava em arquivo e ao reiniciar, apenas carrega esse snapshot para a memória.

O legal é que também podemos fazer isso no Linux com a ajuda de um patch chamado Suspend2.

Download


O kernel que usei foi o 2.6.13.4, que pode ser facilmente encontrado em www.kernel.org.

O versão do Suspend utilizada foi o software-suspend-2.2-rc7-for-2.6.13, que pode ser obtido em:
Você vai precisar ainda do script hibernate, que pode ser baixado em:
   1. Introdução
   2. Mãos a obra!
   3. Configuração
   4. Testando
   5. Finalizando

Implementando a segurança em servicos de acesso remoto

Compilando e testando o novo X11R6.9

Criando discos virtuais em máquinas remotas

ReactOS: O irmão open-source do Microsoft Windows NT 4.0

Compilando kernel 2.6 no Slackware 11

NPTL, Exec-Shield e outros palavrões que fazem seus programas crasharem

Instalando automounter e configurando o autofs no Debian Sarge

Compilando o kernel no Conectiva Linux 10

#1 Comentário enviado por lennon.jesus em 28/11/2005 - 14:58h
Cara,

Ainda não tive tempo de testar... Mas já gostei!
Espero que funcione, hehe!
Realmente é uma "mão na roda". A melhor coisa do mundo é poder começar de onde paramos sem maiores enrolações.
Parabéns!

Abraços,
Lennon Jesus
#2 Comentário enviado por humbhenri em 28/11/2005 - 20:27h
Vale lembrar que no Ubuntu 5.10 a hibernação já vem por default
#3 Comentário enviado por diegospeed em 28/11/2005 - 22:24h
Olá,

Muito interessante, vou testar aki...

Artigo muito bomm de grande valia para todos... Parabéns...

Abraço...
#4 Comentário enviado por Grobsch em 29/11/2005 - 07:57h
Cara, já havia baixado o suspend e estava pronto para testá-lo, apenas vou antes atualizar o kernel, quando me deparo com seu artigo, bem providencial. Conversava com o Bruno do BigLinux e ele sugeriu este suspend, parece que ele irá deixar como padrão no Big, e talvez eu o coloque no GoblinX, apesar de não gostar de acrescentar patches ao kernel.

Abs
#5 Comentário enviado por a.fernando em 30/11/2005 - 09:09h
Parabens,

Gostei muito do seu artigo.

O assunto é de extrema utilidade para mim que uso notebook para trabalhar.

Valeu!
#6 Comentário enviado por Grobsch em 01/12/2005 - 13:39h
Hummm... Não consegui ainda compilar para o kernel 2.6.14.3.. o erro:
In file included from kernel/power/atomic_copy.c:10:
include/asm/suspend2.h: In function `fix_processor_context':
include/asm/suspend2.h:132: error: `per_cpu__init_tss' undeclared (first use in this function)
include/asm/suspend2.h:132: error: (Each undeclared identifier is reported only once
include/asm/suspend2.h:132: error: for each function it appears in.)
include/asm/suspend2.h:138: error: `per_cpu__cpu_gdt_table' undeclared (first use in this function)
make[2]: ** [kernel/power/atomic_copy.o] Erro 1
make[1]: ** [kernel/power] Erro 2
make: ** [kernel] Erro 2

Vou tentar mais... qq ajuda será útil...
#7 Comentário enviado por Grobsch em 02/12/2005 - 10:01h
Acabei removendo a tal função e compilei, vou testar hoje.
#8 Comentário enviado por LM25TTD em 05/02/2006 - 19:40h
Alguem sabe como configurar esta função sem conflitar com o driver nvidia?
#9 Comentário enviado por cycne em 28/02/2006 - 19:44h
Muito bom o artido, amigo LM25TTD , tive o mesmo problema!

( aqui é driver nvidia 8178 e kernel 2.6.15 DEBIAN!! :P )

primeiro o hibernate nao funcionava com driver da nvidia , aí achei um patch pro driver da nvidia que resolveu o problema!, aí vem o problema n°2 , o quando a maquina voltava do hibernar e abria o grafico bonitinho , o terminal fica todo como se estivesse fora de frequencia... bom faça o seguinte...
aqui vc vai saber como patchear seu driver nvidia de acordo com a versão
http://wiki.suspend2.net/DistroAndHardwareSetup/Nvidia?highlight=%28nvidia%29

agora vc usa o hibernate com o --force que vai funcionar!

### Resolvendo o problema do console ###
baixe esse patch pro kernel:
http://dev.gentoo.org/~spock/projects/vesafb-tng/

.. inclusive ou escrever um artigo sobre , pois esse patch é muito bom , voce pode mudar a resolução do terminal em tempo real , sem prescisar rebootar , e pode por uma resolução diferente em cada um com o fbset, alem de nao prescisar mais daqueles códigos toscos no lilo ou grub: vga=792
agora vc comenta o vga=
e escolhe a sua resolução assim: append="video=vesafb:ypan,1280x1024-32"

agora vai funcionar q é uma maravilha :) , aqui o meu append= esta assim:
append="quiet resume2=file:/dev/sda1:0xb32530 video=vesafb:ypan,1280x1024-32"

espero ter ajudado!!!!
abraços!!
#10 Comentário enviado por evangelistat em 04/06/2007 - 11:19h
nunca tinha pensado na capacidade do linux hibernar . por isso achei o artigo curioso e interessante .Parabéns.
Sds.
#11 Comentário enviado por xiloba em 28/05/2011 - 22:40h
legal o post.
Estive procurando por isso e também achei as seguintes possibilidades, sem instalar nada no ubuntu 10.04:
para hibernar:
#s2disk
para suspender:
# echo -n > /sys/power/state
:)

Contribuir com comentário

Entre na sua conta para comentar.