La tanière d'Ustilago

valid-css !

Valid XHTML 1.0!

Installer Debian 2.1 (slink) sur un IBM Thinkpad 390 (2626-2FR)

écrit par Sébastien KALT

dernière mise à jour le 21 août 2000

Introduction

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.

Caractéristiques de la machine

Installation de Debian

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.

Configuration de XFree86

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.

Compilation du Noyau

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.

Support du son

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.