INSTALLATION ET OPTIMISATION DE LINUX SUR UN MITAC 6120N

INSTALLATION ET OPTIMISATION DE FREEBSD SUR UN MITAC 6120N

For the english readers: Important lines are in BOLD. Watch my optimizations, for the rest read
LINUX INSTALLATION NOTES FOR MITAC 6120 NOTEBOOK.

La structure et certaines parties de mon texte est inspirée de LINUX INSTALLATION NOTES FOR MITAC 6120 NOTEBOOK.

Ce texte décrit l'installation de Linux Mandrake 7.2 sur un Mitac 6120N. En plus de l'installation, j'ai ajouté les optimisations que j'ai faites afin de mieux tirer partit de ce portable.

1. Matériel

Matériel Fabriquant et détails
Fonctionne ?
CPU Intel Celeron 633Mhz
oui
Chipsets Intel 440BX/ZX et 82371AB
oui
RAM 256 SDRAM
oui
Carte graphique ATI 3D Rage LT Pro avec 8MB of RAM [un ATI Mach 64 pour Linux]
oui
Disque dur Toshiba MK2016GAP, 20GB w/0kB cache
oui
Carte son Crystal CS461x
oui
PCMCIA Texas Instruments 1225 (compatible i82365)
oui
Réseau PCMCIA Abocom FE1500 10/100 Mbits (Level One 10/100 Fast Ethernet)
oui
Modem Lucent Electronic F-1156IV
oui
Souris Synaptics Touch pad (PS/2 device)
oui
DVD-ROM Pionner DVD-ROM ATAPIModel DVD-K11T 0103
oui
USB Intel 82371AB
probablement
Lecteur disquettes National Semiconductor PC87306
oui
Infrarouge National Semiconductor PC87338
probablement

2. Problème avec le BIOS

Je n'arrive pas à mettre de mot de passe dans mon BIOS, il n'est ni activé, ni mémorisé. Je possède déjà la toute dernière version du BIOS et Mitac ne m'a pour l'instant pas répondu pour d'éventuelles solutions.

3. Distribution et installation

J'ai choisi la distribution Mandrake 7.2 parce que je pense que c'est la meilleure distribution "tout en un" pour un usage personnel.

Avantages: Désavantages: Résumé de l'installation (très facile):

Qu'est ce qui marche et ne marche pas après l'installation.

Marche: Ne marche pas:

4. XFree86

Pas de problème d'utilisation de X. Le seul problème se pose avec la mise en veille. Si vous êtes en mode graphique, il reste gelé après le réveil.

Pour fixer ça, il faut décommenter dans /etc/sysconfig/apmd:

CHANGEVT="7"

5. Carte réseau

Pour ma carte réseau PCMCIA j'ai du mettre dans /etc/sysconfig/apmd:

NETWORK_RESTART="no"

Ce paramètre dépend de votre carte réseau, essayez pour savoir.

6. APM

Les 2 paramètres à régler ont été décrit dans les 2 sections précédentes. Problème mineur: certaine fois après un dégel, l'affichage graphique est tout blanc. Il suffit d'éteindre et de rallumer l'écran du Mitac via les touches faite pour. Une autre chose à faire est de recompiler un noyau plus optimisé pour l'APM (le noyau de Mandrake est le plus "safe" possible, on peut obtenir des optimisations supplémentaires en le recompilant. Il faudra aussi que j'essaie le patch ACPI (Mandrake fournit ACPID qui marche avec.). L'ACPI sera par défaut dans la série de noyaux 2.4 qui devrait arriver début 2001 (Mandrake 7.2 fournit les sources d'un noyau 2.4preX qui devrait pouvoir compiler, et je suppose que c'est avec celui-ci que le deamon ACPID entre en jeu.).

Pour que le Suspend to Disk marche, il faut une partition spéciale au début du disque dur. Cette partition doit faire la taille de votre RAM + 2 Mo. Mitac fournit un utilitaire qui doit se lancer depuis une disquette DOS pour faire cette partition. La mienne était déjà là à l'achat. Si vous devez la faire, il faut probablement que votre disque soit vide, car je ne suis pas sûr que l'on aie le choix de la mettre ailleurs qu'au début du disque. De plus, Linux ne peut pas faire grand chose de ce type de partition, et Partition Magic ne sait pas les créer non plus.

7. Souris

C'est un touchpad Synaptic reconnu comme une souris PS/2 à 2 boutons. Vous pouvez simuler le 3ème bouton sous X avec une pression simultanée sur les 2 boutons. La souris, malgré l'utilisation du driver Synapse (il ne permet pas de faire grand chose, contrairement à sa version windows, juste régler si le clic par tapotage est disponible et de le réseter), saute parfois. C'est gênant, car ça saute au coin supérieur droit, généralement, et comme ça clique aussi, parfois ça ferme vos fenêtres.

Vous pouvez mettre dans un fichier de démarrage (mais ça ne change pas grand chose):

tpconfig -x --tapmode==1 --rate=1 -a

à moins que vous ne patchier le noyau (patch inclus avec tpconfig), vous ne pouvez executer cet utilitaire que s'il n'y a pas d'autre programme utilisant la souris (comme X ou gpm), donc le plus simple est de le lancer au démmarrage avant le reste.

Pour régler le problème de la souris qui saute, il faut patcher le noyau. Il faut remplacer la fonction handle_kbd_event(void) par la suivante dans le fichier /drivers/char/pc_keyb.c:

static unsigned char handle_kbd_event(void)
{
        unsigned char status = inb(KBD_STATUS_REG);

        while (status & KBD_STAT_OBF) {
                unsigned char scancode;

                scancode = inb(KBD_DATA_REG);

                if ( !(status & KBD_STAT_GTO) && 
                     !(status & KBD_STAT_PERR ) ) { 

                    if (status & KBD_STAT_MOUSE_OBF) { 
                            handle_mouse_event(scancode);
                    } else { 
                            if (do_acknowledge(scancode))
                                    handle_scancode(scancode, !(scancode & 0x80)); 
                            mark_bh(KEYBOARD_BH); 
                    } 
                } 

                status = inb(KBD_STATUS_REG); 
        } 

        return status; 
}
Ce patch devrait améliorer les choses (j'ai essayé avec un noyau 2.2.18). Mais ne vous attendez toujours pas à des miracles, il y a pour moi toujours des sauts.

L'autre gros problème concernant la souris est la vitesse. A l'époque ont pouvait mettre un paramètre très utile dans la section "pointer" de /etc/X11/XF86Config:

Resolution 100

malheureusement, cette option ne semble plus marcher avec XFree 3.3.6 et plus récents. Heureusement, j'ai trouvé une solution de remplacement assez efficace. Il faut taper:

xset m 4 3 &

4 = accélération
3 = quantité de mouvement en X temps qui déclenche l'accélération.

Si vous mettez mouvement à 1, cela règle une sorte d'accélération permanente, mais vous perdez en résolution même lors des mouvements lents. Le réglage décrit plus haut est le bon compromis pour moi. Mettez ensuite cette ligne dans .bashrc:

xset m 4 3 &

8. Carte son

La seule chose que j'ai faite est de compiler un noyau 2.2.18 avec les drivers pour les cartes son CS461, puis de charger les modules en mémoire et ça marche. N'oubliez pas que le son doit de manière générale toujours être compilé en module.

Ensuite vous pouvez ajouter ces lignes dans un fichier de démarrage, comme /etc/rc.d/rc.local, mais il y a sûrement un manière plus élégante de le faire.

/sbin/insmod /lib/modules/2.2.18/misc/ac97_codec.o
/sbin/insmod /lib/modules/2.2.18/misc/soundcore.o
/sbin/insmod /lib/modules/2.2.18/misc/cs46xx.o
/usr/bin/aumix 80


NEW Cette solution n'est vraiment pas propre, après une petite étude des scripts de démarrages, voici la solution à utiliser.

Ajouter cette ligne à /etc/modules.conf:

alias sound-slot-0 cs46xx

En plus cela marche avec n'importe quels noyaux, même les 2.4.

9. Optimisation du disque dur

A mettre dans les fichiers de démarrages, par exemple /etc/rc.d/rc.local:

hdparm -A1 -c1 -d1 -m16 -S24 /dev/hda
hdparm -d1 /dev/hdc


On peut mémoriser ces paramètre définitivement avec:
hdparm -k1 /dev/hda
hdparm -k1 /dev/hdc


De plus dans /etc/fstab (dans les options des partitions ext2):
noatime,nodiratime

Ceci va à peu près quintupler la vitesse originale du disque. La deuxième ligne sert à mettre le cdrom en mode DMA, ce qui est beaucoup plus optimal, surtout quand il faudra lire des DVD. "noatime et nodiratime" servent à ne plus stocker la dernière date d'accès aux fichiers et aux répertoires, gain de vitesse. En plus, un utilitaire très intéressant: noflushd permet de ne pas écrire sur le disque s'il est en veille et de garder ces informations en ram jusqu'à son réveil (en gros la prochaine lecture).

Une autre bonne idée est d'aller désactiver les cron, spécialement les hourly et les daily, aller voir dans ces répertoires:

/etc/cron.hourly
/etc/cron.daily

10. PCMCIA

Ma carte réseau Abocomm FE1500 a toujours fonctionnée sans problèmes. Le seul changement à été fait au niveau de l'APM (Voir la section APM pour plus de détails.).

Après avoir compilé un nouveau noyau, j'ai du réinstaller les utilitaires (et modules pour le noyau) cs-pcmcia. Le paquet RPM fournit par la mandrake n'était pas pratique à utiliser, je l'ai donc enlevé, puis j'ai directement pris les sources les plus récentes sur le site officiel. Compilation et activation sans aucuns problèmes.

Le module pour supporter cette carte se nomme: pcnet_cs.o (Option NE2000).

NEW Si vous compilez directement un kernel 2.4 et utilisez les modules PCMCIA intégrés au noyau, vous n'avez pas besoin de toucher aux package PCMCIA par défaut de la mandrake, car les utilitaires userland fonctionnent très bien sans mise à jour.

11. Durée de la batterie

La durée de la batterie est d'environ deux heures. Je pense qu'elle dure environ 2:30 heure si on utilise uniquement le mode texte, et moins d'une heure si l'on fait des choses plus lourdes, comme des compilations ou de la lecture de DVD.

Il n'y a pas de différence notable entre Linux et Windows 2000. Linux semble un peu plus économe, mais Windows 2000 gère trés bien l'ACPI. Espérons que ce support sera inclus dans les noyau 2.4.

12. Modem

Les derniers drivers Lucent étaient pour le kernel 2.2.12. Toutefois il semble qu'il soit possible de les modifier et des les utiliser avec des noyaux plus récents. Je n'ai personnellement pas essayé de le faire fonctionner. Lisez cette page pour plus d'informations.

13. Kernel 2.4

La Mandrake 7.2 était à priori "Kernel 2.4 ready", j'ai sonc pu le compiler et le faire fonctionner sans avoir à recompiler d'autres utilitaires pour qu'ils marchent avec. Suivant les distribution il peut y avoir plus de travail.

Pour le moment j'ai réussi à tout faire marcher, de ce qui fonctionnait avec le 2.2. L'ACPI (présent directement dans le kernel 2.4) ne semble pas pris en compte, le deamon fournit par la mandrake 7.2 n'est sûrement pas adapté. Le système des modules est organisé différemment.

Compiler le maximum en modules, surtout le support PCMCIA.
Pour reconnaître le PCMCIA: i82365 Compatible bridge support.
Pour reconnaître la souris: (Bus Mouse support ?) et Mouse support - PS/2 Mouse

Ma config du noyau 2.4.2 (Tout est configuré sauf l'USB et l'infrarouge.)

14. /etc/rc.d/rc.local (ou ce que j'execute au démarrage)

...

# SON 2.2.18
#/sbin/insmod /lib/modules/2.2.18/misc/ac97_codec.o
#/sbin/insmod /lib/modules/2.2.18/misc/soundcore.o
#/sbin/insmod /lib/modules/2.2.18/misc/cs46xx.o

# SON 2.4.0
/sbin/insmod /lib/modules/2.4.0/kernel/drivers/sound/ac97_codec.o
/sbin/insmod /lib/modules/2.4.0/kernel/drivers/sound/cs46xx.o

# AMP 2.4.0 (en module)
#insmod /lib/modules/2.4.0/kernel/arch/i386/kernel/apm.o

/usr/bin/aumix -v 85
NEW Depuis la modification de /etc/modules.conf, la modification de /etc/rc.d/rc.local est complètement inutile car le script de configuration du son (/etc/rc.d/init.d/sound) est maintenant pleinement fonctionel.

15. lsmod

Module                  Size  Used by
cs46xx                 70800   0 
soundcore               2800   2  [cs46xx]
ac97_codec              7088   0  [cs46xx]
autofs                  9456   2  (autoclean)
pcnet_cs               10656   1 
8390                    6208   0  [pcnet_cs]
ds                      6448   2  [pcnet_cs]
i82365                 22928   2 
pcmcia_core            45984   0  [pcnet_cs ds i82365]
nls_cp437               3952   2  (autoclean)
vfat                    9408   1  (autoclean)
fat                    30432   1  (autoclean) [vfat]
supermount             14224   2  (autoclean)

16. Mandrake 8.0

Pour installer la mandrake (tout du moins la 8.0) il faut activer dans les BIOS le support de l'ACPI (contrairement à FreeBSD). Test de la mandrake 8.0. Bonnes nouvelles: tout est detecté et correctement initialisé. La souris saute toujours: c'est un problème de noyau de toute manière. L'installation est mieux faite, un système minimum tient sur 120 Mo, un choix plus judicieu d'applications.

La gestion de l'énergie prend la mise en veille parfaitement, aussi bien en mode console qu'en mode graphique. Après avoir observé les différences avec l'ancienne mandrake j'ai vu qu'il n'y avait plus de deamon apm userland, mais seulement un kapm du kernel. Donc, il faut configurer l'apm dans le kernel (apparemment pas en module) et pas l'ACPI.

Les options de ce noyau qui marchent sont:

Enable PM at boot time
Make CPU idle calls when idle
RTC store time in GMT

Pas de problèmes de temps qui s'arrête dans cette Mandrake durant la mise en veille.

Dans cette Mandrake il n'y a plus GPM, le gestionnaire de souris en mode texte, je ne pense pas que cela influence quelque choses sur l'APM, mais je le signale tout de même.

J'ai obtenu divers freeze au démmarrage de cette mandrake. Leur cause n'est pas définie. Apparemment il y a une amélioration si on ne met pas les services APMD et KUDZU, mais ces problèmes subsistent et semblent aléatoires.

OA En conclusion, cette Mandrake est une bénédiction pour tous les utilisateurs débutants voulant utiliser linux sur ce laptop, car à part les optimisations, il n'y a rien à faire, tout marche déjà à l'install.

17. Divers

Installer Named et les fichiers pour le caching.
Donner l'ip de la carte réseau comme l'IP du serveur DNS.
Pour proftpd mettre l'option:
UseReverseDNS off
dans /etc/proftpd.conf pour qu'il ne fasse plus de résolution.
Pour postfix (Je l'utilise juste comme serveur SMTP, ce qui est très pratique), ajouter dans /etc/postfix/main.cf:

17. Liens utiles

ACPI for Linux HomePage (semble down...)
ACPI Howto
Linux PCMCIA Information Page
Linux on Laptops
Noflushd
Linux-USB
Mitac

18. Remarques finales

La chose la plus gênante est pour l'instant le problème de la souris qui saute aléatoirement. Ensuite on pourra espérer une amélioration de la gestion de la carte son afin qu'il n'y aie plus ces craquements désagréables. Finalement, il faudra encore essayer l'ACPI et espérer que cela puisse encore améliorer la gestion de la baterie.

Pour ceux qui voudraient acheter ce portable, je leur signale qu'il a probablement le meilleur rapport qualité/prix du marché et que son point le plus faible est le clavier (touches moyennement stables).

NEW Vous pouvez sortir le clavier en enlevant tout d'abord le paneau avec le led via un petit bouton du côté droit. Puis en tirant et soulevant le clavier en direction de l'écran. Une fois enlevé, vous pouvez ajouter quelques feuilles ou un morceau de carton aux endroits peu stable (cet à dire environ le coin supérieur gauche). La stabilité est en suite tout à fait satisfaisante.


Pour toutes questions/remarques/compléments d'information ou si vous avez des expériences suplémentaires avec ce modèle, contactez moi !