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.243 ]

Por: Davidson Esteves Nunes em 28/11/2005


Testando



Após ter alterado seu lilo.conf (não se esqueça de digitar "lilo" depois de editar o arquivo), reinicie seu computador normalmente. Depois de reiniciar, experimente abrir várias janelas no KDE, alguns programinhas... abra também o OpenOffice e escreva alguma coisa.

Em seguida, abra um terminal e digite "hibernate"... após alguns segundos a máquina desliga e quando você aperta o power novamente... surpresa (fiz isto enquanto digitava este artigo)!

Aviso importante


Como nem tudo na vida são flores, cuidado com alguns detalhes. O suspend2 cria um snapshot do sistema, ou seja, todo o status operacional é restaurado quando ele retorna, nenhum arquivo é fechado, processos continuam rodando do ponto onde pararam, etc. Se após hibernar você reiniciar com um kernel anterior (considerando que você foi esperto e manteve um backup do seu kernel) sem suporte ao suspend2 e alterar qualquer coisa (qualquer coisa mesmo!), ao retornar com a imagem hibernada poderá haver corrupção no seu sistema de arquivos. Até mesmo a abertura do filesystem em modo somente para leitura irá provocar uma mudança interna no journal do sistema. Portanto cuidado!

Você pode brincar à vontade, desde que tome as precauções necessárias como ler os READMEs.

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

Implementando a segurança em servicos de acesso remoto

Criando discos virtuais em máquinas remotas

Compilando e testando o novo X11R6.9

Leitura recomendada

O kernel Linux está inchado... Mas, calma, não é bem assim!

Compilar kernel em distros baseadas em Debian

Instalando e configurando os módulos do kernel 2.6 no Slackware

Tornando o kernel do OpenBSD enxuto

Suporte a SATA NCQ em chipset NForce

  
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