Il existe des cartes d'interfaces PCI qui permettent d'utiliser l'UDMA sur un ordinateur sans changer de carte mère, ou pour ajouter quatre disques supplémentaires sur une machine dont les interfaces intégrées sont toutes utilisées. Elles peuvent aussi être trouvées préinstallées sur certains ordinateurs, tels que les Gateway 2000 ou les Dell.
La plupart de ces cartes ne sont pas supportées par les versions stables du noyau (comme le 2.0.35), vous devez appliquer un patch sur le noyau ou utiliser un noyau de développement (la série 2.1.x). Si vous devez installer Linux sur un disque présent sur l'une de ces interfaces, vous aurez besoin d'utiliser quelques ruses un peu "tordues".
C'est une carte PCI possédant deux canaux UDMA, permettant de connecter 4 disques. Toutes les informations concernant les prix, les spécificités etc. sont disponibles à l'adresse : http://www.promise.com.
Cette carte est (par exemple) vendue avec les derniers modèles Gateway 2000 à base de Pentium II, mais rien ne permet de savoir si elle sera livrée avec les futurs modèles.
Le noyau 2.0.35 supporte explicitement l'UDMA et les noyaux de développement (actuellement 2.1.114) intègrent un support IDE PCI générique, ce qui inclut la détection automatique de la Promise Ultra33. Toutefois, les anciennes versions stables (2.0.34 et au dessous) n'intègrent pas ce support et dans la mesure où la plupart des distributions Linux incluent ces anciens noyaux, il peut s'avérer un peu difficile d'installer Linux.
Installer Linux avec une carte Promise
Bien qu'il existe un patch pour ce contrôleur, ce n'est pas très évident de l'appliquer et de recompiler votre noyau si Linux n'est pas encore installé ! Il existe pourtant une solution, qui peut peut-être marcher sur votre système. Merci à Gadi Oxman pour les informations ci-dessous, permettant d'accéder à la configuration de la carte.
Si l'on peut accéder à une console, à partir de la disquette
d'installation, alors on peut utiliser la commande "cat /proc/pci"
permettant d'afficher les paramètres de la carte:
RAID bus controller: Promise Technology Unknown device (rev 1).
Vendor id=105a. Device id=4d33
Medium devsel. IRQ12. Master capable. Latency=32
I/o at 0xe000. (a)
I/o at 0xd804 (b)
I/o at 0xd400 (c)
I/o at 0xd004 (d)
I/o at 0xc800 (e)
et passer en paramètre du noyau la commande suivante:
"ide2=a,b+2 ide3=c,d+2"
à noter que les adresses ne seront sûrement pas les mêmes sur votre système. Par
exemple, si l'on prend celles décrites ci-dessus, la commande sera :
''ide2=0xe000,0xd806 ide3=0xd400,0xd006
''. Vous devrez éventuellement ajouter
l'IRQ, ce qui donnera : ''ide2=0xe000,0xd806,12 ide3=0xd400,0xd006,12
''.Si vous
n'utilisez que le premier canal IDE de la carte (si, par exemple, vous ne
possédez qu'un disque, ou deux en maître et esclave sur le même canal), il n'est
alors pas nécessaire de spécifier ide3
.
Red Hat 5.1: Démarrer avec la disquette d'amorçage et tapez
sur la touche "enter" à l'invite de commande. Le noyau se chargera puis
il vous sera demandé de choisir une langue, un type de clavier et le
type d'installation. D'autres informations, telles que le type de support contenant les
sources, vous seront demandées. Vos réponses à tout cela
importent peu pour le moment, le tout étant d'arriver à
l'étape suivante. Ensuite, vous devriez tomber sur un écran avec le
message suivant : ``Select Installation Path''. Appuyez sur Alt-F2 pour obtenir
un invite de commande. Tapez ``cat /proc/pci
'', notez les
paramètres comme ci-dessus et redémarrez à partir de la disquette.
Cette fois-ci, tapez ''linux ide2=
(entrez vos paramètres)
ide3=
(encore)''.Il devrait désormais être possible
de faire l'installation sur votre disque sans difficulté, cependant,
LILO ne pourra probablement pas s'installer ; faites plutôt une disquette
de démarrage à laquelle vous passerez les paramètres
décrits ci-dessus tant que vous n'aurez pas patché LILO ainsi que le noyau.
Avec la Red Hat 5.0 et la Slackware 3.4 : elles sont très similaires, mais avec une combine pour que les programmes d'installation ignorent /dev/hde-h (ce sont les disques identifiant l'ide2 et l'ide3). Pour installer à partir de ces disques ou sur ceux-ci, il est nécessaire de "surcharger" une interface ou les deux intégrées sur votre carte mère. Cependant, assurez-vous de ne pas écraser un périphérique que vous désirez installer ; par exemple si vous installez Linux à partir d'un lecteur de CD-ROM sur /dev/hdd (ide1 - interface intégrée) sur un disque dur sur /dev/hde (ide2 - la carte Ultra33), vous devrez surcharger le port ide0 (peu important) avec le port ide2 et laisser le port ide1 intact. En utilisant les numéros précédents vous démarrerez avec "ide0=0xe000,0xd806". Avec la RedHat 5.0 vous aurez une invite de commande en démarrant avec la disquette "rescue" ; la Slackware vous propose cette invite avec la disquette d'amorçage standard. Cependant la RedHat 5.0 a des difficultées pour démarrer après l'installation ; si vous avez des problèmes, vous pouvez télécharger une disquette d'amorçage Slackware sur ftp://ftp.cdrom.com/pub/linux/slackware-3.5/bootdsks.144/ et démarrer avec.
Avec d'autres distributions Linux, vous devrez improviser un peu, mais la procédure devrait être globalement identique.
IMPORTANT :
Sans le patch (présenté dans le chapitre
UDMA générique), le noyau a besoin de ces
paramètres pour accéder à vos disques. De plus il est indispensable qu'à la
configuration de LILO (que ce soit sur un disque ou sur une disquette) vous
donniez exactement les mêmes paramètres que ceux utilisés à l'installation.
Autrement votre système ne démarrera pas. Il est toujours possible de les
fournir au prompt de LILO (pressez la touche Majuscule, puis tapez ''linux ide2=
....'') à chaque démarrage à condition de toujours avoir vos paramètres à
portée de la main. Il est recommandé de patcher le noyau le plus vite possible
pour ne plus avoir à se soucier de ça à chaque démarrage.
Une fois démarré avec
le noyau patché, vous n'aurez plus jamais à vous soucier de ces paramètres.
Autant que je sache, il n'y a aucun moyen de passer des paramètres au
démarrage
d'une disquette contenant un noyau (crée avec la commande ''make
zdisk
''), vous
devrezdonc utiliser LILO ou autres 'loaders' permettant le passage de paramètres
Au démarrage.
Cependant, certains noyaux non patchés ont parfois des difficultés pour utiliser les adresses ide2 et ide3, même lorsque les disques sont correctement reconnus. Par conséquent, si vous n'avez pas réussi à installer linux à partir des infos ci-dessus, essayez de spécifier les adresses ide0 et ide1 à la place de ide2 et ide3 (merci à Martin Gaitan pour cette technique). Cela remplace alors les contrôleurs intégrés de votre carte mère (s'il y en a)avec ceux de la carte Promise. Notons que si vous avez un lecteur de CDROM IDE, branché sur votre carte mère, à partir duquel vous installez Linux, vous devrez vous assurer que vous ne supplanterez pas le contrôleur sur lequel ce lecteur est branché sous peine de ne pas pouvoir lancer l'installation ! Si le lecteur de CD est sur hda ou hdb, utilisez le port ide1 pour vos disques ; si le lecteur est sur hdc ou hdd, utilisez le port ide0.
Installer Linux... puis la carte Promise
Si ça ne marche toujours pas, vous devrez tenter une approche légèrement plus brutale. La méthode suivante fonctionne de façon pratiquement garantie, mais elle requiert que vous ouvriez votre ordinateur et tripatouilliez dedans. ATTENTION : si vous n'avez pas l'habitude de brancher et débrancher des disques IDE, avant toute chose : lisez les manuels livrés avec votre ordinateur, vos disques durs et/ou la carte Promise ! Si vous bousillez quelque chose sans savoir le réparer, vous pourriez le regretter.
Cela dit, c'est très simple. De nos jours, la plupart des cartes mères possèdent des contrôleurs EIDE intégrés. Déconnectez vos disques de la carte Promise, et branchez-les sur les contrôleurs de votre carte mère. Si vous avez d'autres préripériques IDE sur votre carte mère, tels qu'un lecteur de CD-ROM ou un ZIP, l'installation sera plus facile si vous branchez votre disque UDMA sur un port libre (le secondaire si le primaire est utilisé), ou si vous retirez temporairement un périphérique dont vous n'avez pas immédiatement besoin (le lecteur ZIP IDE, ou votre lecteur de bande par exemple). Installez Linux, téléchargez et installez le patch pour la carte Promise (décrit dans la section suivante).
Désormais, vous voilà prêt à rebrancher votre disque sur la carte Promise....
enfin presque. Pour plus de sûreté faites une disquette
d'amorçage
(cd /usr/src/linux; make zdisk
) à partir de laquelle vous pourrez
démarrer si LILO
ne fonctionne pas. Soyons très prudent :faites-en deux et mettez la seconde de
coté pour le moment.
Bien, maintenant c'est le moment de réfléchir un peu... Si vous n'avez qu'un
disque et qu'il est sur la carte Promise, il est alors sûrement déclaré en
/dev/hde
( a
et b
pour le contrôleur primaire de la
carte mère, c
et d
pour
le secondaire). Si vous branchez d'autres disques sur la carte Promise, alors le
disque esclave sera en /dev/hdf
, le disque maître du port secondaire sera en
/dev/hdg
et l'esclave en /dev/hdh
.
Éditez le fichier /etc/fstab
, et changez le nom de toutes les partitions des
disques que vous déplacez du contrôleur de la carte mère vers la carte Promise
(/dev/hda
-> /dev/hde
...). Si vous déplacez d'autres périphériques (tels que le
CD-ROM, le lecteur ZIP..) que vous laissez sur la carte mère, pensez aussi à les
renommer comme il se doit. Par exemple si votre CD-ROM était en maître sur le
port primaire (/dev/hda
), puis déplacé en
/dev/hdc
durant l'installation (pour
pouvoir brancher votre disque dur en /dev/hda
) et que vous le voulez le remettre
en /dev/hda
, alors pensez à modifier la fstab.
Si vous utilisez LILO, n'oubliez pas de le reconfigurer pour que vos
modifications soient prises en compte (la configuration de LILO sort du cadre de
ce document, pour en savoir plus sur LILO, consultez le
LILO mini-Howto), sans
quoi vous ne pourrez pas redémarrer, à moins d'utiliser la
disquette d'amorçage
précédemment créée; disquette que vous voudrez aussi configurer pour pouvoir
démarrer sur la nouvelle partition. Utilisez pour cela la commande rdev
. Insérez
la disquette dans le lecteur puis tapez ''rdev /dev/fd0 /dev/hde1
''. Bien entendu
cela signifie que votre partition root est la première partition de votre disque
UDMA. Si ce n'est pas le cas (la mienne est sur /dev/hde7
par exemple), utilisez
évidemment le bon numéro de partition.
Redémarrez. Votre système devrait désormais fonctionner correctement.
Patch pour la carte Promise
Les noyaux 2.0.35 et supérieurs incluent un support la carte Promise en natif, téléchargez et mettez à jour votre noyau à partir de votre distribution Linux ou à partir de http://www.kernel.org.
Pour avoir plus d'instructions à propos de la compilation d'un noyau, consultez le Kernel HOWTO
Utiliser deux Ultra33 sur une machine
Cela ne fonctionne pas correctement actuellement... Ne le faites pas à moins d'être disposé à bricoler le noyau pour tenter de faire en sorte que cela fonctionne.
Cette carte est supportée par le "udma-generic". L'installation de Linux sur un système possédant une telle interface doit être très similaire à celle effectuée pour l'installation de la carte Promise Ultra33.
Les interfaces IDE tertiaire et quaternaire (ide2 et ide3) utilisent des périphériques
de la forme /dev/hde*
jusqu'à /dev/hdh*
. Sur les anciens noyaux, ces
périphériques n'étaient pas créés automatiquement, vous devrez
donc les ajouter manuellement pour que tout fonctionne correctement.
Cela peut facilement être fait si vous avez installé les sources du noyau Linux.
Lancez simplement /usr/src/linux/scripts/MAKEDEV.ide
pour créer tous les
périphériques nécessaires.