Inspiron 8200

Cette page est consacrée à la configuration d’un système Linux (Gentoo) sur un portable DELL Inspiron 8200.

Noyau

Deux points essentiels concernant le noyau Linux 2.6 :

  1. modification de la table ACPI
  2. prise en charge du Suspend2 (mise en veille avancée)

Correctif ACPI

Certains bogues semblent exister au niveau de l’ACPI sur l’Inspiron, notament pour la mise en veille. Il est possible de spécifier au noyau Linux une nouvelle
table de prise en charge de l’ACPI (je ne connais pas le terme exact). Pour cela, il faut préciser le fichier DSDT à charger au démarrage :

Power management options (ACPI, APM)
  ACPI (Advanced Configuration and Power Interface) Support --->
  [*]   Include Custom DSDT
  (dsdt_table.h) Custom DSDT Table file to include

Le fichier est disponible ici. Copier le avant de compiler votre noyau.

cp dsdt_table.h /usr/src/linux/include/acpi/dsdt_table.h

Suspend2

La mise en veille avancée n’est pas encore intégrée au noyau Linux (actuellement, v.2.6.15). Mais les patchs existent.

à consulter : Suspend 2 for Linux

Patchez le noyau, puis dans la configuration :

[*] Suspend2 --->
  ---   Image Storage (you need at least one writer)
  [*]     File Writer
  [*]     Swap Writer
  ---   General Options
  ()     Default resume device name
  [*]     Allow Keep Image Mode

Notez que Default resume device name est optionnel.

Divers

Le reste de la configuration est à votre charge, mais pensez à :

CONFIG_MPENTIUM4=y

CONFIG_PREEMPT=y
CONFIG_PREEMPT_BKL=y

CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_VIDEO=m
CONFIG_ACPI_FAN=m
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=m

CONFIG_APM=y
CONFIG_APM_DO_ENABLE=y
CONFIG_APM_CPU_IDLE=y
CONFIG_APM_DISPLAY_BLANK=y

CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=m
CONFIG_CPU_FREQ_STAT=m
CONFIG_CPU_FREQ_STAT_DETAILS=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=m
CONFIG_CPU_FREQ_GOV_ONDEMAND=m
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m

CONFIG_X86_SPEEDSTEP_ICH=m
CONFIG_X86_SPEEDSTEP_SMI=m
CONFIG_X86_P4_CLOCKMOD=m
CONFIG_X86_ACPI_CPUFREQ_PROC_INTF=y
CONFIG_X86_SPEEDSTEP_LIB=m
CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y

CONFIG_YENTA=m
CONFIG_PCMCIA_PROBE=y

CONFIG_FB=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_VESA=y
CONFIG_FB_VESA_TNG=y
CONFIG_FB_VESA_DEFAULT_MODE=”1024×768@60″
CONFIG_FB_VIRTUAL=y
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y

Configuration

Suspend2

Pour manipuler la mise en veille, il faut quelques scripts :

* sys-power/hibernate-script
    Latest version available: 1.12
    Latest version installed: 1.12
    Size of downloaded files: 63 kB
    Homepage: http://www.suspend2.net
    Description: Hibernate script supporting multiple suspend methods
    License: GPL-2

éditons le fichier /etc/hibernate/hibernate.conf pour y retrouver (au moins) :

UseSuspend2 yes
Reboot no
EnableEscape yes
DefaultConsoleLevel 1
Compressor lzf
Encryptor none
SuspendDevice swap:/dev/hda7
PowerdownMethod 5
Distribution gentoo
UnmountFSTypes smbfs nfs
UnmountGraceTime 1
UnloadBlacklistedModules yes
LoadModules auto

Notez les deux dernières lignes : il est possible que certains pilotes empêchent la mise en veille.

  1. nvidia   semble être instable, mais je l’ai retiré du fichier blacklisted-modules sans avoir de soucis
  2. prism54   provoque un crash (?) lors de la mise en veille, sauf si le périphérique n’est plus connecté (carte WIFI en PCMCIA)

Pour résoudre certains conflits avec les cartes PCMCIA (cas du module prism54), ajoutez la ligne :

### pcmcia
EjectCards yes

Boot

Ensuite, il est nécessaire de passer des paramètres au noyau lors du démarrage (ici, un exemple avec grub) :

title Gentoo Linux, kernel 2.6.15 (suspend)
  root   (hd0,0)
  kernel /vmlinuz-2.6.15 root=/dev/hda5 resume2=swap:/dev/hda7

Il est possible de spécifier le paramètre noresume2 si vous souhaitez désactiver la reprise.

sudo

Pour faciliter l’accès à la commande hibernate, vous pouvez utiliser sudo et ajouter cette ligne au fichier /etc/sudoers :

tom       portable=(ALL)   NOPASSWD: /usr/sbin/hibernate

Tout est (normalement) bien configuré, donc vous pouvez voir la magie s’opérer en saisissant la commande :

sudo hibernate

Processeur

Comment économiser de l’énergie et modifier à la volée la fréquence du processeur ? C’est (assez) simple.

Modules du noyau

Il nous faut quelques modules du noyau (si ceci ne sont pas en dur) :

p4-clockmod

et

cpufreq_ondemand
cpufreq_powersave
cpufreq_stats
cpufreq_userspace

Outils

Pour manipuler tout