# [HOW-TO] Installation de Gentoo Linux sur un Thinkpad T61P

## GaMeS

Tutorial d'installation de Gentoo Linux sur un Thinkpad T61P

(MAJ le 21 septembre 2007)

Ce HOW-TO est surement loin d'être complet, mais il peut être soumis à toutes critiques, suggestions.

 1. Introduction

 2. Make.conf

 3. Compilation Noyau

 4. Configuration

 4.1 Grub

 4.2 Xorg

 4.3 Connection Wi-Fi 

 4.4 L'audio avec alsa-driver

 4.5 Identification fingerprint sous GDM

 5. Remerciements

 6. Changelog

 1. Introduction

Après avoir déboursé toute vos économies, voici ce que vous pourrez prétendre avoir.

Core 2 Duo T7700(2.4GHz), 

2GB RAM

100GB 7200rpm HD, 

15.4" 1920x1200 LCD, 

256MB nVIDIA Quadro FX 570M, 

CDRW/DVDRW, 

Intel 802.11agn, Bluetooth, Modem, 1Gb Ethernet, 

UltraNav, Secure chip, Lecteur d'emprunte digitale, Intel Turbo Memory, 9c Li-Ion, Windows Vista Ultimate(TM)

Ce pc portable utilise AHCI (Advanced Host Controller Interface), si vous avez des problèmes de détection du disque dur avec votre livecd, n'hesitez pas à activer le mode Compatibility dans le BIOS

J'ai testé avec le livecd 2007.0, et cela fonctionne.

Je ne traiterais dans ce tutorial que des parties make.conf et de la compilation du noyau, toute la partie relative au partitionnement ainsi qu'a l'installation du système de base se trouve dans le handbook.

 2. Make.conf

J'utilise un make.conf dit "non agressif" libre à vous de faire fonctionner vos méninges si jamais vous en voulez toujours plus.

CFLAGS="-march=nocona -O2 -pipe"

CHOST="x86_64-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

Dans le cas ou vous utiliseriez une version supérieur ou égale à GCC 4.3(en développement), il vous sera possible d'utiliser -march=core2.

Pour mon CHOST, j'utilise une version 64 Bits (ça serais bête de pas profiter pleinement du processeur quand même)

Le nombre de thread pour le calcul est de 2 processeurs + 1 donc 3.

MAKEOPTS="-j3"

Pour l'instant, il subsiste un bogue dans les dernières version d'ALSA donc je suis obligé d'utiliser ALSA via portage.

J'y reviendrais plus en détail dans la partie 4.2

ALSA_CARDS="hda-intel"

Les traditionnels INPUT_DEVICES et VIDEO_CARDS pour Xorg

INPUT_DEVICES="mouse keyboard"

VIDEO_CARDS="nvidia"

Bon, j'ai un peu "honte" de mon make.conf car mes USEFLAGS sont pas vraiment en ordre mais pour le principe le voici.(J'utilise Gnome)

 *Quote:*   

> 
> 
> # 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
> ...

 

Trève de plaisanterie, le noyau maintenant !

 3. Compilation Noyau

Je ne traiterais que le noyau gentoo-sources, et je vous recommande d'utiliser le dernier en date pour profiter des dernières mise à jour au niveau du matériel très récent du Thinkpad.(Dans mon cas c'est le noyau 2.6.22-gentoo-r6)

Une fois le noyau installé via la commande emerge -va gentoo-sources, il est configuré par defaut, je vais citer ci-dessous les paramètres dit "important" de sa configuration. Il va de mise qu'il ne faut pas désactiver le reste  :Smile:  .

Résultat de la commande lspci

 *Quote:*   

> 
> 
> 00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 0c)
> 
> 00:01.0 PCI bridge: Intel Corporation Mobile PM965/GM965/GL960 PCI Express Root Port (rev 0c)
> ...

 

Processeur Core 2 Duo T7700

Processor type and features

[*] MTRR (Memory type Range Register) Support

[*] Symmetric multi-processing support

[ ] SMT (Hyperthreading) scheduler support

[*] Multi-core scheduler support

[*] Intel MCE features

Timer frequency (1000 HZ)

Power management options

[*] Power Management support

Bus PCMCIA

Bus options (PCI etc.)

	PCCCARD (PCMCIA/CardBus) Support

		<*> CardBus yenta-compatible bridege support

Réseau Wi-Fi

Networking

	Wireless

	<M> Improved wireless configuration API

	<M> Generic IEEE 802.11 Networking Stack (mac80211)

Cryptographic options

	<M> Cryptographic algorithm manager

	<M> ECB support

	<M> CBC support

	<M> PCBC support

	<M> AES cipher algorithms

	<M> ARC4 cipher algorithm

Bluetooth

Networking

	<*>Bluetooth subsystem support

HotKey, Leds du Thinkpad

Device Drivers

	Misc devices

		<M> Thinkpad ACPI LAptop Extras

Support du nouveau système de gestion du S-ATA (AHCI)

Device Drivers

	<*>Serial ATA (prod) and Parallel ATA (experimental) drivers

		<*>AHCI SATA Support

Le FireWire

Device Drivers

	IEEE 1394 (FireWire) support

		<*> IEEE 1394 (FireWire) support

		<*> OHCI-1394 support

		<*> Raw IEEE1394 I/O support

Carte réseau Intel Gigabit LAN

Device Drivers

	Network device support

	[*] Network device support

	[*] Ethernet (1000 Mbit)

		<*> Intel(R) PRO/1000 Gigabit Ethernet support

Les capteurs de températures

Device Drivers

	<*> Hardware Monitoring support

	<*> Intel Core (2) Duo/Solo temperature sensor

Gestion de protection du disque dur

Device Drivers

	<*> Hardware Monitoring support

	<*> IBM Hard Drive Active Protection System (hdaps)

Activation du Framebuffer

 Ne pas activer le nvidia Framebuffer Support, problème ensuite avec les drivers propriétaire pour l'utilisation de Xorg 

Device Drivers

	Graphics support

	<*> VESA VGA graphics support

	VESA driver type (vesafb)

	(C'est tellement sympa de voir des pinguins au démarrage de son pc)	

	[*]Bootup logo

Carte Son

 Il y a un bogue dans les drivers ALSA, il faut utiliser les alsa-drivers présent dans portage et ensuite patché avec mercurial, j'y reviendrais dans la partie configuration

Device Drivers

	Sound

	<*>Sound card support

Activation des bus USB

Device Drivers

	USB support

	<*> Support for Host-side USB

	[*] USB device filesystem

	<*> EHCI HCD (USB 2.0) support

	<*> UHCI HCD (most Intel and VIA) support

	<*> USB Mass Storage Support

Lecteur de carte SD, Flash...

Device Drivers

	Device Drivers

	<*>MMC/SD card support

		<*>MMC block device driver

		<*> Secure Digital Host Controller Interface support

Allez, vous y êtes presque ! make && make modules_install

La copie du bzImage dans votre /boot et enfin passons au chapitre de la configuration.

 4. Configuration

 4.1 Grub

Votre noyau étant copié dans /boot, éditons le /boot/grub/grub.conf de la manière suivante.

 Il faudra bien entendu modifier les valeurs du splashimage, root 

 *Quote:*   

> 
> 
> default 0
> 
> timeout 30
> ...

 

 4.2 Xorg

 Il vous faudra obligatoirement démasquer les drivers nvidia, seules les versions supérieures ou égales à la version 100.14.11 incluent notre carte graphique Quadro 

```

echo "x11-drivers/nvidia-drivers ~amd64">>/etc/portage/package.keywords

emerge -va nvidia-drivers

modprobe nvidia

```

Mon fichier /etc/X11/xorg.conf

 *Quote:*   

> 
> 
> # /etc/X11/xorg.conf (xorg X Window System server configuration file)
> 
> Section "Files"
> ...

 

 4.3 Connection Wi-Fi

Dans portage, il va nous falloir net-wireless/iwl4965-ucode et net-wireless/iwlwifi. Ils sont actuellement hardmask, on les démasque et on ajoute ipw4965 dans le useflags de iwlwifi.

```

echo "net-wireless/iwl4965-ucode">>/etc/portage/package.unmask

echo "net-wireless/iwlwifi">>/etc/portage/package.unmask

echo "net-wireless/iwl4965-ucode ~amd64">>/etc/portage/package.keywords

echo "net-wireless/iwlwifi ~amd64">>/etc/portage/package.keywords

emerge -va iwlwifi

```

Pour que la carte Wi-Fi fonctionne, il faut tout d'abord loadé les modules de cryptage dans un certain sens, et la carte Wi-Fi a une facheuse envie de se loadé en premier et provoque un segfault.(Voir sujet suivant)

On va blacklist le module grâce au fichier /etc/modprobe.d/blacklist

```

echo "blacklist iwl4965">>/etc/modprobe.d/blacklist

```

Puis, on ajoute nos modules dans le fichier /etc/modules.autoload.d/kernel-2.6 de la manière suivante

 *Quote:*   

> 
> 
> # Carte WiFi
> 
> blkcipher
> ...

 

Dans le dmesg

 *Quote:*   

> 
> 
> iwl4965: Intel(R) Wireless WiFi Link 4965AGN driver for Linux, 1.0.0-1d
> 
> iwl4965: Copyright(c) 2003-2007 Intel Corporation
> ...

 

Maintenant, on devrais obtenir ceci.

 *Quote:*   

> 
> 
> wlan0     IEEE 802.11g  ESSID:""  
> 
>           Mode:Managed  Frequency:2.412 GHz  Access Point: Not-Associated   
> ...

 

 4.4 L'audio avec alsa-driver

La liste des librairies et logiciel à avoir.

 *Quote:*   

> 
> 
> media-libs/alsa-lib-1.0.15_rc2
> 
> media-sound/alsa-headers-1.0.14
> ...

 

Tout d'abord, nous démasquons alsa-driver pour obtenir une version supérieure à 1.0.15 ainsi que alsa-lib

```

echo "media-sound/alsa-driver ~amd64">>/etc/portage/package.keywords

echo "media-libs/alsa-lib ~amd64">>/etc/portage/package.keywords

emerge -va alsa-lib alsa-driver

```

On modifie/crée le fichier /etc/modprobe.d/alsa-base et y on ajoute la ligne suivante

 *Quote:*   

> 
> 
> options snd-hda-intel index=0 model=lenovo
> 
> 

 

Maintenant, via alsamixer ou tout autre controleur de volume on démute PCM etc...

 4.5 Identification fingerprint sous GDM

Notre lecteur d'empreintes digital est un 0483:2016 SGS Thomson Microelectronics Fingerprint Reader.

Dans un premier temps il faut démasqué et installer les logiciels ci-dessou.

 *Quote:*   

> 
> 
> sys-auth/bioapi
> 
> sys-auth/pam_bioapi
> ...

 

Pour se faire on unmask et on utilise le bon keywords  :Smile: 

```

echo "sys-auth/bioapi ~amd64">>/etc/portage/package.keywords

echo "sys-auth/pam_bioapi ">>/etc/portage/package.unmask

echo "sys-auth/pam_bioapi ~*">>/etc/portage/package.keywords

echo "sys-auth/thinkfinger ~amd64">>/etc/portage/package.keywords

echo "sys-auth/tfm-fingerprint ~*">>/etc/portage/package.unmask

echo "sys-auth/tfm-fingerprint ~amd64">>/etc/portage/package.keywords

```

Si l'installation échoue, installer en ordre bioapi et retenté l'installation des autres paquets.

Pour voir si tout fonctionne, on utilise tf-tool, on va créer tout d'abord un fichier référence qui permettera de vérifier l'empreinte obtenue.

Il faut au préalable que l'utilisateur concernée par l'identification soit dans le groupe USB et BIOAPI.

On enregistre notre empreinte comme suis.

```

tf-tool --add-user NomUtilisateur

```

Et ça nous donne.

 *Quote:*   

> 
> 
> ThinkFinger 0.3 (http://thinkfinger.sourceforge.net/)
> 
> Copyright (C) 2006, 2007 Timo Hoenig <thoenig@suse.de>
> ...

 

Maintenant que notre empreinte est détectée, on configure pam.d pour qu'il nous identifie soit par empreinte digitale ou mot de passe.

Pour se faire, on édite le fichier /etc/pam.d/system-auth qui se présente comme ci-dessou (Les modifications apportées sont en gras)

 *Quote:*   

> 
> 
> #%PAM-1.0
> 
> auth       required     pam_env.so
> ...

 

 5. Remerciements

Les différentes sources, sans qui ce tutorial n'aurait pas été ce qu'il est (nooon ne dite pas qu'il est nul !)

http://www.klabs.be/~fpiat/linux/debian/Etch_on_Thinkpad_T61.html

http://gentoo-wiki.com/Safe_Cflags#Intel_Core_2_Duo.2FQuad_.2F_Xeon_51xx.2F53xx

http://gentoo-wiki.com/HARDWARE_Intel_Core2_Duo

http://gentoo-wiki.com/HARDWARE_UPEK_TouchChip_TFM/ESS_Fingerprint_BSP

 6. Changelog

21-09-07 Ajout de la rubrique : Identification fingerprint sous GDM

20-09-07 Le Core 2 Duo n'a pas besoin d'avoir le support SMT (HyperThreading) dans le noyau.

Ajout de la section audio avec alsa-driver

05-09-07 Création du document.

----------

## d2_racing

C'est vraiment un très bon howto:)

----------

## blaznyoght

Si quelqu'un a une astuce pour que le lecteur d'empreinte digitale fonctionne aussi avec kdm ça m'intéresse...

----------

## d2_racing

J'ai déjà vu un howto à propos de ça pour un T60P et c'était assez hot à faire fonctionner merci.

----------

