La fonction suspend2 (ou hibernation) permet de couper son portable sans passer par la phase de boot de linux, ceci diminue grandement le temps pour allumer et pour éteindre son portable (notamment). De plus lorsque vous relancez votre ordi après hibernation, celui-ci revient exactement au bureau dont vous disposiez avant de l’éteindre.
C’est dommage qu’une telle fonction ne soit pas d’origine, par exemple dans les paquets laptop, parce qu’elle est très pratique … l’essayer c’est l’adopter !
marche à suivre :
1 - télécharger les sources du kernel 2.6.18.x sur http://www.kernel.org/ et Suspend2 2.2.8 for kernel 2.6.18 sur http://www.suspend2.net/
2 - installer avec synaptic : suspend2-userui hibernate debconf-utils dpkg-dev debhelper build-essential kernel-package libncurses5-dev
3 - décompacter le kernel 2.6.18x et suspend2 dans Desktop
4 - patcher le kernel : # /home/reputilisateur/Desktop/linux-2.6.18x/ /home/reputilisateur/Desktop/suspend2/apply
5 - configurer le kernel : # /home/reputilisateur/Desktop/linux-2.6.18x/make menuconfig
avec ces options :
[code]# General setup —>
(-hibernate) Local version - append to kernel release
Power management options (ACPI, APM) —>
[ ] Software Suspend (EXPERIMENTAL)
<*> Suspend 2 —> (enter)
<*> Swap Writer
(swap:/dev/hda5) default device : La partition par défaut qu’utilisera swsups2, mettez votre swap
Device Drivers —>
ATA/ATAPI/MFM/RLL support —> On compile en dur la gestion des disques, car on n’utilisera pas initramfs
<*> ATA/ATAPI/MFM/RLL support
<*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
<*> Include IDE/ATA-2 DISK support
<*> generic/default IDE chipset support
#=== Son chipset ide, chez moi:
<*> Intel PIIXn chipsets support #===votre chipset IDE (cela permet d’accélérer par 5-7 fois la mise en hibernation)
File systems —>
<*> Ext3 journalling file system support #==== en dur votre file system, moi c ext3
Cryptographic options —>
<*> LZF compression algorithm #==== On va utiliser la compression LZF, pour la mise en hibernation
#===Maintenant le type de processeur que vous utilisez.
Processor type and features —>
Processor family (Athlon/Duron/K7) #===your processor
File systems │
Miscellaneous filesystems
<*> Compressed ROM file system support (cramfs)
+ configurer les options propres à votre config (facultatif)
[/code]
sortir en sauvegardant
6 - compiler le kernel : dans /home/reputilisateur/Desktop/linux-2.6.18x/ lancer : #make-kpkg --append-to-version “votre_nom-de-noyau” --initrd kernel_image modules_image kernel_headers
7 - éditer un fichier /usr/share/initrd-tools/init en ajoutant ceci :
if [ -n "$resume$noresume" ]; then
do_swsusp
fi
echo > /proc/suspend2/do_resume
8 - installer le kernel : /home/reputilisateur/Desktop/dpkg -i linux-image-2.6.18xxx.deb
et faites de même avec les autres paquets .deb qu’il vous à créé.
9 - verifier dans grub ou lilo que vous aurez quelques secondes pour choisir votre kernel (la première ligne sera remplacée par le nouveau kernel, s’il ne marche pas vous serez embêté…)
10 - redemarrer pour tester le kernel -> ça marche ? super !
11 - tester hibernate : lancer #hibernate -> l’ordi doit s’éteindre, quand vous le relancez il doit redémarrer plus vite et afficher le bureau tel qu’il était avant la commande hibernate
12 - Configurer l’acpi sur portable : methode barbare : editez /etc/acpi/powerbtn.sh, sauvegardez le sous un autre nom et remplacer son contenu par sudo hibernate (il faut avoir configuré sudo), il suffit ensuite d’appuier sur le bouton power pour lancer hibernate (il doit exister des méthodes plus civilisées, mais celle-ci fonctionne).
J’espère n’avoir rien oublié, j’ai testé le tuto sur deux configs (un portable toshiba et un fixe), mais si quelque chose ne fonctionne pas voici les sources utilisées :
http://forum.debian-fr.org/viewtopic.php?t=4818
http://david.decotigny.free.fr/wiki/wakka.php?wiki=SwSusp2
http://doc.ubuntu-fr.org/doc/swsusp2
http://forum.debian-fr.org/viewtopic.php?t=1806