Description matérielle
Introduction
Voici une documentation sur l’installation de Linux sur un portable Sony Vaio et plus précisément sur le modèle Sony VPCF11M1E.
Matériel
Processeur | Intel Core i5-520M – 2.4 GHz |
RAM | 4 Go DDR2 |
Carte mémoire | Ricoh Co Ltd Device e822 |
CD / DVD / Blu-ray | Optiarc BD ROM BC-5500S4, 1.Va, max UDMA/100, ATAPI AN |
Disque dur | ATA-8: Hitachi HTS545050B9SA00, PB4OC64G, max UDMA/133 |
Contrôleur Sata | Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller |
Carte graphique | nVidia GeForce GT 330M – 1024 Mo |
Carte son | Intel Corporation 5 Series/3400 Series Chipset High Definition Audio nVidia Corporation High Definition Audio Controller |
Carte réseau | Marvell Technology Group Ltd. 88E8057 PCI-E Gigabit Ethernet Controller |
Carte Wi-Fi | Intel Corporation Centrino Advanced-N 6200 |
PCMCIA | Intel Corporation Core Processor PCI Express x16 Root Port |
Autres | Webcam, Bluetooth, Modem, FireWire, Touchpad… |
Configuration PCI
Ci-dessous la sortie de la commande lspci :
[root@Dahlia /root]$ lspci 00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 02) 00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 02) 00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05) 00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 05) 00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 05) 00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 05) 00:1c.2 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 3 (rev 05) 00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 05) 00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a5) 00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 05) 00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller (rev 05) 00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 05) 00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 05) 01:00.0 VGA compatible controller: nVidia Corporation GT216 [GeForce GT 330M] (rev a2) 01:00.1 Audio device: nVidia Corporation High Definition Audio Controller (rev a1) 02:00.0 Network controller: Intel Corporation Centrino Advanced-N 6200 (rev 35) 03:00.0 SD Host controller: Ricoh Co Ltd Device e822 03:00.1 System peripheral: Ricoh Co Ltd Device e230 03:00.3 FireWire (IEEE 1394): Ricoh Co Ltd Device e832 03:00.4 SD Host controller: Ricoh Co Ltd Device e822 04:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8057 PCI-E Gigabit Ethernet Controller (rev 10) 3f:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 02) 3f:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 02) 3f:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 02) 3f:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 02) 3f:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 02) 3f:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 02)
Configuration USB
Ci-dessous la sortie de la commande lsusb :
[root@Dahlia /root]$ lsusb Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 004: ID 0489:e00f Foxconn / Hon Hai Bus 001 Device 003: ID 064e:2100 Suyin Corp. Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Installation de la distribution
Debian unstable
Ayant l’habitude de travailler avec une distribution Debian, mon choix s’est naturellement porté vers Debian, et plus particulièrement sur la version Sid (ou encore unstable)
Toute fois, cela devrait être exactement la même chose en ce qui concerne les autres ditributions.
Pour commencer l’installation, j’ai utilisé la première ISO d’une Debian testing. J’installe le strict minimum, puis je configure le réseau pour enfin terminer mon installation par Internet.
La première étape est de définir ses partitions. Pour l’instant, j’ai conservé ma partition Windows d’origine.
A titre d’exemple, j’ai :
[root@Dahlia /root]$ fdisk -l /dev/hda Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xfdc27c00 Device Boot Start End Blocks Id System /dev/sda1 1 608 4881408 82 Linux swap / Solaris /dev/sda2 * 608 2432 14648320 7 HPFS/NTFS /dev/sda3 2432 10942 68359168 83 Linux /dev/sda4 10942 60802 400495616+ 5 Extended /dev/sda5 60802 55925 361326592 83 Linux /dev/sda6 55925 59573 29295616 83 Linux /dev/sda7 59573 60802 9871360 83 Linux Partition table entries are not in disk order
Mes points de montage :
[root@Dahlia /root]$ mount /dev/sda2 on / type reiserfs (rw) tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755) proc on /proc type proc (rw,noexec,nosuid,nodev) sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) udev on /dev type tmpfs (rw,mode=0755) tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev) devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620) /dev/sda5 on /home type reiserfs (rw) /dev/sda6 on /usr type reiserfs (rw) /dev/sda7 on /var type reiserfs (rw) fusectl on /sys/fs/fuse/connections type fusectl (rw) binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev) nfsd on /proc/fs/nfsd type nfsd (rw)
Ce que cela donne après une installation :
[root@Dahlia /root]$ df -h Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur /dev/sda2 14G 6,6M 7,5G 47% / tmpfs 1,9G 0 1,9M 0% /lib/init/rw udev 1,9G 280K 1,9M 1% /dev tmpfs 1,9G 284K 1,9G 1% /dev/shm /dev/sda5 345G 38G 307G 11% /home /dev/sda6 28G 17G 12G 60% /usr /dev/sda7 9,5G 3,8G 5,7G 40% /var
Attention, si vous souhaitez utiliser les fonctionnalités de mise en veille prolongée, je vous conseille de mettre 10 Go de swap si vous voulez être tranquille.
Kernel 2.6.34.1
Comme d’habitude (peut-être une mauvaise), je recompile mon noyau afin de mieux maîtriser ce qu’il fait.
Téléchargez mon fichier « .config ».
(en cours d’optimisation, en effet pour le moment c’est celui qui correspond au package)
[root@Dahlia src]$ wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.34.1.tar.bz2 [root@Dahlia src]$ tar -jxf linux-2.6.34.1.tar.bz2 [root@Dahlia src]$ ln -s linux-2.6.34.1 linux [root@Dahlia src]$ cd linux [root@Dahlia linux]$ cp ~/config.txt .config [root@Dahlia linux]$ make bzImage [root@Dahlia linux]$ make modules [root@Dahlia linux]$ make modules_install [root@Dahlia linux]$ cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.34.1-amd64 [root@Dahlia linux]$ cp System.map /boot/System.map-2.6.34.1-amd64 [root@Dahlia linux]$ cd /boot [root@Dahlia boot]$ update-initramfs -c -k 2.6.34.1
J’utilse GRUB comme bootloader. Téléchargez ici ma configuration de GRUB.
[root@Dahlia /root]$ apt-get install grub [root@Dahlia linux]$ grub-install /dev/hda [root@Dahlia linux]$ cd /boot [root@Dahlia /boot]$ tar -zxf grub.tar.gz [root@Dahlia /boot]$ cd grub {root@Dahlia grub]$ ./install
Bien sûr, vous devrez adapter votre configuration à vos partitions.
[root@Dahlia /root]$ blkid /dev/sda2 /dev/sda2: UUID="2383d50d-9235-458f-8a8f-a79a4bf54f55" TYPE="reiserfs"
Réseau LAN
Pour utiliser votre interface réseau, il n’y a aucun soucis. En effet les noyaux ayant une version supérieure à 2.6.34.1 supportent nativement notre carte.
A l’aide de udev, vous pouvez choisir le nom de vos interfaces réseaux.
[root@Dahlia /root]$ cat /etc/udev/rules.d/70-persistent-net.rules # This file was automatically generated by the /lib/udev/write_net_rules # program, run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a single # line, and change only the value of the NAME= key. # PCI device 0x11ab:0x4380 (sky2) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:24:be:c1:35:44", \ ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" # PCI device 0x8086:0x422c (iwlagn) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:23:14:27:d4:a0", \ ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"
[root@Dahlia /root]$ apt-get install ifrename [root@Dahlia /root]$ ifconfig -a eth0 Lien encap:Ethernet HWaddr 00:24:be:c1:35:44 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Interruption:18 lo Lien encap:Boucle locale inet adr:127.0.0.1 Masque:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:1040 errors:0 dropped:0 overruns:0 frame:0 TX packets:1040 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:0 RX bytes:184312 (179.9 KiB) TX bytes:184312 (179.9 KiB) pan0 Lien encap:Ethernet HWaddr ce:ca:1a:da:7f:16 BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) wlan0 Lien encap:Ethernet HWaddr 00:23:14:27:d4:a0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Vidéo (VGA, HDMI…)
J’ai choisi un ordinateur avec une GeForce car ces cartes sont beaucoup plus facile à utiliser sous Linux que les cartes ATI.
Nous allons donc voir tout de suite ce qu’il en est. Nous allons installer les drivers fournis par NVidia et activer l’accélération matérielle.
Dans l’exercice suivant, je suppose que vous compilez les drivers NVidia pour la version du noyau que vous êtes actuellement en train d’utiliser.
[root@Dahlia /root]$ aptitude install nvidia-kernel-dkms nvidia-kernel-source [root@Dahlia /root]$ dkms build -m nvidia -v 195.36.24 -k 2.6.34.1 [root@Dahlia /root]$ dkms install -m nvidia -v 195.36.24 -k 2.6.34.1
Nous allons rencontrer notre première difficulté ! En effet, le portable ne détecte pas les écrans qui sont connectés.
Néanmoins, nous pouvons contourner le problème en les déclarant manuellement (voir mon fichier xorg).
Ici mon fichier de configuration Xorg.
Ici mon fichier sony-vpcf11m1e.edid.
Audio (Casque, micro…)
Le kernel 2.6.34.1 utilise la version 1.0.22 des drivers alsa. Notre carte son n’est donc pas supportée. Vous devez utiliser la prochaine version 1.0.33. Ou attendre les kernels 2.6.35 ou 2.6.36 dans lequel le support de notre carte est présent.
Une autre solution consiste à appliquer un patch sur la version 2.6.34.1 afin de profiter dès maintenant de votre carte son et de l’entrée micro.
[root@Dahlia /root]$ cd /usr/src/linux [root@Dahlia /usr/src/linux]$ wget http://www.progweb.com/modules/sony/data/sony-sound.patch [root@Dahlia /usr/src/linux]$ patch -p1 < sony-sound.patch [root@Dahlia /usr/src/linux]$ make modules [root@Dahlia /usr/src/linux]$ make modules-install
Après redémarrage de l'ordinateur, le son devrait fonctionner.
Mais nous allons améliorer notre configuration. Personnellement, je souhaite utiliser le serveur de son de Gnome, ainsi qu'ALSA pour mes applications. Il faut donc que je puisse mixer le son.
Pour configurer votre carte si cela n'est pas déjà fait :
[root@Dahlia /root]$ alsaconf
A présent, nous allons configurer le mixer
[root@Dahlia /root]$ cat /etc/asound.conf pcm.card0 { type hw card 0 } pcm.!default { type plug slave.pcm "dmixer" } pcm.dmixer { type dmix ipc_key 1025 slave { pcm "hw:0,0" period_time 0 period_size 1024 buffer_size 4096 periods 128 rate 44100 } bindings { 0 0 1 1 } }
Cette configuration me permet d'utiliser le serveur de son de Gnome avec ALSA.
Clavier Multimedia
Comment utiliser les touches "multi-média" de votre clavier sous Linux ?
Ceci est tout à fait possible à l'aide du module noyau sony-laptop. De plus vous pourrez chosir l'action a effectuer pour chacune des touches.
Cependant, vous devez légèrement patcher le kernel pour que toutes les touches soient utilisables.
[root@Dahlia /root]$ cd /usr/src/linux [root@Dahlia /root]$ patch -p1 < sony-laptop-keys.patch
Afin d'utiliser les touches multi-médias, j'ai modifié les scripts acpi.
Via votre gestionnaire de bureau, vous pouvez également utiliser les touches multi-médias.
Souris / Touchpad
Rien à faire de particulier pour avoir le support du touchpad ou d'une souris.
Regarder le fichier de configuration de Xorg pour pouvoir utiliser à la fois une souris et le touchpad.
[root@Dahlia /root]$ cat /etc/gpm.conf device=/dev/input/mice responsiveness= repeat_type=none type=exps2 append='' sample_rate=
Néanmoins, votre touchpad n'est pas complètement fonctionnel. Il est en effet détecté comme une simple souris (IMPS/2). Vous ne pouvez donc pas utiliser les drivers synaptic et donc les fonctions multi-touch.
Avez le patch suivant, vous pouvez faire en sorte que votre touchpad soit reconnu par les drivers synaptics. Mais les fonctions de scrolling ne fonctionneront pas !
Il est possible de forcer le mode "souris simple" :
[root@Dahlia /root]$ cat /etc/modprobe.d/psmouse.conf options psmouse proto=imps
J'essaie de travailler sur ce problème.
Processeur
Pour le processeur, il n'y a pas grand chose de particulier à faire. En plus de le compiler avec le support SMP, vous pouvez le compiler avec le support centrino afin de pouvoir contrôler la fréquence du processeur.
[root@Dahlia /root]$ cat /etc/modules asus_acpi speedstep-centrino cpufreq_stats cpufreq_userspace cpufreq_powersave cpufreq_ondemand
Pour autoriser un utilisateur à modifier la fréquence du processeur :
[root@Dahlia /root]$ cat /etc/sudoers login ALL = (root) NOPASSWD: /usr/sbin/cpufreqset [0-9]* login ALL = (root) NOPASSWD: /usr/sbin/cpufreqsetgovernor [a-z]* login ALL = (root) NOPASSWD: /usr/sbin/cpufreqnextgovernor
Personnellement, j'utilise gkrellm pour visualiser et modifier la fréquence du processeur.
Port série
N'ayant plus de port série, j'ai acheté un adaptateur USB <-> série pour pouvoir continuer à utiliser d'ancien périphérique.
[root@Dahlia /root]$ modprobe usbserial [root@Dahlia /root]$ modprobe pl2303
Et je trouve un port série /dev/ttyS0
CD / DVD / Blu-ray
Pour utiliser le DVD / graveur, il n'y a rien à faire de particulier.
PCMCIA
De même le bus PCMCIA est correctement supporté du moment que vous avez les drivers pour votre carte.
WAN Network
Pour utiliser le WiFi, il n'y a aucun problème. En effet, le support de la carte est inclu dans les kernels 2.6.34.1.
Pour activer ou désactiver la carte, vous pouvez utiliser le switch.
Bluetooth
L'interface Bluetooth est un périphérique USB.
[root@Dahlia /root]$ modprobe bluetooth [root@Dahlia /root]$ modprobe hci_usb
Firewire
Pour utiliser le FireWire, il faut charger les bons modules.
Par exemple, pour pouvoir utiliser un camescope qui a une prise DV, on devra faire :
[root@Dahlia /root]$ modprobe ohci1394 [root@Dahlia /root]$ modprobe ieee1394 [root@Dahlia /root]$ modprobe raw1394 [root@Dahlia /root]$ modprobe dv1394
Lecteur cartes photo
Aucun soucis pour utiliser le lecteur de cartes, il suffit de charger le module sdhci.
[root@Dahlia /root]$ modprobe sdhci [root@Dahlia /root]$ mkdir /mnt/sd [root@Dahlia /root]$ mount /dev/mmcblk0p1 /mnt/sd
Webcam
Sony fournit une webcam respectant le standard UVC, standar qui est implémenté et bien supporté sous Linux..
L'utilisation de la webcam est par conséquent sans difficulté.
Utilisation 32 bits / 64 bits
J'utilise une Debian pour plateforme 64 bits. Se référer à la configuration du kernel.
Bien sûr, toutes les applications sont dans le format natif 64 bits.
Il n'y a donc aucun problème pour lancer des applications 64 bits sur un système 64 bits.
Malheureusement toutes les applications ne sont pas fournits en 64 bits, surtout lorsqu'il s'agit d'application non libre, dont on ne dispose que des binaires. C'est le cas par exemple de google-earth, flash et bien d'autres !
Applications 32 bits
Les mainteneurs Debian proposent des packages 32 bits pour nos plateforme x86-64 :
[root@Dahlia /root]$ aptitude install ia32-libs ia32-libs-gtk
Vous pourrez alors trouver de nouveaux dossiers : /lib32 ; /usr/lib32...
Flash
Depuis quelques mois, Adobe fournit une version 64 bits de son player flash :
[root@Dahlia /root]$ wget http://download.macromedia.com/pub/labs/flashplayer10/libflashplayer-10.0.45.2.linux-x86_64.so.tar.gz [root@Dahlia /root]$ tar zxvf libflashplayer-*-x86_64.so.tar.gz [root@Dahlia /root]$ cp libflashplayer.so /usr/lib/mozilla/plugins [root@Dahlia /root]$ cp libflashplayer.so /usr/lib/iceweasel/plugins [root@Dahlia /root]$ ln -s /usr/lib/mozilla/plugins/libflashplayer.so /usr/lib/xulrunner-addons/plugins
Google Earth
Google fournit seulement une version 32 bits.
[root@Dahlia /root]$ aptitude install googleearth-package [root@Dahlia /root]$ make-googleearth-package [root@Dahlia /root]$ dpkg -i googleearth_5.2.1.1329+0.5.7-1_amd64.deb
Vous pouvez alors rencontrer plusieurs difficultés. En effet, certaines versions 32 bits des librairies GL utilisant les modules DRI ne les cherchent pas au bon endroit. Ci-dessous un contournement !
[root@Dahlia /root]$ cat /usr/bin/googleearth #!/bin/sh cd /usr/lib/googleearth # this no longer works with Google Earth 4.3, so we have to revert to using LD_LIBRARY_PATH, sorry #exec /lib/ld-linux.so.2 --library-path /usr/lib/googleearth /usr/lib/googleearth/googleearth-bin "$@" GOOGLE_EARTH_LD_LIBRARY_PATH=/usr/lib/googleearth if [ ! -z "$LD_LIBRARY_PATH" ]; then LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GOOGLE_EARTH_LD_LIBRARY_PATH} else LD_LIBRARY_PATH=${GOOGLE_EARTH_LD_LIBRARY_PATH} fi export LD_LIBRARY_PATH LIBGL_DRIVERS_PATH=/usr/lib/dri if [ `uname -m` = 'x86_64' ]; then LIBGL_DRIVERS_PATH=${LIBGL_DRIVERS_PATH}:/#DRIDIR32#/dri fi export LIBGL_DRIVERS_PATH /usr/lib/googleearth/googleearth-bin "$@"
Si vous utilisez le driver Nvidia propriétaire, vous devez installer les librairies 32 bits :
[root@Dahlia /root]$ aptitude install nvidia-glx-ia32
Testez :
[root@Dahlia /root]$ LIBGL_DEBUG=verbose googleearth
Configuration logicielle
Mes applications
Vous trouverez ici rapidement la liste des applications que j'utilise :
Desktop | Bureautique | Réseau | Développement | Multi-média |
Gnome & Sawfish | OpenOffice | Mutt | Bluefish | Audacious |
Gkrellm2 | Planer | Evoluton | Glade | Grip |
graveman | Evince | Gaim | Anjuta | Kino |
gtkam | Gnochm | GFTP | VIM | VLC |
Dia | Epiphany | Xine | ||
GQview | Ekiga | Mplayer | ||
The Gimp | Pan | RealPlayer | ||
X-Chat | Cinelerra |
3 réponses à Linux sur un portable Sony VPCF11M1E