Le Mini-HOWTO JAZ-drive <author>Édité par Bob Willmot, <tt><htmlurl url="mailto:bwillmot@cnct.com" name="bwillmot@cnct.com"></tt> <newline> Traduit par Olivier Tharan, <tt><htmlurl url="mailto:Olivier.Tharan@int-evry.fr" name="Olivier.Tharan@int-evry.fr"></tt> <date>v1.6, 4 juin 1997 <abstract> Ceci est la traduction française du JAZ-drive mini-HOWTO, elle décrit la configuration et l'utilisation d'un lecteur Iomega Jaz sous Linux et les outils logiciels disponibles pour ce lecteur. </abstract> <toc> <sect>Introduction <p> Le disque Iomega Jaz est un lecteur de disques à supports amovibles dont les disques ont une capacité de 1021 méga-octets. Il est disponible à l'heure actuelle en versions SCSI interne et externe. Iomega projette de sortir une version IDE interne. Ce document décrit la manière d'utiliser le lecteur Jaz avec Linux. Puisque c'est un périphérique SCSI, il est important que vous lisiez aussi le HOWTO SCSI de Drew Eckhardt (traduit en français par Jean Zundel) : <tscreen><verb> http://sunsite.unc.edu/pub/Linux/docs/HOWTO/SCSI-HOWTO http://www.freenix.fr/linux/HOWTO/SCSI-HOWTO.html </verb></tscreen> J'aimerais remercier les personnes suivantes pour leurs contributions et les informations qu'elles ont fournies~: <itemize> <item>Grant Gunther, <tt/grant@torque.net/ <item>Tom Poindexter, <tt/tpoindex@nyx.net/ <item>Todd Woods, <tt/woods@cs.uiowa.edu/ <item>Richard B. Melrose, <tt/rbm@math.mit.edu/ <item>Phil Howard, <tt/phil@charon.milepost.com/ <item>Rick Niess, <tt/rniess@ocean.st.usm.edu/ </itemize> Si vous avez des commentaires, des suggestions, des corrections, veuillez les envoyer à : Bob Willmot, <tt/bwillmot@cnct.com/. <sect>Les disques Jaz <p> Les disques Jaz (cartouches) ressemblent à un empilement de trois disquettes 3,5" et contiennent 1 Go de données. Le lecteur possède un mécanisme motorisé qui peut éjecter le disque à l'aide d'un bouton-poussoir sur le devant du lecteur ou par logiciel (voir ci-dessous pour les logiciels Linux <tt/jaztools/). <sect1>L'adaptateur Jaz Jet <p> Iomega commercialise un adaptateur SCSI sous le nom de Jaz Jet. Apparamment il y a en ce moment deux versions disponibles pour ce contrôleur, basées sur deux chipsets SCSI différents. L'un est basé sur la famille d'adaptateurs Adaptec 7800, et est compatible avec les adaptateurs 2930/2940. Linux 2.0 supporte cet adaptateur avec le pilote <tt/aic7xxx/. (Ce pilote est apparu dans les versions 1.3.? du noyau). L'autre adaptateur est basé sur le chipset Advanced Systems. Au démarrage, la carte donne un message ainsi : <tscreen><verb> Jaz Jet PCI SCSI adapter Copyright Advanced Systems 1996 </verb></tscreen> Compilez le noyau en positionnant la variable CONFIG_SCSI_ADVANSYS. <sect>Configurer un noyau pour le lecteur Jaz <p> Pour utiliser le lecteur Jaz avec Linux, vous devez avoir un noyau configuré pour votre adaptateur SCSI. Les informations pour construire le noyau se trouvent dans le fichier <tt>/usr/src/linux/README</tt>, ou dans le répertoire <tt>/usr/src/linux/Documentation/</tt> pour les noyaux 2.x. Allez aussi faire un tour sur le Kernel-HOWTO de Brian Ward (traduit par Eric Dumas) : <tscreen><verb> http://sunsite.unc.edu/pub/Linux/docs/HOWTO/Kernel-HOWTO http://www.freenix.fr/linux/HOWTO/Kernel-HOWTO.html </verb></tscreen> <sect>Identifier le lecteur au démarrage <p> Quand votre système démarre, il devrait afficher des informations sur votre adaptateur, et sur tous les disques attachés au lecteur. Les messages de démarrage varient selon votre adaptateur SCSI et sont aussi ajoutés au fichier <tt>/var/log/messages</tt> (ou <tt>/var/adm/messages</tt>). Vous pouvez aussi ``revoir'' ces messages à partir de la ligne de commande avec la commande <tt/dmesg/. Voici la sortie écran d'un démarrage du noyau sur un noyau 2.0.10 avec un contrôleur Adaptec 2940 : <tscreen><verb> aic7xxx: BurstLen = 8 DWDs, Latency Timer = 64 PCLKS aic7xxx: AHA-2940 Ultra Rev B. aic7xxx: devconfig = 0x580. aic7xxx: Reading SEEPROM...done. aic7xxx: Extended translation enabled. aic7xxx: Using 16 SCB's after checking for SCB memory. AHA-2940 Ultra (PCI-bus): irq 11 bus release time 40 bclks data fifo threshold 100% SCSI CHANNEL A: scsi id 7 scsi selection timeout 256 ms scsi bus reset at power-on enabled scsi bus parity enabled scsi bus termination (low byte) enabled aic7xxx: Downloading sequencer code...done. aic7xxx: Resetting the SCSI bus...done. scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 3.2/3.1/3.0 scsi : 1 host. aic7xxx: Scanning channel A for devices. aic7xxx: Target 4, channel A, now synchronous at 10.0MHz, offset(0xf). Vendor: iomega Model: jaz 1GB Rev: G.60 Type: Direct-Access ANSI SCSI revision: 02 Detected scsi removable disk sda at scsi0, channel 0, id 4, lun 0 scsi : detected 1 SCSI disk total. SCSI device sda: hdwr sector= 512 bytes. Sectors= 2091050 [1021 MB] [1.0 GB] sda: Write Protect is off </verb></tscreen> Dans la séquence ci-dessus, notez les noms de périphériques SCSI bruts (<tt/sda/, <tt/sdb/, etc.). Vous en aurez besoin pour accéder au disque plus tard. Si ces lignes n'apparaissent pas, c'est que quelque chose est mal configuré dans votre matériel ou dans le noyau. Si la ligne <tt/scsi0:/ n'apparait pas, c'est que vous n'avez pas configuré votre adaptateur et son pilote correctement. Certains pilotes vous donneront un indice sur ce qui ne va pas. Si votre lecteur n'est pas détecté, vous avez probablement un problème de câble. Si un nom de lecteur n'est pas donné, vous avez probablement oublié d'inclure le support pour disque SCSI quand vous avez construit le noyau. Vérifiez les fichiers <tt/README/ dans <tt>drivers/scsi</tt> et le HOWTO SCSI pour d'autres indices de débogage. <sect1>Fdisk, mke2fs, mount, etc. <p> Une fois que vous connaissez le nom de lecteur pour votre lecteur Jaz, vous êtes sur la bonne voie. Vous pouvez manipuler le lecteur avec les commandes traditionnelles de gestion de disques sous Linux, <tt/fdisk/, <tt/mke2fs/, <tt/mount/, etc. Reportez-vous aux pages de manuel pour ces programmes. <sect2>Un disque déjà formaté pour DOS <p> Les disques formatés en usine chez Iomega sont partitionnés avec une seule partition (pour une raison inconnue, ils utilisent la 4ème partition). Vous pouvez monter ce disque (en supposant que votre disque Jaz est sur le périphérique brut <tt/sda/) avec les commandes : <tscreen><verb> mkdir /jaz mount -t msdos /dev/sda4 /jaz </verb></tscreen> Ou si vous utilisez un noyau de la série 2.0 et avez compilé le noyau avec le support de la VFAT Win95, vous pouvez le monter avec : <tscreen><verb> mkdir /jaz mount -t vfat /dev/sda4 /jaz </verb></tscreen> (Ceci vous permettra de lire/écrire les noms de fichiers longs). Les fichiers du disque apparaîtront dans <tt>/jaz</tt>. Pendant que le disque est monté, vous ne pourrez pas l'éjecter. Pour démonter le lecteur, vous pouvez lancer la commande : <tscreen><verb> umount /dev/sda4 </verb></tscreen> Une fois que vous avez créé le point de montage <tt>/jaz</tt>, vous n'aurez plus besoin de le refaire. (Assurez-vous aussi que vous n'êtes pas dans le répertoire <tt>/jaz</tt> quand vous essayez de démonter le lecteur.) <sect2>Re-formater un disque pour Linux <p> Si vous voulez effacer un disque Jaz et y créer un système de fichiers Linux natif, vous devez utiliser <tt/fdisk/ sur le disque entier : <tscreen><verb> fdisk /dev/sda </verb></tscreen> et effacer toute partition existant (avec la commande <tt/d/). Créez alors une nouvelle partition avec la commande <tt/n/, faites-en la partition primaire numéro 1, utilisez <tt/w/ pour écrire la table de partitions sur le disque, et quittez avec <tt/q/. Formattez la partition : <tscreen><verb> mke2fs /dev/sda1 </verb></tscreen> (Le 1 est le numéro que vous avez donné à cette partition dans <tt/fdisk/). Maintenant vous pouvez monter le disque : <tscreen><verb> mount -t ext2 /dev/sda1 /jaz </verb></tscreen> (en ré-utilisant le point de montage que nous avions créé auparavant). <sect2>Le disque Jaz Tools <p> Il y a un peu plus de travail si vous voulez utiliser le disque livré avec le lecteur Jaz. Livré tel qu'il est, la protection en écriture contrôlée par logiciel est activée. Vous avez à ce point deux options : débloquer le disque sous DOS ou Windows avec le programme <tt/reclaim.exe/ (ou en installant les outils à partir du programme d'installation), ou bien débloquer le disque avec mon programme <tt/jaztools/ (voir la section <ref id="jaztools">) avec la commande : <tscreen><verb> jaztool /dev/sda rw </verb></tscreen> (Corrigez le <tt>/dev/sda</tt> selon votre périphérique SCSI), et quand on vous demande un mot de passe, entrez <tscreen><verb> APlaceForYourStuff </verb></tscreen> <sect>Jaztools<label id="jaztools"> <p> Un programme natif sous Linux, fait pour supporter certaines capacités spéciales de Iomega (comme l'éjection contrôlée par logiciel et la protection en écriture) est disponible à : <tscreen><verb> http://www.cnct.com/~bwillmot/jaztool/ </verb></tscreen> Une nouvelle version de <tt/jaztool/ devrait être disponible sous peu et contiendra une interface graphique et supportera l'interrogation des lecteurs et le montage et démontage automatique des disques. <sect>Questions fréquemment posées <p> <sect1>Je ne peux monter le disque Jaz Tools qu'en lecture seule. <p> Le disque d'utilitaires est livré dans un mode spécial, en lecture seule et protégé par un mot de passe. Pour débloquer le disque, lancez le programme <tt/reclaim.exe/ sous DOS ou Windows, ou bien utilisez le programme Linux <tt/jaztools/ (voir la section <ref id="jaztools">) avec la commande : <tscreen><verb> jaztool /dev/sda rw </verb></tscreen> (Corrigez le <tt>/dev/sda</tt> selon votre périphérique SCSI), et quand on vous demande un mot de passe, entrez <tscreen><verb> APlaceForYourStuff </verb></tscreen> <sect1>Le Jaz bloque mon système après qu'il s'éteigne... <p> J'ai l'impression que ceci peut avoir un rapport avec le <em/firmware/ du Jaz. Je demande à toutes les personnes qui ont ce problème de me faire savoir quelle est la version de votre lecteur. Pour déterminer la version du Jaz, cherchez dans la sortie du programme <tt/dmesg/ des lignes comme celles-ci : <tscreen><verb> scsi0: Target 4, channel A, now synchronous at 10.0MHz, offset 15. Vendor: iomega Model: jaz 1GB Rev: G.60 Type: Direct-Access ANSI SCSI revision: 02 </verb></tscreen> Ceci n'arrive apparamment que dans certaines circonstances spécifiques que l'utilisateur moyen de Linux a peu de chances de rencontrer. Quand une partition/système de fichiers d'un lecteur Jaz est montée, le lecteur s'arrête de tourner avec un système de fichiers encore monté, et une tentative de lecture est faite sur le périphérique bloc alors que le lecteur est encore inactif. Il semblerait que Linux essaie de lire le MBR à nouveau pour rétablir les partitions, mais ceci peut ne pas fonctionner <em/certaines fois/ et laisse le périphérique dans un état apparemment occupé. La lecture du MBR par le noyau et la lecture du périphérique par le processus échoueront toutes les deux et cet échec peut venir d'un blocage ou d'un état occupé. Dans cet état, le noyau pense qu'il est encore en train de lire même si aucune entrée/sortie n'est en attente ou en cours. Ceci m'est arrivé principalement en lisant par bloc le MBR lui-même. <sect1>Puis-je démarrer à partir du lecteur Jaz ? <p> Le lecteur Jaz peut sélectionner n'importe quelle cible SCSI entre 0 et 6. Si le lecteur Jaz cohabite avec d'autres disques durs SCSI, la plupart des BIOS voudront démarrer à partir de l'ID SCSI la plus basse qui est un disque. Certains détectent et enlèvent les périphériques amovibles comme le Jaz. Si le lecteur Jaz cohabite avec des disques durs IDE, à peu près tous les BIOS voudront démarrer sur le premier disque dur IDE. Certains BIOS permettront d'enlever le premier disque IDE de la configuration et assigneront le premier périphérique SCSI comme périphérique de démarrage (Bios 0x80). D'autres peuvent demander d'enlever tous les périphériques IDE de la configuration. D'autres encore peuvent demander de détacher physiquement les disques IDE ou de ne pas mettre l'interface IDE en service. <sect1>Pourquoi Iomega utilise la partition numéro 4 ? <p> La partition numéro 4 est la partition par défaut utilisée sur les Macintosh. Sur un Mac, la première partition est réservée aux informations de démarrage, la deuxième pour les informations système, la troisième pour la branche ressources (<em/resource fork/) et la quatrième est la branche de données (<em/data fork/). De toute manière, les PC et la plupart des autres systèmes peuvent supporter le fait de devoir travailler sur la quatrième partition alors que le Mac ne peut pas faire autrement. Iomega livre tous ses supports pré-formatés en utilisant la partition 4 pour qu'à la fois les PC et les Mac puissent les lire et chacun évite des maux de tête en ce qui concerne la compatibilité. (Les logiciels sur PC qui lisent les disques Mac s'attendent en général à trouver les données sur la partition 4.) <sect1>Comment puis-je avoir le disque monté au démarrage ? <p> Vous devez simplement ajouter une ligne à votre fichier <tt>/etc/fstab</tt>. Par exemple, si vous avez toujours un disque DOS dans le lecteur quand vous démarrez, vous pourriez mettre <tscreen><verb> /dev/sda4 /jaz msdos defaults 0 0 </verb></tscreen> dans le fichier <tt/fstab/. Selon votre distribution, les scripts d'initialisation peuvent tenter de lancer <tt/fsck/ sur les partitions listées dans le <tt/fstab/. Soyez avertis que ceci peut poser des problèmes si vous oubliez de mettre le disque dans le lecteur quand vous démarrez, ou y mettez un mauvais disque. Pour se débarasser de ces problemes, vous pouvez ajouter une commande <tt/mount/ séparée dans <tt>/etc/rc.d/rc.local</tt> pour monter le disque Jaz. Ceci évitera les problèmes du <tt/mount -a/ habituel qui arrive quand il n'y a pas de cartouche dans le lecteur. <sect1>Qu'arrive-t-il si aucun disque n'est présent au démarrage ? <p> Le noyau essaiera de lire la table des partitions, mais l'opération finira par s'arrêter. Quand vous changez de disque, c'est une bonne idée d'utiliser <tt/fsck/ pour vérifier la structure de la partition sur le nouveau disque. Le BIOS de certains adaptateurs SCSI tentera de lire la table des partitions sur votre disque durant le démarrage du système. Si vous ne pouvez pas enlever cette vérification, vous serez peut-être contraint de toujours démarrer avec un disque dans le lecteur. <sect1>Comment puis-je rendre ma cartouche Jaz auto-démarrable (en supposant que mon BIOS est configuré de manière à le permettre) ? <p> Le disque Jaz est un excellent DRU (Disque de Réparation d'Urgence). Ce peut être amusant de pouvoir se pointer sur un système Linux neuf ou d'essayer Linux sur la machine de quelqu'un d'autre équipé d'un Jaz. Vous pourriez simplement suivre la procédure d'installation de votre distribution favorite avec le disque Jaz comme unique disque sur votre système. Cependant, si vous voulez faire une installation à partir de votre système qui tourne, vous pouvez souvent y arriver en construisant un système auto-démarrable sur une cartouche Jaz. <enum> <item>partitionnez le disque et fabriquez les systèmes de fichiers. Vous aurez probablement aussi besoin d'une partition de swap, mais peut-être pas si vous avez beaucoup de RAM. Montez la nouvelle racine sur <tt>/jaz</tt> et toute partition supplémentaire dans ce répertoire comme il le faut. <item>copiez tous les fichiers à leur emplacement. Assurez-vous que tous les fichiers de <tt>/dev</tt> soient copiés. Assurez-vous que toutes les permissions, propriétés et numéros de groupes soient maintenues. <item>modifiez les fichiers sur la cartouche Jaz pour s'accorder avec le fait qu'on démarre dessus. En particulier, assurez-vous de chager <tt>/jaz/etc/fstab</tt> pour monter les partitions de la cartouche Jaz comme prévu. Changez aussi <tt>/jaz/etc/lilo.conf</tt> pour faire de même. <item>il y a deux possibilités : <enum> <item>fabriquez une disquette pour stocker le noyau et utilisez <tt/rdev/ pour lui faire monter la cartouche Jaz à la racine. Démarrez sur la disquette quand vous êtes prêt pour la première fois puis lancez <tt/lilo/ pour rendre le MBR du Jaz démarrable. <item>vous pouvez lancer <tt/lilo/ à partir de votre système en cours (qui n'est pas sur le Jaz) pour installer le MBR démarrable sur la cartouche Jaz. Ajoutez ces lignes (changez <tt/1/ en votre numéro de partition racine et <tt/sda/ en votre nom de périphérique Jaz pour que ça concorde) au fichier <tt>/jaz/etc/lilo.conf</tt> avant la première définition du système : <tscreen><verb> drive = /dev/sda1 bios = 0x80 </verb></tscreen> </enum> </enum> quand vous êtes prêt à installer le MBR sur le Jaz, lancez <tt/lilo/ avec l'option <tt/-r/ pour le faire fonctionner à partir de l'arborescence <tt>/jaz</tt> comme si c'était <tt>/</tt>. La commande ressemble à : <tscreen><verb> lilo -r /jaz </verb></tscreen> Normalement <tt/lilo/ cherche quel sera le numéro de périphérique BIOS du périphérique de démarrage au prochain démarrage. Ceci doit être contourné puisque le disque Jaz n'est pas démarrable à cet instant. Les deux lignes ajoutées font ceci. Il y aura un certain nombre de messages d'erreurs donnés par <tt/lilo/ et le noyau. Lilo vous prévient qu'il pourra y avoir des problèmes, qui n'en seront pas dans ce cas. Le noyau indique des problèmes relatifs à <tt>/dev/hdc</tt> qui sont dûs à des tests sur des périphériques que <tt/lilo/ effectue pour essayer de découvrir certaines choses. Lilo essaie de fabriquer un noeud de périphérique pour le vieux code majeur/mineur de <tt/hdc/ et le noyau reconnaît la tentative comme une erreur. Vous pouvez ignorer ces messages. Regardez la LED du lecteur Jaz pour vérifier qu'on écrit dessus. À ce point, votre disque Jaz devrait être démarrable. <sect>Obtenir des informations plus à jour <p> Vous pouvez trouver la version la plus à jour de ce mini-HOWTO à : <tscreen><verb> http://www.cnct.com/~bwillmot/jaztool/ </verb></tscreen> Les pages Web de Iomega sont à : <tscreen><verb> http://www.iomega.com/ </verb></tscreen> </article>