OVH Cloud OVH Cloud

Suspend to RAM sur un PC fixe?

11 réponses
Avatar
Saïd
Bonjour,

Est-ce qu'il est possible de configurer un PC fixe sous linux pour "dormir"
(suspendre l'activite) mais sans tout sauvegarder sur le DD (j'ai un Go de
RAM, j'ai plus vite fait d'eteindre et rallumer plutot que de tout sauver
sur le DD)?

Dans le bios de ma carte mere j'ai cette option, mais j'imagine bien que le
fait de l'activer ne suffira pas...

--
Saïd.

10 réponses

1 2
Avatar
J. Mayer
On Sun, 30 Nov 2003 23:47:08 +0000, Saïd wrote:

Bonjour,

Est-ce qu'il est possible de configurer un PC fixe sous linux pour "dormir"
(suspendre l'activite) mais sans tout sauvegarder sur le DD (j'ai un Go de
RAM, j'ai plus vite fait d'eteindre et rallumer plutot que de tout sauver
sur le DD)?

Dans le bios de ma carte mere j'ai cette option, mais j'imagine bien que le
fait de l'activer ne suffira pas...


Il y a plusieurs méthodes:
- Ne rien faire: sur les CPU modernes, Linux sait arrêter le CPU
quand il est inactif un certain temps. Il se réveille régulièrement
sur une IRQ externe (un timer ou une activité quelconque).
- Utiliser l'ACPI, ce qui correspond à l'option de ton BIOS
- faire du sw suspend, avec un kernel 2.6. A noter que n'est en
principe sauvée que la RAM réellement utilisée par le kernel
ou des process, pas les caches et buffers (ce serait idiot).
L'avantage du suspend, c'est que tu peux rebooter un autre OS
ou Linux sans toucher à ton image sauvée et revenir à la session
suspendue plus tard, ce qui n'est possible qu'avec cette
méthode. De plus, c'est la seule méthode qui permet d'arrêter
vraiment le PC, donc de se restaurer même après avoir débranché
la machine...

Avatar
Saïd
J. Mayer :
On Sun, 30 Nov 2003 23:47:08 +0000, Saïd wrote:

Bonjour,

Est-ce qu'il est possible de configurer un PC fixe sous linux pour "dormir"
(suspendre l'activite) mais sans tout sauvegarder sur le DD (j'ai un Go de
RAM, j'ai plus vite fait d'eteindre et rallumer plutot que de tout sauver
sur le DD)?

Dans le bios de ma carte mere j'ai cette option, mais j'imagine bien que le
fait de l'activer ne suffira pas...


Il y a plusieurs méthodes:
- Ne rien faire: sur les CPU modernes, Linux sait arrêter le CPU
quand il est inactif un certain temps. Il se réveille régulièrement
sur une IRQ externe (un timer ou une activité quelconque).


Oui, mais la le ventilo de l'alim il tourne, je en peux pas le laisser
allumer pendant que je dors.

- Utiliser l'ACPI, ce qui correspond à l'option de ton BIOS


C'est-a-dire? J'active l'option dans le BIOS, puis j'appuies sur le bouton
d'extinction pendant moins de 4s (comme dit dans le bios) et le suspend se
fait tout seul? Ou bien faut-il lancer un programme special sous linux pour
preparer le systeme a dormir? Et l'alim elle continue a tourner?

- faire du sw suspend, avec un kernel 2.6. A noter que n'est en
principe sauvée que la RAM réellement utilisée par le kernel
ou des process, pas les caches et buffers (ce serait idiot).
L'avantage du suspend, c'est que tu peux rebooter un autre OS
ou Linux sans toucher à ton image sauvée et revenir à la session
suspendue plus tard, ce qui n'est possible qu'avec cette
méthode. De plus, c'est la seule méthode qui permet d'arrêter
vraiment le PC, donc de se restaurer même après avoir débranché
la machine...



Dans ce cas il faut creer une partition speciale (sw, kesako?)? Pour
relancer le systeme on fait comment?

Ce que je cherche en fait c'est l'equivalent de ce qui se fait sur les
machines Apple avec la veille profonde.

En tout cas merci pour la response.

--
Saïd.


Avatar
Saïd
Saïd :
- Utiliser l'ACPI, ce qui correspond à l'option de ton BIOS


C'est-a-dire? J'active l'option dans le BIOS, puis j'appuies sur le bouton
d'extinction pendant moins de 4s (comme dit dans le bios) et le suspend se
fait tout seul?


Je viens de le faire, mais le ventilo de l'alim tourne encore. La carte
graphique continue a envoyer un signal (tout noir) a l'ecran. Du coup je me
dis que la machine continue de bouffer de l'electricite et que je ne peux
pas me permettre de couper le ventilo de l'alim.

--
Said.


Avatar
Erwann ABALEA
Bonjour,

On 30 Nov 2003, Saïd wrote:

Est-ce qu'il est possible de configurer un PC fixe sous linux pour "dormir"
(suspendre l'activite) mais sans tout sauvegarder sur le DD (j'ai un Go de
RAM, j'ai plus vite fait d'eteindre et rallumer plutot que de tout sauver
sur le DD)?


Oublie ça, si tu veux absolument que ton PC soit éteint (ventilo de l'alim
coupé, plus de sortie vidéo, etc.). Il faut chercher du côté du suspend to
disk. Le suspend to RAM ne fonctionne que tant que la RAM est alimentée,
et elle n'est alimentée que quand le PC est allumé...

--
Erwann ABALEA - RSA PGP Key ID: 0x2D0EABD5
-----
"Common sense is the collection of prejudices acquired by age 18."
- Albert Einstein

Avatar
J. Mayer
On Mon, 01 Dec 2003 09:23:29 +0000, Saïd wrote:

Saïd :
- Utiliser l'ACPI, ce qui correspond à l'option de ton BIOS


C'est-a-dire? J'active l'option dans le BIOS, puis j'appuies sur le bouton
d'extinction pendant moins de 4s (comme dit dans le bios) et le suspend se
fait tout seul?


Je viens de le faire, mais le ventilo de l'alim tourne encore. La carte
graphique continue a envoyer un signal (tout noir) a l'ecran. Du coup je me
dis que la machine continue de bouffer de l'electricite et que je ne peux
pas me permettre de couper le ventilo de l'alim.


Il faut aussi que ton kernel supporte l'ACPI, qu'il ne soit pas
trop vieux (pour éviter les bugs) et que l'ACPI soit activé...
Et peut-être que tu installe un daemon user. Pour celà, je n'utilise
pas ACPI, j'ai été refroidi par les bugs récurents décrits sur
la mailing-list de Linux (par les développeurs eux mêmes...).



Avatar
Saïd
J. Mayer :

Finalement j'ai patche mon 2.4.22 avec swsuspend. Ca marche nickel (j'ai
juste du compiler le module rtc dont la doc de swsusp ne parle pas, mais le
script ne marche pas si /dev/misc/rtc n'est pas accessible). J'ai reussi a
faire dormir la machine a partir de X11 et retour sans probleme en mode
graphique. Merci.

C'est con que grub soit incapable de booter a partir de mon DD. J'en suis
reduit a booter depuis une disquette ce qui prend 10s parmi les 13s du
resume.

--
Saïd.
Avatar
François Valenduc
Saïd wrote:
J. Mayer :

Finalement j'ai patche mon 2.4.22 avec swsuspend. Ca marche nickel (j'ai
juste du compiler le module rtc dont la doc de swsusp ne parle pas, mais le
script ne marche pas si /dev/misc/rtc n'est pas accessible). J'ai reussi a
faire dormir la machine a partir de X11 et retour sans probleme en mode
graphique. Merci.

C'est con que grub soit incapable de booter a partir de mon DD. J'en suis
reduit a booter depuis une disquette ce qui prend 10s parmi les 13s du
resume.



Comment à tu fais ? Car j'ai décompresser les sources du noyau 2.4.22
mais je n'arrive pas à le patcher avec Software suspend. J'ai
télécharger et décompressé plusieurs versions du patch mais à chaque
fois, soit la commande patch se bloque soit elle s'effectue mais le
software suspend n'est pas intégré au sources. J'ai essayé avec les
versions 1.1-pre1, 1.1-rc6-incremental ou encore 2.0-rc2-whole ou
2.0-rc2-incremental mais chaque fois sans résultats. Pourtant j'ai bien
choisis l'option du prompt for incomplete or development code/drivers"
mais l'option software suspend n'apparaît pas dans la configuration du
noyau.

Merci pour les conseils.

--
François Valenduc

Mon adresse e-mail est bien sur truquée
Enlever le deuxième c à la fin et mettre un point après francois pour me
répondre

Avatar
Saïd
François Valenduc :
Saïd wrote:
J. Mayer :

Finalement j'ai patche mon 2.4.22 avec swsuspend. Ca marche nickel (j'ai
juste du compiler le module rtc dont la doc de swsusp ne parle pas, mais le
script ne marche pas si /dev/misc/rtc n'est pas accessible). J'ai reussi a
faire dormir la machine a partir de X11 et retour sans probleme en mode
graphique. Merci.

C'est con que grub soit incapable de booter a partir de mon DD. J'en suis
reduit a booter depuis une disquette ce qui prend 10s parmi les 13s du
resume.



Comment à tu fais ? Car j'ai décompresser les sources du noyau 2.4.22
mais je n'arrive pas à le patcher avec Software suspend. J'ai
télécharger et décompressé plusieurs versions du patch mais à chaque
fois, soit la commande patch se bloque soit elle s'effectue mais le
software suspend n'est pas intégré au sources. J'ai essayé avec les
versions 1.1-pre1, 1.1-rc6-incremental ou encore 2.0-rc2-whole ou
2.0-rc2-incremental mais chaque fois sans résultats. Pourtant j'ai bien
choisis l'option du prompt for incomplete or development code/drivers"
mais l'option software suspend n'apparaît pas dans la configuration du
noyau.

Merci pour les conseils.



J'ai utilise
swsusp-2.0-rc2-whole
le patch s'est bien passe.
L'option est apparu
"General Setup"
J'ai coche Software Setup et aucune sous-option.

Sinon, mes premiers suspend on foir parce qu'un script cherchait
/dev/misc/rtc
que j'ai cree avec mknod (sur ma debian je n'ai que /dev/rtc).
et j'ai du compiler le module RTC.

il faut aussi ajouter l'option resume=partitiondeswap
a la ligne correspondante de ton lilo.conf ou de grub.

--
Saïd.


Avatar
François Valenduc
Comment à tu fais ? Car j'ai décompresser les sources du noyau 2.4.22
mais je n'arrive pas à le patcher avec Software suspend. J'ai
télécharger et décompressé plusieurs versions du patch mais à chaque
fois, soit la commande patch se bloque soit elle s'effectue mais le
software suspend n'est pas intégré au sources. J'ai essayé avec les
versions 1.1-pre1, 1.1-rc6-incremental ou encore 2.0-rc2-whole ou
2.0-rc2-incremental mais chaque fois sans résultats. Pourtant j'ai bien
choisis l'option du prompt for incomplete or development code/drivers"
mais l'option software suspend n'apparaît pas dans la configuration du
noyau.

Merci pour les conseils.




J'ai utilise
swsusp-2.0-rc2-whole
le patch s'est bien passe.
L'option est apparu
"General Setup"
J'ai coche Software Setup et aucune sous-option.

Sinon, mes premiers suspend on foir parce qu'un script cherchait
/dev/misc/rtc
que j'ai cree avec mknod (sur ma debian je n'ai que /dev/rtc).
et j'ai du compiler le module RTC.

il faut aussi ajouter l'option resume=partitiondeswap
a la ligne correspondante de ton lilo.conf ou de grub.



Alors je n'y comprends vraiment rien, j'ai bien téléchargé la version
2.0-rc2-whole ensuite je tape bunzip2 swsusp-2.0-rc2-whole.bz2 et patch
-p1 .../swsusp-2.0-rc2-whole mais la console reste bloquée jusqu'à ce
que je tape control C pour arrêter le patch. Mon ordi ne fait alors
absolument rien. Ça me laisse fort perplexe...

--
François Valenduc

Mon adresse e-mail est bien sur truquée
Enlever le deuxième c à la fin et mettre un point après francois pour me
répondre


Avatar
Saïd
François Valenduc :

Comment à tu fais ? Car j'ai décompresser les sources du noyau 2.4.22
mais je n'arrive pas à le patcher avec Software suspend. J'ai
télécharger et décompressé plusieurs versions du patch mais à chaque
fois, soit la commande patch se bloque soit elle s'effectue mais le
software suspend n'est pas intégré au sources. J'ai essayé avec les
versions 1.1-pre1, 1.1-rc6-incremental ou encore 2.0-rc2-whole ou
2.0-rc2-incremental mais chaque fois sans résultats. Pourtant j'ai bien
choisis l'option du prompt for incomplete or development code/drivers"
mais l'option software suspend n'apparaît pas dans la configuration du
noyau.

Merci pour les conseils.




J'ai utilise
swsusp-2.0-rc2-whole
le patch s'est bien passe.
L'option est apparu
"General Setup"
J'ai coche Software Setup et aucune sous-option.

Sinon, mes premiers suspend on foir parce qu'un script cherchait
/dev/misc/rtc
que j'ai cree avec mknod (sur ma debian je n'ai que /dev/rtc).
et j'ai du compiler le module RTC.

il faut aussi ajouter l'option resume=partitiondeswap
a la ligne correspondante de ton lilo.conf ou de grub.



Alors je n'y comprends vraiment rien, j'ai bien téléchargé la version
2.0-rc2-whole ensuite je tape bunzip2 swsusp-2.0-rc2-whole.bz2 et patch
-p1 .../swsusp-2.0-rc2-whole mais la console reste bloquée jusqu'à ce
que je tape control C pour arrêter le patch. Mon ordi ne fait alors
absolument rien. Ça me laisse fort perplexe...



C'est plutot:
cd /usr/src/linux-2.4.22 (ou la ou tu as mis ton linux)
puis:
patch -p1 < location-of-swsusp-patch

par patch -p1 location-of-swsusp-patch

--
Saïd.



1 2