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.

[ Hits: 58.192 ]

Por: Davidson Esteves Nunes em 28/11/2005


Mãos a obra!



Após ter feito o download, aplique o patch 100-software-suspend-2.2-rc7-for-2.6.13.patch no kernel que você pegou utilizando o script "apply", que vem junto com o patch:

# cd /usr/src/linux
# /diretorio-do-download/software-suspend-2.2-rc7-for-2.6.13/apply


Edite o arquivo .config no diretório do kernel e faça as seguintes mudanças:

CONFIG_SUSPEND2=y
CONFIG_SUSPEND2_FILEWRITER=y
CONFIG_SUSPEND2_SWAPWRITER=y
CONFIG_SUSPEND2_USERSPACE_UI=y
CONFIG_CRYPTO_LZF=y

Não entrarei em detalhes sobre a compilação e instalação do kernel. Aqui mesmo no Viva o Linux você encontra ótimos artigos abordando este assunto!

Você pode utilizar o suspend de duas formas: utilizando a partição de swap ou utilizando um arquivo de imagem. Adotarei neste artigo a segunda opção, que foi a que funcionou no meu caso.

Descompacte o script hibernate e instale-o:

# tar xzvf hibernate-script-1.12.tar.gz
# cd hibernate-script-1.12
# ./install.sh


Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Mãos a obra!
   3. Configuração
   4. Testando
   5. Finalizando
Outros artigos deste autor

Compilando e testando o novo X11R6.9

Criando discos virtuais em máquinas remotas

Implementando a segurança em servicos de acesso remoto

Leitura recomendada

Kernel 2.6.9 em 20 passos

Compilação comentada do kernel

Algoritmos de compressão

Debian Linux: Atualizando o kernel 2.6.24 para 2.6.26.3 (versão estável)

Slackware 13 - Compilando o kernel 2.6.32rc6

  
Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts