Le Mini-HOWTO JAZ-drive Edite par Bob Willmot, bwillmot@cnct.com Traduit par Olivier Tharan, Olivier.Tharan@int-evry.fr v1.6, 4 juin 1997 Ceci est la traduction francaise du JAZ-drive mini-HOWTO, elle decrit la configuration et l'utilisation d'un lecteur Iomega Jaz sous Linux et les outils logiciels disponibles pour ce lecteur. 11.. IInnttrroodduuccttiioonn Le disque Iomega Jaz est un lecteur de disques a supports amovibles dont les disques ont une capacite de 1021 mega-octets. Il est disponible a l'heure actuelle en versions SCSI interne et externe. Iomega projette de sortir une version IDE interne. Ce document decrit la maniere d'utiliser le lecteur Jaz avec Linux. Puisque c'est un peripherique SCSI, il est important que vous lisiez aussi le HOWTO SCSI de Drew Eckhardt (traduit en francais par Jean Zundel) : http://sunsite.unc.edu/pub/Linux/docs/HOWTO/SCSI-HOWTO http://www.freenix.fr/linux/HOWTO/SCSI-HOWTO.html J'aimerais remercier les personnes suivantes pour leurs contributions et les informations qu'elles ont fournies : +o Grant Gunther, grant@torque.net +o Tom Poindexter, tpoindex@nyx.net +o Todd Woods, woods@cs.uiowa.edu +o Richard B. Melrose, rbm@math.mit.edu +o Phil Howard, phil@charon.milepost.com +o Rick Niess, rniess@ocean.st.usm.edu Si vous avez des commentaires, des suggestions, des corrections, veuillez les envoyer a : Bob Willmot, bwillmot@cnct.com. 22.. LLeess ddiissqquueess JJaazz Les disques Jaz (cartouches) ressemblent a un empilement de trois disquettes 3,5" et contiennent 1 Go de donnees. Le lecteur possede un mecanisme motorise qui peut ejecter le disque a l'aide d'un bouton-poussoir sur le devant du lecteur ou par logiciel (voir ci-dessous pour les logiciels Linux jaztools). 22..11.. LL''aaddaappttaatteeuurr JJaazz JJeett Iomega commercialise un adaptateur SCSI sous le nom de Jaz Jet. Apparamment il y a en ce moment deux versions disponibles pour ce controleur, basees sur deux chipsets SCSI differents. L'un est base sur la famille d'adaptateurs Adaptec 7800, et est compatible avec les adaptateurs 2930/2940. Linux 2.0 supporte cet adaptateur avec le pilote aic7xxx. (Ce pilote est apparu dans les versions 1.3.? du noyau). L'autre adaptateur est base sur le chipset Advanced Systems. Au demarrage, la carte donne un message ainsi : Jaz Jet PCI SCSI adapter Copyright Advanced Systems 1996 Compilez le noyau en positionnant la variable CONFIG_SCSI_ADVANSYS. 33.. CCoonnffiigguurreerr uunn nnooyyaauu ppoouurr llee lleecctteeuurr JJaazz Pour utiliser le lecteur Jaz avec Linux, vous devez avoir un noyau configure pour votre adaptateur SCSI. Les informations pour construire le noyau se trouvent dans le fichier /usr/src/linux/README, ou dans le repertoire /usr/src/linux/Documentation/ pour les noyaux 2.x. Allez aussi faire un tour sur le Kernel-HOWTO de Brian Ward (traduit par Eric Dumas) : http://sunsite.unc.edu/pub/Linux/docs/HOWTO/Kernel-HOWTO http://www.freenix.fr/linux/HOWTO/Kernel-HOWTO.html 44.. IIddeennttiiffiieerr llee lleecctteeuurr aauu ddeemmaarrrraaggee Quand votre systeme demarre, il devrait afficher des informations sur votre adaptateur, et sur tous les disques attaches au lecteur. Les messages de demarrage varient selon votre adaptateur SCSI et sont aussi ajoutes au fichier /var/log/messages (ou /var/adm/messages). Vous pouvez aussi ``revoir'' ces messages a partir de la ligne de commande avec la commande dmesg. Voici la sortie ecran d'un demarrage du noyau sur un noyau 2.0.10 avec un controleur Adaptec 2940 : 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 Dans la sequence ci-dessus, notez les noms de peripheriques SCSI bruts (sda, sdb, etc.). Vous en aurez besoin pour acceder au disque plus tard. Si ces lignes n'apparaissent pas, c'est que quelque chose est mal configure dans votre materiel ou dans le noyau. Si la ligne scsi0: n'apparait pas, c'est que vous n'avez pas configure votre adaptateur et son pilote correctement. Certains pilotes vous donneront un indice sur ce qui ne va pas. Si votre lecteur n'est pas detecte, vous avez probablement un probleme de cable. Si un nom de lecteur n'est pas donne, vous avez probablement oublie d'inclure le support pour disque SCSI quand vous avez construit le noyau. Verifiez les fichiers README dans drivers/scsi et le HOWTO SCSI pour d'autres indices de debogage. 44..11.. FFddiisskk,, mmkkee22ffss,, mmoouunntt,, eettcc.. Une fois que vous connaissez le nom de lecteur pour votre lecteur Jaz, vous etes sur la bonne voie. Vous pouvez manipuler le lecteur avec les commandes traditionnelles de gestion de disques sous Linux, fdisk, mke2fs, mount, etc. Reportez-vous aux pages de manuel pour ces programmes. 44..11..11.. UUnn ddiissqquuee ddeejjaa ffoorrmmaattee ppoouurr DDOOSS Les disques formates en usine chez Iomega sont partitionnes avec une seule partition (pour une raison inconnue, ils utilisent la 4eme partition). Vous pouvez monter ce disque (en supposant que votre disque Jaz est sur le peripherique brut sda) avec les commandes : mkdir /jaz mount -t msdos /dev/sda4 /jaz Ou si vous utilisez un noyau de la serie 2.0 et avez compile le noyau avec le support de la VFAT Win95, vous pouvez le monter avec : mkdir /jaz mount -t vfat /dev/sda4 /jaz (Ceci vous permettra de lire/ecrire les noms de fichiers longs). Les fichiers du disque apparaitront dans /jaz. Pendant que le disque est monte, vous ne pourrez pas l'ejecter. Pour demonter le lecteur, vous pouvez lancer la commande : umount /dev/sda4 Une fois que vous avez cree le point de montage /jaz, vous n'aurez plus besoin de le refaire. (Assurez-vous aussi que vous n'etes pas dans le repertoire /jaz quand vous essayez de demonter le lecteur.) 44..11..22.. RRee--ffoorrmmaatteerr uunn ddiissqquuee ppoouurr LLiinnuuxx Si vous voulez effacer un disque Jaz et y creer un systeme de fichiers Linux natif, vous devez utiliser fdisk sur le disque entier : fdisk /dev/sda et effacer toute partition existant (avec la commande d). Creez alors une nouvelle partition avec la commande n, faites-en la partition primaire numero 1, utilisez w pour ecrire la table de partitions sur le disque, et quittez avec q. Formattez la partition : mke2fs /dev/sda1 (Le 1 est le numero que vous avez donne a cette partition dans fdisk). Maintenant vous pouvez monter le disque : mount -t ext2 /dev/sda1 /jaz (en re-utilisant le point de montage que nous avions cree auparavant). 44..11..33.. LLee ddiissqquuee JJaazz TToooollss Il y a un peu plus de travail si vous voulez utiliser le disque livre avec le lecteur Jaz. Livre tel qu'il est, la protection en ecriture controlee par logiciel est activee. Vous avez a ce point deux options : debloquer le disque sous DOS ou Windows avec le programme reclaim.exe (ou en installant les outils a partir du programme d'installation), ou bien debloquer le disque avec mon programme jaztools (voir la section ``'') avec la commande : jaztool /dev/sda rw (Corrigez le /dev/sda selon votre peripherique SCSI), et quand on vous demande un mot de passe, entrez APlaceForYourStuff 55.. JJaazzttoooollss Un programme natif sous Linux, fait pour supporter certaines capacites speciales de Iomega (comme l'ejection controlee par logiciel et la protection en ecriture) est disponible a : http://www.cnct.com/~bwillmot/jaztool/ Une nouvelle version de jaztool devrait etre disponible sous peu et contiendra une interface graphique et supportera l'interrogation des lecteurs et le montage et demontage automatique des disques. 66.. QQuueessttiioonnss ffrreeqquueemmmmeenntt ppoosseeeess 66..11.. JJee nnee ppeeuuxx mmoonntteerr llee ddiissqquuee JJaazz TToooollss qquu''eenn lleeccttuurree sseeuullee.. Le disque d'utilitaires est livre dans un mode special, en lecture seule et protege par un mot de passe. Pour debloquer le disque, lancez le programme reclaim.exe sous DOS ou Windows, ou bien utilisez le programme Linux jaztools (voir la section ``'') avec la commande : jaztool /dev/sda rw (Corrigez le /dev/sda selon votre peripherique SCSI), et quand on vous demande un mot de passe, entrez APlaceForYourStuff 66..22.. LLee JJaazz bbllooqquuee mmoonn ssyysstteemmee aapprreess qquu''iill ss''eetteeiiggnnee...... J'ai l'impression que ceci peut avoir un rapport avec le _f_i_r_m_w_a_r_e du Jaz. Je demande a toutes les personnes qui ont ce probleme de me faire savoir quelle est la version de votre lecteur. Pour determiner la version du Jaz, cherchez dans la sortie du programme dmesg des lignes comme celles-ci : 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 Ceci n'arrive apparamment que dans certaines circonstances specifiques que l'utilisateur moyen de Linux a peu de chances de rencontrer. Quand une partition/systeme de fichiers d'un lecteur Jaz est montee, le lecteur s'arrete de tourner avec un systeme de fichiers encore monte, et une tentative de lecture est faite sur le peripherique bloc alors que le lecteur est encore inactif. Il semblerait que Linux essaie de lire le MBR a nouveau pour retablir les partitions, mais ceci peut ne pas fonctionner _c_e_r_t_a_i_n_e_s _f_o_i_s et laisse le peripherique dans un etat apparemment occupe. La lecture du MBR par le noyau et la lecture du peripherique par le processus echoueront toutes les deux et cet echec peut venir d'un blocage ou d'un etat occupe. Dans cet etat, le noyau pense qu'il est encore en train de lire meme si aucune entree/sortie n'est en attente ou en cours. Ceci m'est arrive principalement en lisant par bloc le MBR lui-meme. 66..33.. PPuuiiss--jjee ddeemmaarrrreerr aa ppaarrttiirr dduu lleecctteeuurr JJaazz ?? Le lecteur Jaz peut selectionner 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 demarrer a partir de l'ID SCSI la plus basse qui est un disque. Certains detectent et enlevent les peripheriques amovibles comme le Jaz. Si le lecteur Jaz cohabite avec des disques durs IDE, a peu pres tous les BIOS voudront demarrer sur le premier disque dur IDE. Certains BIOS permettront d'enlever le premier disque IDE de la configuration et assigneront le premier peripherique SCSI comme peripherique de demarrage (Bios 0x80). D'autres peuvent demander d'enlever tous les peripheriques IDE de la configuration. D'autres encore peuvent demander de detacher physiquement les disques IDE ou de ne pas mettre l'interface IDE en service. 66..44.. PPoouurrqquuooii IIoommeeggaa uuttiilliissee llaa ppaarrttiittiioonn nnuummeerroo 44 ?? La partition numero 4 est la partition par defaut utilisee sur les Macintosh. Sur un Mac, la premiere partition est reservee aux informations de demarrage, la deuxieme pour les informations systeme, la troisieme pour la branche ressources (_r_e_s_o_u_r_c_e _f_o_r_k) et la quatrieme est la branche de donnees (_d_a_t_a _f_o_r_k). De toute maniere, les PC et la plupart des autres systemes peuvent supporter le fait de devoir travailler sur la quatrieme partition alors que le Mac ne peut pas faire autrement. Iomega livre tous ses supports pre-formates en utilisant la partition 4 pour qu'a la fois les PC et les Mac puissent les lire et chacun evite des maux de tete en ce qui concerne la compatibilite. (Les logiciels sur PC qui lisent les disques Mac s'attendent en general a trouver les donnees sur la partition 4.) 66..55.. CCoommmmeenntt ppuuiiss--jjee aavvooiirr llee ddiissqquuee mmoonnttee aauu ddeemmaarrrraaggee ?? Vous devez simplement ajouter une ligne a votre fichier /etc/fstab. Par exemple, si vous avez toujours un disque DOS dans le lecteur quand vous demarrez, vous pourriez mettre /dev/sda4 /jaz msdos defaults 0 0 dans le fichier fstab. Selon votre distribution, les scripts d'initialisation peuvent tenter de lancer fsck sur les partitions listees dans le fstab. Soyez avertis que ceci peut poser des problemes si vous oubliez de mettre le disque dans le lecteur quand vous demarrez, ou y mettez un mauvais disque. Pour se debarasser de ces problemes, vous pouvez ajouter une commande mount separee dans /etc/rc.d/rc.local pour monter le disque Jaz. Ceci evitera les problemes du mount -a habituel qui arrive quand il n'y a pas de cartouche dans le lecteur. 66..66.. QQuu''aarrrriivvee--tt--iill ssii aauuccuunn ddiissqquuee nn''eesstt pprreesseenntt aauu ddeemmaarrrraaggee ?? Le noyau essaiera de lire la table des partitions, mais l'operation finira par s'arreter. Quand vous changez de disque, c'est une bonne idee d'utiliser fsck pour verifier 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 demarrage du systeme. Si vous ne pouvez pas enlever cette verification, vous serez peut-etre contraint de toujours demarrer avec un disque dans le lecteur. 66..77.. CCoommmmeenntt ppuuiiss--jjee rreennddrree mmaa ccaarrttoouucchhee JJaazz aauuttoo--ddeemmaarrrraabbllee ((eenn ssuupp-- ppoossaanntt qquuee mmoonn BBIIOOSS eesstt ccoonnffiigguurree ddee mmaanniieerree aa llee ppeerrmmeettttrree)) ?? Le disque Jaz est un excellent DRU (Disque de Reparation d'Urgence). Ce peut etre amusant de pouvoir se pointer sur un systeme Linux neuf ou d'essayer Linux sur la machine de quelqu'un d'autre equipe d'un Jaz. Vous pourriez simplement suivre la procedure d'installation de votre distribution favorite avec le disque Jaz comme unique disque sur votre systeme. Cependant, si vous voulez faire une installation a partir de votre systeme qui tourne, vous pouvez souvent y arriver en construisant un systeme auto-demarrable sur une cartouche Jaz. 1. partitionnez le disque et fabriquez les systemes de fichiers. Vous aurez probablement aussi besoin d'une partition de swap, mais peut- etre pas si vous avez beaucoup de RAM. Montez la nouvelle racine sur /jaz et toute partition supplementaire dans ce repertoire comme il le faut. 2. copiez tous les fichiers a leur emplacement. Assurez-vous que tous les fichiers de /dev soient copies. Assurez-vous que toutes les permissions, proprietes et numeros de groupes soient maintenues. 3. modifiez les fichiers sur la cartouche Jaz pour s'accorder avec le fait qu'on demarre dessus. En particulier, assurez-vous de chager /jaz/etc/fstab pour monter les partitions de la cartouche Jaz comme prevu. Changez aussi /jaz/etc/lilo.conf pour faire de meme. 4. il y a deux possibilites : a. fabriquez une disquette pour stocker le noyau et utilisez rdev pour lui faire monter la cartouche Jaz a la racine. Demarrez sur la disquette quand vous etes pret pour la premiere fois puis lancez lilo pour rendre le MBR du Jaz demarrable. b. vous pouvez lancer lilo a partir de votre systeme en cours (qui n'est pas sur le Jaz) pour installer le MBR demarrable sur la cartouche Jaz. Ajoutez ces lignes (changez 1 en votre numero de partition racine et sda en votre nom de peripherique Jaz pour que ca concorde) au fichier /jaz/etc/lilo.conf avant la premiere definition du systeme : drive = /dev/sda1 bios = 0x80 quand vous etes pret a installer le MBR sur le Jaz, lancez lilo avec l'option -r pour le faire fonctionner a partir de l'arborescence /jaz comme si c'etait /. La commande ressemble a : lilo -r /jaz Normalement lilo cherche quel sera le numero de peripherique BIOS du peripherique de demarrage au prochain demarrage. Ceci doit etre contourne puisque le disque Jaz n'est pas demarrable a cet instant. Les deux lignes ajoutees font ceci. Il y aura un certain nombre de messages d'erreurs donnes par lilo et le noyau. Lilo vous previent qu'il pourra y avoir des problemes, qui n'en seront pas dans ce cas. Le noyau indique des problemes relatifs a /dev/hdc qui sont dus a des tests sur des peripheriques que lilo effectue pour essayer de decouvrir certaines choses. Lilo essaie de fabriquer un noeud de peripherique pour le vieux code majeur/mineur de hdc et le noyau reconnait la tentative comme une erreur. Vous pouvez ignorer ces messages. Regardez la LED du lecteur Jaz pour verifier qu'on ecrit dessus. A ce point, votre disque Jaz devrait etre demarrable. 77.. OObbtteenniirr ddeess iinnffoorrmmaattiioonnss pplluuss aa jjoouurr Vous pouvez trouver la version la plus a jour de ce mini-HOWTO a : http://www.cnct.com/~bwillmot/jaztool/ Les pages Web de Iomega sont a : http://www.iomega.com/ .