====== Forcer l'ACPI ====== ===== Symptômes ===== À l'arrêt, la machine ne s'éteint pas automatiquement mais attend que l'utilisateur appuie manuellement sur l'interrupteur. ===== Condition ===== Une carte mère datant de l'année 2000 ou un peu avant. ===== Ce qui se passe ===== Le nouveau noyau (~ version 2.6.12) désactive l' ACPI pour les cartes mères fabriquées avant l'année 2000 ; Oui : un problème Y2K tardif ;-) L'ACPI peut cependant être réactivé à l'aide d'une option d'amorce qui doit être passée au noyau. Le noyau doit être spécifiquement requis de le faire. La raison : certaines cartes mères anciennes ont une implémentation aléatoire et non-fonctionnelle de l'ACPI. Cependant, la plupart des cartes conçues juste avant 2000 (et donc la plupart des cartes PIII que j'ai rencontrées) fonctionne correctement avec l'ACPI activé. ===== Analyse ===== La commande ''dmesg'' devrait produire une complainte au sujet de la carte mère étant trop ancienne. L'exécution de la commande: $ dmesg | grep 2000 devrait produire quelque message à ce sujet. ===== Solution ===== Passer l'option d'amorce '''acpi=force''' à votre noyau lors du démarrage.
(Ce n'est pas garanti à 100%, mais je l'ai utilisé de très très nombreuses fois.) ===== Lilo ===== Lancez un terminal (si ce n'est pas déjà fait avec la commande ''dmesg'' ci-dessus.) et ouvrez le fichier '/etc/lilo.conf' afin de le modifier. $ su Password: # mousepad /etc/lilo.conf ===== Première méthode ===== Si vous n'avez qu'un seul noyau dans votre '/etc/lilo.conf' ou si vous voulez passer cette option d'amorce à tous vos noyaux, alors trouvez la ligne commençant par 'append =' située au début du fichier. Comme dans l'extrait suivant. # Start LILO global section append="resume2=swap:/dev/hda1 splash=silent " boot = /dev/hda bitmap=/boot/splash.bmp Maintenant ajoutez l'option d'amorce '''acpi=force''' à la fin de cette ligne. (Et n'oubliez surtout pas l'espace avant les guillemets de la fin.) La ligne 'append =' de votre '/etc/lilo.conf' peut être différente de cet exemple particulier. N'y modifiez rien d'autre, excepté l'ajout de '''acpi=force''', à moins que vous sachiez exactement ce que vous faites. # Start LILO global section append="resume2=swap:/dev/hda1 splash=silent acpi=force " boot = /dev/hda bitmap=/boot/splash.bmp ===== Seconde méthode ===== Si vous avez plus d'un noyau listé dans votre '/etc/lilo.conf', mais que vous ne voulez utiliser l'option d'amorce '''acpi=force''' qu'avec l'un d'entre eux, alors trouvez la section concernant l'image du fichier pour ce noyau spécifique. Comme dans l'extrait suivant. # Linux bootable partition config begins image = /boot/vmlinuz root = /dev/hda2 label = Zenwalk initrd = /boot/initrd.splash read-only # Linux bootable partition config ends Ajoutez un ligne 'addappend =' comme dans l'exemple suivant. # Linux bootable partition config begins image = /boot/vmlinuz root = /dev/hda2 label = Zenwalk initrd = /boot/initrd.splash addappend = "acpi=force" read-only # Linux bootable partition config ends Lorsque le noyau est lancé, le(s) paramètre(s) de la ligne 'addappend =' sont concaténés aux paramètres du noyau de la ligne 'append =' de la ''section globale''. C'est pourquoi la ligne 'append =' doit comporter cet espace supplémentaire à la fin. ===== Sauvegarder la nouvelle configuration ===== Une fois la modification de votre '/etc/lilo.conf' effectuée selon l' '''une''' des deux méthodes ci-dessus, vous devez informer Lilo des changements survenus. Exécutez la commande suivante en tant que root. # lilo -v === Note: === Comme vous l'avez sans doute déduit à partir des exemples ci-dessus :\\ Lilo ne fait aucune différence entre ''append="resume....'' et ''append = "resume....''.\\ À l'intérieur les guillemets cependant, les espaces vides sont importants, donc ''acpi = force'' n'est '''PAS''' valide. ===== Grub ===== Modifiez le fichier /boot/grub/menu.lst title Zenwalk root (hd0,8) kernel /boot/vmlinuz root=/dev/hda9 acpi=force Les lignes peuvent être un peu différentes. L'important c'est d'ajouter "acpi=force" à la ligne commençant par "kernel" dans votre entrée Zenwalk. ===== Vérification finale ===== Avant de redémarrer votre système, la commande : $ dmesg | grep 2000 devrait maintenant vous informer que l'ACPI est activé de force. Ceci réactive l'arrêt automatique sur la plupart des 'anciennes' machines.