Beaucoup de monde parle de linux en ce moment, que ce soit dans la presse informatique, et même dans des journaux grand public. Comme je suis plutôt curieux par nature j'ai donc décidé de me procurer une distribution linux et de l'installer sur mon ordinateur. Après avoir fourbi mes armes sur une RedHat 5.2 (je suis totalement novice en système linux / unix) j'ai installé Debian 2.1 pas plus tard que la semaine dernière. Tout s'est bien passé en partie grâce au travail que j'avais précédemment réalisé pour la RedHat. Le support APM marche, j'ai X-Windows en 800x600x24 (le maximum supporté par mon moniteur LCD), ma connexion internet par modem fonctionne également.
Après pas mal de galère je crois que j'ai enfin le son sur mon Thinkpad ! Enfin presque, des fois ça marche, et d'autres ça ne marche pas, mais maintenant c'est un problème induit par la mise en hibernation.
L'installation s'est déroulée sans trop de problèmes. Par défaut j'ai réglé mon BIOS pour qu'il ne boote pas sur l'unité de CD-ROM. La première chose à faire est donc de changer ce réglage (le réglage d'origine boote sur la disquette, puis le CD-Rom, puis le réseau et enfin sur le disque dur). Ensuite mettre le CD-ROM Debian dans le lecteur, et rebooter. Et si 'la Force est avec vous' l'installation de Debian peut commencer ...
Le partitionnement d'origine du disque comprend une partition FAT16 de 2 Go pour windows 98 et une partition FAT32 étendue de 1 Go. J'ai donc supprimé cette seconde partition sous windows pour y installer Linux. Mon disque dur a donc la structure suivante:
Disk /dev/hda: 128 heads, 63 sectors, 788 cylinders Units = cylindres of 8064 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 520 2096608+ 6 FAT16 /dev/hda2 772 788 68544 82 Linux swap /dev/hda3 521 771 1012032 83 Linux
Une partition de swap de 68 Mo pour mes 64 Mo de RAM, et le reste de la place pour ma partition Linux. Au début je faisais une partition pour '/' et une autre pour '/usr', mais je me suis rendu compte que vu la place que j'avais ce n'était pas une très bonne idée: quand j'ai voulu installer Star Office il n'avait pas assez de place dans le répertoire temporaire pour décompresser les fichiers d'installation.
La gestion de l'énergie, et en particulier la mise en hibernation, semble nécessiter que la partition bootable soit la partition windows 98, puisque le fichier d'hibernation se trouve sur celle là. Peut être qu'en créant une partition d'hibernation ce problème est résolu. Comme en fait j'utilise windows au travail je boote par défaut ce système d'exploitation donc je ne me suis pas vraiment penché sur le problème.
Le démarrage est assuré par lilo. Un conseil: créez toujours la disquette de boot linux pendant l'installation ! J'ai laissé debian installer lilo pour moi, mais ça ne marchait pas. J'ai donc personnalisé mon lilo.conf pour qu'il boote par défaut sur windows, et seulement à la demande sur linux.
Contrairement à ce que je pensais (et surtout à ce que j'avais enduré sous RedHat) la configuration de X se fit sans aucun problèmes. Debian fournit 'XFree86 Version 3.3.3.1' qui supporte la puce NeoMagic 256AV par son serveur SVGA. Il suffit donc d'installer les paquets X avec les serveurs SVGA et VGA16 (ça c'est pour la configuration). Ensuite il suffit, en tant que root de lancer 'XF86Setup', dans la rubrique 'Card' de choisir 'advanced', puis 'NM2200', et de passer comme argument supplémentaire 'hw_cursor' (non indispensable). Dans la section 'screen', vu qu'il n'y avait aucun panneau LCD, j'ai décidé de choisir 'generic SVGA' et je dois dire que tout marche à merveille.
Ensuite, par sécurité (normalement tous les modes non supportés sont désactivés au lancement de X automatiquement), j'ai édité le fichier 'XF86Config' et j'ai viré tous les modes non supportés par ma carte ou mon écran, en gros toute résolution autre que 800x600, et la profondeur de couleur 32 bits. Et ensuite j'ai spécifié 16 bits par défaut, et une résolution virtuelle de 1024x768.
Si ça peut vous intéresser vous trouverez mon fichier XF86Config.
La compilation du noyau n'a jamais posé de problèmes particulier: j'ai recompilé 'à la façon Debian' le noyau 2.0.36 livré, ainsi que le 2.2.9, et du 2.2.12 au 2.2.17 que j'utilise actuellement. J'ai même testé le 2.4.0-TEST5 mais la gestion d'énergie par ACPI est encore balbutiante.
Je ne vais pas m'étendre sur ce sujet, je vous conseille de consulter le site Linux Aide, ils expliquent la compilation du noyau, et j'ai même participé pour la page sur la compilation 'à la façon Debian'.
Je vous conseille quand même d'intégrer le support APM (menu 'general setup'):
Un petit conseil : n'hésitez pas à faire la disquette de boot, même si votre configuration lilo marche aux petits oignons, on ne sait jamais.
Tout ne marche pas encore parfaitement. Mais je peux lire un CD et utiliser Freeamp, par le biais du serveur de son Enlightenment: esound. Par contre le son ne marche plus lors du retour d'une hibernation. Un petit détail à régler (si vous avez la solution n'hésitez pas à m'en faire part !!). En attendant que le driver ALSA soit disponible, pour le moment aucune date n'a été précisée.
Donc pour le moment cette satanée carte son se comporte comme une Yamaha OPL3-SAx (YMF719) (dixit le noyau). Il faut donc compiler les modules suivants dans votre noyau 2.2.x (je crois qu'ils n'existaient pas dans les 2.0.x):
Et voilà, maintenant il ne reste plus qu'à lancer la compilation, installer le noyau nouvellement compilé et rebooter.
Maintenant pour charger les modules dans le noyau, il y a 2 manières :
soit manuellement avec un ch'ti script (c'est moins fatiguant):
$ vi son #! /bin/sh modprobe sound insmod mpu401 insmod ad1848 insmod opl3sa2 mss_io=0x530 irq=5 dma=0 dma2=1 mpu_io=0x300 io=0x370 insmod opl3 io=0x388 # ---------- fin du script
Il faut être root pour que ça marche, ou mettre un 'sudo' devant chaque ligne et inclure les utilisateurs autorisés dans /etc/sudoers. Sur la console ça doit nous donner ceci :
$ ~/son Using /lib/modules/2.2.15/misc/mpu401.o Using /lib/modules/2.2.15/misc/ad1848.o Using /lib/modules/2.2.15/misc/opl3sa2.o Using /lib/modules/2.2.15/misc/opl3.o
Soit automatiquement par modprobe : pour cela il faut ajouter un fichier /etc/modutils/sound contenant ces lignes:
$ vi /etc/modutils/sound # Configuration de la carte son NeoMagic 256av # alias char-major-14 opl3sa2 pre-install opl3sa2 modprobe "-k" "ad1848" post-install opl3sa2 modprobe "-k" "opl3" options opl3sa2 mss_io=0x530 irq=5 dma=0 dma2=1 mpu_io=0x300 io=0x370 options opl3 io=0x388 # ---------- fin du fichier /etc/modutils/sound
Puis faire un update-modules: cela mettra à jour votre fichier /etc/modules.conf (consulter les pages de man pour plus d'informations). Pour charger les modules appropriés il suffit de faire (sous root):
$ modprobe opl3sa2
Si l'on jette un oeil sur sur /var/log/kern.log on doit avoir ces entrées :
May 20 22:20:45 foo kernel: ad1848/cs4248 codec driver Copyright (C) by Hannu Savolainen 1993-1996 May 20 22:20:45 foo kernel: Found OPL3-SAx (YMF719) May 20 22:20:45 foo kernel: YM3812 and OPL-3 driver Copyright (C) by Hannu Savolainen, Rob Hooft 1993-1996
Et il doit y avoir les modules suivant de chargés :
$ lsmod Module Size Used by opl3 10920 0 (autoclean) (unused) opl3sa2 3888 0 (unused) ad1848 15856 0 [opl3sa2] mpu401 18480 0 [opl3sa2] sound 55512 0 [opl3 opl3sa2 ad1848 mpu401] soundlow 344 0 [sound] soundcore 2372 7 [sound]
Il peut être utile de prendre une précaution si vous utilisez le support PCMCIA: exclure l'IRQ et les plages mémoires utilisés par la puce son en ajoutant ces lignes dans votre /etc/pcmcia/config.opts :
# Sound chipset exclude irq 5 exclude memory 0x300-0x301, memory 0x530-0x538
Et voilà, maintenant vous devriez pouvoir entendre du son. Je vous renvois aux Sound HOWTO et Sound-Playing HOWTO pour plus d'informations sur le son. J'ai expérimenté quelques problèmes que j'ai résolus (en partie) en changeant de Window Manager pour Enlightenment et en utilisant esd, 'Enlightenment sound daemon'.
Page maintenue par Sébastien KALT - Copyright (c) 1999-2011 Sébastien KALT.