Archive

Archive for the ‘Gentoo’ Category

Gentoo sur Airis N1105C

August 7th, 2009

Ça fait quelques mois que j’ai installé gentoo sur mon airis N1105C. Ça m’a pris pas mal de temps, j’ai eu quelques petits soucis, qui m’ont demandés des recherches, j’ai pas mal bidouillé les option de compilation du noyau pour enlever des trucs inutiles (il doit en rester pas mal encore, je serai aux anges si quelqu’un me poste un .config encore plus simplifié en commentaire :) ). Bref, ça m’a pris quelques heures, pour installer le matériel, avoir les codecs nécessaires, configurer xorg, le clavier, le touchpad, le son…
Au fur et à mesure de l’installation, j’ai pris en vrac quelques notes dans un bête fichier texte, histoire de me rappeler de ce que j’avais fait. C’était assez succinct, donc j’espère que des erreurs ne vont pas s’introduire dans l’article.
Le but de cet article n’est pas de vous apprendre à installer gentoo, mais de vous fournir les astuces nécessaires pour faire fonctionner le portable airis N1105C sous gentoo. Il est donc à lire en complément du manuel d’installation de gentoo.

Tout d’abord, voici mon fichier /etc/make.conf (utilisé pour définir les préférences de compilations) :

# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /etc/make.conf.example for a more detailed example.
CFLAGS="-O2 -pipe -march=nocona -mmmx -msse -msse2 -msse3 "
CXXFLAGS="${CFLAGS}"

# 2 compilations en parallèles, on aurait pu mettre 3
MAKEOPTS="-j3"

GENTOO_MIRRORS="ftp://ftp.free.fr/mirrors/ftp.gentoo.org ftp://gentoo.imj.fr/pub/gentoo http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"

# Multimedia codecs
USE="dvd jpeg2k lame dvd dvdr mplayer wavpack quicktime real mpeg matroska a52 aac mp3 ogg vorbis theora xpm wmf win32codecs x264 flac divx encode ffmpeg gstreamer xvid gif jpeg"
# Others
USE="${USE} -arts ssl threads crypt ctype pcre X gtk hal dbus alsa apache2 bzip2 cairo css cups firefox ftp jabber javascript mime mysql ncurses opengl pdf php png sambda smp spell tiff unicode usb vim-syntax wifi xml xulrunner acpi apm lm_sensors svg postscript mad mp2"
#Environment and programs
USE="${USE} nautilus gnome -kde -qt3 -qt4 rhythmbox"
# Optimizations
USE="${USE} mmx sse sse2"

#synaptics for the touchpad
#keyboard mouse et synaptics ne doivent plus être nécessaires, mais comme je n'en suis pas sur, je les ai laissé
INPUT_DEVICES="evdev keyboard mouse synaptics"
#used by xorg for instance
VIDEO_CARDS="nvidia"

ALSA_CARDS="hda-intel"

LINGUAS="fr"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="x86_64-pc-linux-gnu"

Avec ce make.conf, normalement il n’y aura pas de problèmes de codecs (à part les mp4 que je n’ai toujours pas réussi à lire avec totem, mais qui fonctionnent avec mplayer).

Configuration du kernel et des périphériques
Les périphériques le l’airis N1105C sont directement reconnus dans le noyau, ce qui simplifie grandement les choses. Toutefois, avec la configuration par défaut, tout n’est pas activé. Dans cette section je vais poster les options à choisir en rapport avec le nom de la carte, pour que ça puisse être utile au plus grand nombre. Cependant, si vous ne souhaitez pas vous embêter à les cocher manuellement, je vous fournirait le .config correspondant à toutes les modifications (et quelques trucs inutiles pour ce portable d’enlevés).
Audio
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
Pour avoir le support de cette carte, il faut utiliser les options suivantes dans le noyau, section device drivers
Sound card support
Advanced Linux Sound Architecture
( just for midi support, can be disabled)
Sequencer support
OSS Mixer Api
OSS PCM (digital audio) API
[*] Support for old ALSA API
[*] PCI sound devices -->
Intel HDA

Là le son du speaker fonctionnera. Si vous désirez que le speaker se coupe lors de l’instertion de la prise jack des écouteurs, exécutez la commande :
# echo "options snd-hda-intel model=toshiba" >> /etc/modprobe.d/alsa
Pour que les niveaux sonores soient restaurés au redémarrage, il faut ajouter alsasound au démarrage :
rc-update add alsasound default
Et voilà pour le son :)

Wifi
02:00.0 Ethernet controller: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)
Configuration du kernel pour le wifi. Il faut utiliser :

[*] Wirless lan (IEEE 802.11)
Atheros 5xxx wireless cards support
[ ] Atheros 5xxx debugging
Atheros 802.11n wireless cards support

Pour la connection, j’ai choisis d’utiliser wicd, qui a l’avantage d’être facile à paramétrer grâce à son interface graphique wicd-client, et qui permet d’être lancé comme deamon au démarrage.
emerge -av wicd
/etc/init.d/wicd start
rc-update add wicd boot
rc-update del net.eth0

Vérifez que vous avez, quelque part dans le fichier /etc/init.d/wicd:
depend() {
need dbus
need hald
}

Le réseau pourra être configuré à partir de votre environnement graphique plus tard en lançant la commande wicd-client

Lecteur de cartes SD

0b:09.2 Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
Voire sur le wiki gentoo (en)

Un .config complet (configuration du kernel)
Voilà, comme promis je vous fournis mon .config qui vous permettra de configurer le kernel.
Télécharger le .config
Placez le ensuite dans le répertoire /usr/src/linux, et exécutez
make && make modules_install
Récupérez ensuite le noyau dans arch/architecture/bzImage pour le mettre dans /boot, et ajoutez l’entrée grub.

Xorg
Tout d’abord, il vous faut compiler X :
emerge xorg-server xorg-x11(pour que ça fonctionne correctement, il vous faudra utiliser mon make.conf).
Mon fichier /etc/X11/xorg.conf

Section "Module"
    Load "glx" #enable 3D acceleration for nvidia
EndSection
Section "Monitor"
        Identifier      "Configured Monitor"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        DefaultDepth 24
        Monitor         "Configured Monitor"
        Device          "Configured Video Device"
EndSection

Section "Device"
	Identifier      "Configured Video Device"
    Driver  "nvidia"
    Option  "NoLogo"        "True"
    #Option "PixmapCacheSize" "1000000"
# # Pour le scrolling firefox
    #Option "GlyphCache" "1"
    #Option "InitialPixmapPlacement" "2"
EndSection

Section "InputDevice"
   Driver         "synaptics"
   Identifier "TouchPad"
   Option         "SendCoreEvents"
   Option         "Protocol" "auto-dev"
   #Option         "SHMConfig" "on"
EndSection

Section "ServerFlags"
        Option  "DontZap"       "False"
	Option  "blank time"  "5"  # L'�cran devient noir apres 5 minutes. (Mais il n'est pas vraiment arrete.)
	#Option  "standby time"  "10"  # Met l'ecran en pause apres 10 minutes (utilise DPMS).
	#Option  "suspend time"  "20"  # Suspend l'ecran apres 20 minutes.
	#Option  "off time"  "30"  # Extinction complete apres 30 minutes.
EndSection

Installation de gnome (minimal)
emerge gnome-light dbus hald gamin
Créez ensuite un fichier ~/xinitrc contenant
#!/bin/sh
exec dbus-launch --exit-with-session /usr/bin/gnome-session

Désormais, en tapant startx, c’est gnome qui démarrera.

Configuration du touchpad
Éditez le fichier /etc/hal/fdi/policy/11-x11-synaptics.fdi, et mettez-y ceci

Cet article a toujours besoin d’un peu d’améliorations, tout n’y est pas expliqué. Enfin ça m’a quand même permis de mettre mes notes au clair, publiques, et de fournir mon .config du kernel.
Si vous avez le même ordinateur, et que vous avez réduit plus le kernel, ça m’intéresse. Vous pouvez également me demander des précisions en commentaire.

Gentoo