Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| materiel:batterie_acpi [Le 30/12/2006, 07:20] – 80.8.155.145 | materiel:batterie_acpi [Le 15/03/2008, 01:57] (Version actuelle) – effacée Ner0lph | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | DokuWiki | ||
| - | < | ||
| - | Version Edgy, Dapper, Breezy et Hoary | ||
| - | </ | ||
| - | |||
| - | [[https:// | ||
| - | |||
| - | ====== Batteries ACPI ====== | ||
| - | Certains ordinateurs portables n' | ||
| - | |||
| - | Note: Le noyau d' | ||
| - | |||
| - | ===== Prérequis ===== | ||
| - | Nous allons avoir besoin de compiler certaines choses, il nous faut pour cela le paquet build-essential. Nous avons aussi besoin des paquets flex-old (qui remplacera flex) et bison. | ||
| - | |||
| - | sudo apt-get install build-essential bison flex-old | ||
| - | |||
| - | ===== Le DSDT pour votre portable ===== | ||
| - | Le DSDT (Differentiated System Description Table) se situe dans votre BIOS. Il sert à informer Linux de tous les composants de votre ordinateur. Le vôtre est manifestement désordonné, | ||
| - | |||
| - | Rendez vous à la [[http:// | ||
| - | |||
| - | Copiez l' | ||
| - | |||
| - | mkdir acpi | ||
| - | cd acpi | ||
| - | wget http:// | ||
| - | gzip -d DSDT.asl.gz | ||
| - | |||
| - | (le lien après wget doit être remplacé par celui de votre DSDT) | ||
| - | |||
| - | |||
| - | ===== Téléchargement du compilateur iasl d' | ||
| - | Le DSDT doit être compilé. Pour cela nous avons besoin d'un compilateur spécial d' | ||
| - | |||
| - | vous avez deux solutions pour installer iasl: | ||
| - | |||
| - | sur Ubuntu 6.10 vous pouvez l' installer avec apt-get (depots multiverse et universe activés), la version installée est plus fiable qu' avec l' installation par les sources dicté ci dessous. En console : | ||
| - | |||
| - | sudo apt-get install iasl | ||
| - | |||
| - | ou à partir des sources | ||
| - | |||
| - | wget http:// | ||
| - | tar zxf acpica-unix-20050624.tar.gz | ||
| - | cd acpica-unix-20050624/ | ||
| - | make | ||
| - | cp iasl ../.. | ||
| - | cd ../.. | ||
| - | |||
| - | Si le '' | ||
| - | |||
| - | ===== Compilation de votre DSDT ===== | ||
| - | Puisque les versions 2005 d'iasl sont plus restrictives que les anciennes versions, il est possible que votre DSDT ne se compile pas. Vous pouvez toujours essayer de trouver une ancienne version d'iasl (je n'ai pas réussi) ou corriger votre DSDT vous-même (ce que je vais expliquer maintenant). | ||
| - | |||
| - | cp dsdt.asl yourdsdtfile.asl # sauvegarde | ||
| - | ./iasl -tc dsdt.asl | ||
| - | |||
| - | Si tout fonctionne correctement, | ||
| - | |||
| - | Voici à quoi ressemblent les erreurs: | ||
| - | |||
| - | dsdt.asl | ||
| - | Error 1094 - ^ Missing ResourceSource string (required) | ||
| - | |||
| - | dsdt.asl | ||
| - | Error 1094 - ^ Missing ResourceSource string (required) | ||
| - | |||
| - | dsdt.asl | ||
| - | Error 1094 - ^ Missing ResourceSource string (required) | ||
| - | |||
| - | Ouvrons le fichier '' | ||
| - | |||
| - | gedit dsdt.asl& | ||
| - | |||
| - | Il doit ressembler à: | ||
| - | |||
| - | 1023 WordBusNumber (ResourceProducer, | ||
| - | 1024 0x0000, /* Address Space Granularity */ | ||
| - | 1025 0x0000, /* Address Range Minimum */ | ||
| - | 1026 0x00FF, /* Address Range Maximum */ | ||
| - | 1027 0x0000, /* Address Translation Offset */ | ||
| - | 1028 0x0100, 0x00) | ||
| - | |||
| - | Nous devons simplement enlever le '' | ||
| - | |||
| - | 1028 0x0100) | ||
| - | |||
| - | Répétez cette opération pour toutes les erreurs '' | ||
| - | D' | ||
| - | Par exemple, pour un Acer TM4000, des fichiers du patch http:// | ||
| - | Maintenant compilez de nouveau avec la commande '' | ||
| - | |||
| - | |||
| - | Il se peut également que les fins de lignes posent problème si le fichier est au format DOS (< | ||
| - | Si tel est le cas vous obtiendrez un très grand nombre d' | ||
| - | DSDT.asl | ||
| - | Error 1094 - ^ Invalid character (0x0D), expecting ASL keyword or name | ||
| - | | ||
| - | DSDT.asl | ||
| - | Error 1094 - ^ Invalid character (0x0D), expecting ASL keyword or name | ||
| - | Le remède est le suivant: | ||
| - | sudo apt-get install sysutils | ||
| - | dos2unix dsdt.asl | ||
| - | Maintenant compilez de nouveau avec la commande '' | ||
| - | |||
| - | ===== Quelques sauvegardes ===== | ||
| - | Comme nous ne voulons pas endommager votre système fonctionnel, | ||
| - | |||
| - | sudo -s -H # suivi du mot de passe de l' | ||
| - | cp / | ||
| - | cp / | ||
| - | exit | ||
| - | |||
| - | Pour pouvoir démarrer à partir cette copie, nous devons ajouter une section correspondante dans le chargeur de boot Grub. | ||
| - | |||
| - | gedit / | ||
| - | |||
| - | Ajoutez une section qui ressemble à ceci (regardez les autres sections dans votre '' | ||
| - | |||
| - | title | ||
| - | root (hd0,3) | ||
| - | kernel | ||
| - | initrd | ||
| - | savedefault | ||
| - | boot | ||
| - | |||
| - | ...et placez-la où vous voulez qu' | ||
| - | |||
| - | |||
| - | ===== Ajout de votre DSDT dans initrd ===== | ||
| - | Il ne nous reste plus qu'à ajouter le DSDT dans votre initrd. | ||
| - | |||
| - | echo -n " | ||
| - | cat DSDT.aml >> / | ||
| - | |||
| - | Ca y est! Redémarrez votre ordinateur et choisissez l' | ||
| - | |||
| - | |||
| - | ====Autre possibilité==== | ||
| - | (chez moi la première n'a pas marché :( ) | ||
| - | |||
| - | ===Edgy=== | ||
| - | Copier le fichier dsdt au bon endroit : | ||
| - | sudo cp dsdt.aml / | ||
| - | |||
| - | Puis reconfigurer le noyau Linux : | ||
| - | sudo dpkg-reconfigure linux-image-$(uname -r) | ||
| - | |||
| - | ===Breezy ou Dapper=== | ||
| - | Copier le fichier dsdt au bon endroit : | ||
| - | sudo cp dsdt.aml / | ||
| - | |||
| - | Puis reconfigurer le noyau Linux : | ||
| - | sudo dpkg-reconfigure linux-image-$(uname -r) | ||
| - | |||
| - | ===Hoary=== | ||
| - | Copier le fichier dsdt au bon endroit : | ||
| - | sudo cp dsdt.aml / | ||
| - | |||
| - | Puis reconfigurer le noyau Linux : | ||
| - | sudo dpkg-reconfigure linux-image-$(uname -r) | ||
| - | |||
| - | ===== Liens ===== | ||
| - | [[http:// | ||
| - | [[http:// | ||
| - | [[http:// | ||
| - | [[http:// | ||
| - | |||
| - | |||
| - | |||
| - | ===== Note(s) ===== | ||
| - | Il y a une manière plus simple d' | ||
| - | |||
| - | Dès que vous avez compilé le DSDT, copiez le fichier DSDT.aml dans / | ||
| - | |||
| - | sudo cp DSDT.aml / | ||
| - | |||
| - | Puis reconfigurez le paquet noyau que vous utilisez : | ||
| - | |||
| - | sudo dpkg-reconfigure linux-image-$(uname -r) | ||
| - | |||
| - | Redémarrez et c'est terminé. | ||
| - | |||
| - | Il est aussi possible de trouver des fichiers DSDT au format asl ici : http:// | ||
| - | |||
| - | Vous êtes bien évidement invité à contribuer votre DSDT si vous possedez une image dsdt fonctionnelle. | ||
| - | |||
| - | ===== Sur Breezy ===== | ||
| - | Après recompilation de la DSDT j' | ||
| - | < | ||
| - | kernel panic - not syncing: VFS: Unable to mount root fs on unknown block (0,0) | ||
| - | </ | ||
| - | Voici la manipulation à faire pour corriger ce problème : | ||
| - | - copier la DSDT fraîchement compilée dans / | ||
| - | < | ||
| - | - faire un mkinitramfs -o < | ||
| - | < | ||
| - | - copier ce nouveau fichier dans /boot | ||
| - | < | ||
| - | - configurer le menu.lst de grub correctement. C' | ||
| - | < | ||
| - | title | ||
| - | root (hd0,3) | ||
| - | kernel | ||
| - | initrd | ||
| - | savedefault | ||
| - | boot</ | ||
| - | \\ | ||
| - | Et voilà, c'est fini ! \\ | ||
| - | A noter que les fichier .acpi créés plus haut ne sont plus d' | ||
