khp@login.dkuug.dk
ftape
sous
Linux. Le pilote ftape
gère uniquement les lecteurs
compatibles aux normes QIC-80 et QIC-40. Ces lecteurs de bandes se
connectent au contrôleur du lecteur de disquettes (par exemple à la
place d'un second lecteur). En revanche, il ne gère
pas les lecteurs de bandes SCSI ou QIC-02, ni les lecteurs de
type DAT qui se connectent en général (toujours?) à un contrôleur
SCSI.
Ceci n'est qu'un des différents HOWTOs disponibles pour
Linux. Vous pouvez obtenir la série complète à partir de
The Linux Documentation home page.
Ce HOWTO a été traduit de l'anglais par Loïc
PRYLLI, lprylli@lip.ens-lyon.fr
, dernière mise à jour 2 septembre 1994.
Ceci constitue le `Frequently Asked Questions' (FAQ) / HOWTO guide
pour l'interface ftape
(ftape-HOWTO), Copyright (C) 1993,1994 Kai
Harrekilde-Petersen.
Copyright :
Ce document peut être librement diffusé en entier, sous n'importe quelle forme et gratuitement. Une diffusion partielle est autorisée, à condition de conserver le message de copyright, et d'inclure une note précisant que ce n'est pas la version intégrale et indiquant où obtenir le guide complet. Sous les mêmes conditions, ce document peut être inclus dans une distribution commerciale, sans accord préalable. L'auteur aimerait cependant être informé d'un tel usage.
Ce HOWTO peut être traduit dans n'importe quel langage, à condition que la notice de copyright et les réserves d'utilisation soient préservées intactes, et qu'une note stipulant le traducteur soit ajoutée.
Réserves pour l'utilisation :
Bien que des efforts aient été faits pour fournir une information aussi correcte et à jour que possible, il est possible que l'usage des informations de ce document puisse conduire à une perte de données. AUCUNE GARANTIE n'est fournie en ce qui concerne l'information fournie par ce guide, et l'auteur ne peut pas être tenu pour responsable de quelque conséquence que ce soit pour tout dommage résultant de l'utilisation de ce guide.
A l'écriture de ce guide, ftape-1.13b est la version plus récente du pilote ftape, et peut être rapatriée à partir des sites suivants :
tsx-11.mit.edu [18.172.1.2]: /pub/linux/ALPHA/QIC-80/
sunsite.unc.edu [152.2.22.81]: /pub/Linux/kernel/tapes/
ftp.funet.fi [128.214.248.6]: /pub/OS/Linux/BETA/QIC-80/
Vous devez obtenir les fichiers suivants : ftape-1.13b.tar.gz
,
ftape-1.13b.lsm
et modules.tar.gz
. Le fichier
ftape-1.13b
est le pilote proprement dit, le fichier
.lsm
est un fichier "Linux Software Map (LSM)" utilisé dans
le cadre du projet LSM, et le fichier modules
contient un
ensemble d'utilitaires permettant de charger des pilotes
dynamiquement.
Note : si vous possédez une version ancienne des modules, par exemple
les utilitaires modutils-0.99.14.tar.gz
ou
modutils-0.99.15.tar.gz
, vous allez probablement avoir besoin de
vous mettre à jour.
Si vous voulez suivre le développement du pilote ftape, envisagez de
souscrire à la rubrique TAPE sur la liste de distribution
(mailing-list) Linux-activists. Pour ce faire, envoyez un courrier
électronique (e-mail) à
<linux-activists-request@niksula.hut.fi>
, en mettant sur
la première ligne (ou dans l'en-tête) `X-Mn-Admin: join
tape
'. Si vous envoyez un message vide (ou si le système
automatique de réponse ne peut interpréter votre message), vous
recevrez un guide sur comment écrire une requête.
Pour diffuser un courrier technique sur cette liste, écrivez à
<linux-activists@niksula.hut.fi>
, et n'oubliez pas que la
première ligne (ou une ligne d'en-tête) doit contenir `X-Mn-Key:
TAPE
'.
Tous les lecteurs qui sont à la fois compatibles QIC-117 et soit QIC-40, soit QIC-80 doivent fonctionner avec le pilote ftape. Pour l'instant, les lecteurs suivants ont été utilisés avec succès :
La gestion du contrôleur FC-10 a été intégré dans le pilote
ftape à partir de la version 1.12. Vous pouvez vous référer aux
fichiers (en anglais) RELEASE-NOTES
et Makefile
dans
la distribution ftape pour avoir plus de précisions.
Quelques lecteurs de bande (Iomega) mettent à tort l'indicateur `nouvelle-cartouche-chargée' (new-cartridge-loaded) à l'état actif chaque fois que le fichier de périphérique est ouvert. Ces lecteurs ne fonctionneront pas correctement avec les marques de fichiers du fait qu'après chaque fichier on se retrouve au début de la bande.
NOTE : Si jamais vous possédez un lecteur qui fonctionne correctement,
et qui n'est pas listé ci-dessus, envoyez s'il vous plaît un courrier
au responsable de ce guide (khp@login.dkuug.dk
).
De manière générale, AUCUN lecteur se connectant au port parallèle n'est géré, en effet ces lecteurs utilisent plusieurs interfaces propriétaires différentes, qui sont très éloignés du standard QIC-117.
Le contrôleur Colorado TC-15 (et ses sosies) ne sont pas gérés par l'interface ftape. Le Colorado FC-10 est le seul contrôleur qui peut être utilisé. Le support pour celui-ci a été intégré dans ftape version 1.12.
Le Irwin AX250L (et l'unité de sauvegarde interne IBM) ne fonctionne pas avec ftape. En effet, ils utilisent bien le standard QIC-117 mais pas le standard QIC-80 (ils utilisent à la place le format propriétaire servoe (Rhomat) de Irwin). L'auteur n'a aucune information sur le format Rhomat, ni où l'on peut la trouver. Désolé.
Le COREtape light ne fonctionne pas (encore). Quelques caractéristiques sont connues sur ce lecteur, mais on n'a pas encore réussi à lui faire accepter les données d'initialisation. Il n'est pas sûr qu'on arrive un jour à le faire marcher avec ftape.
ftape
Un guide d'installation est fourni dans la distribution ftape (le fichier
Install-guide
en anglais), lisez-le s'il vous plaît.
Vous pouvez obtenir les sources du noyau à l'endroit où vous avez eu les sources de ftape. Ces sources sont disponibles dans les sites suivants (et n'importe quelle site miroir).
tsx-11.mit.edu [18.172.1.2]: /pub/linux/sources/system/
sunsite.unc.edu [152.2.22.81]: /pub/Linux/kernel/
ftp.funet.fi [128.214.248.6]: /pub/OS/Linux/PEOPLE/Linus
Vous trouverez un certain nombre de sous-répertoires, dont deux nommés
respectivement v1.0
et v1.1
. Ils contiennent (bien
évidemment) les versions v1.0
et v1.1
du noyau. Il
est suggéré de choisir la version 1.1.
< ... >
.
Pour le moment, non ! Cela est à l'étude, mais mieux vaut ne pas attendre que ce soit terminé. En attendant, vous allez devoir utiliser MessyDos (arghhh !) ou acheter des bandes préformatées. Cependant, la présence de secteurs défectueux n'est PAS vérifiée sur certaines bandes préformatées. Par sécurité, si le pilote ftape rencontre une bande sans blocs défectueux, un message d'avertissement sera émis.
Les suivants ont été utilisés avec succès :
tape.exe
)Les programmes suivants sont connus pour être plus ou moins bogués.
En fait, la plupart des logiciels sous DOS devraient marcher. Le
Conner Backup Basics v1.0 a un paramètre erroné (quelqu'un a dû mal
lire les spécifications QIC-80 !), ce qui est corrigé dans la version
1.1. Dennis T. Flaherty (dennisf@denix.elk.miles.com
) a
rapporté que les propriétaires d'un Conner C250MQ peuvent obtenir la
nouvelle version 1.1 en appelant au 1-800-230-5638 (aux Etats-unis)
pour demander une mise à jour (en échange du prix correspondant à la
disquette). Signalons que les versions pour Windows fonctionnent très
bien.
On peut utiliser Central Point Backup, mais il gaspille de la place quand il rencontre un point défectueux sur la bande.
NOTE : Si vous utilisez un logiciel de formatage sous DOS, qui n'est
pas mentionné ci-dessus, prière d'écrire au responsable du guide
(khp@login.dkuug.dk
) de manière à rajouter l'information
pertinente.
Les programmes classiques que vous pouvez utiliser sont
`tar
', `dd
' et `cpio
'. Vous devrez
aussi utiliser `mt
' pour exploiter complètement le potentiel
de vos bandes et de l'interface ftape. Pour commencer, il est
recommandé de choisir `tar
', qui permet d'archiver un
ensemble de répertoires et de récupérer de manière isolée des fichiers
d'une sauvegarde précédente. Il paraîtrait que cpio
crée
des archives plus compactes, et soit plus souple que tar
,
mais l'auteur n'a pas essayé. Pour effectuer par exemple, une
sauvegarde des sources de votre noyau en utilisant tar
, vous
devez faire (en supposant que les sources soient dans
/usr/src/linux
) :
cd /usr/src
tar cf /dev/ftape linux
Dans ce cas, les fichiers ne seront pas compressés, mais l'écriture
sur la bande en sera plus continue. Si vous voulez cette fois utiliser
la compression (et que vous possédez tar 1.11.2), il suffit d'inclure
le drapeau(*) -z
, par exemple : `tar czf /dev/ftape linux
'
Pour plus d'informations sur l'utilisation de tar
, dd
et
mt
, regardez dans les pages de références (man pages) et dans
les fichiers texinfo qui sont fournis avec les distributions
correspondantes.
(*) tar
suppose que le premier argument se constitue
d'options, donc le `-
' n'est pas vraiment nécessaire,
autrement dit les deux commandes suivantes sont identiques : `tar xzf
/dev/ftape
' et `tar -xzf /dev/ftape
'
Maintenant, restaurons la sauvegarde des sources du noyau que nous venons de faire dans la section write-backup ci-dessus. Pour cela tapez simplement :
tar xf /dev/ftape
Si lors de la sauvegarde vous avez utilisé la compression, tapez plutôt :
tar xzf /dev/ftape
Lorsque vous utilisez la compression, gzip va se plaindre de données superflues à la fin de l'archive (et cela va produire un message `broken pipe'). Ceci peut être ignoré sans problème.
Pour les autres programmes utilitaires, lisez le manuel correspondant s'il vous plaît.
tar a une option (-d
) qui permet de détecter les différences
entre deux archives. Pour tester votre sauvegarde des sources du noyau,
tapez
tar df /dev/ftape
Si vous n'avez pas la page de manuel de tar
, vous n'êtes pas
(forcément) perdu. tar possède une aide en ligne : essayez
`tar --help 2>&1 | more
'
tar
sur une bande
Pour stocker plus d'un fichier tar sur une bande, vous devez utiliser
l'utilitaire mt
. Vous l'avez sûrement déjà, si vous possédez
l'une des distributions de Linux, par exemple Slackware ou Debian.
tar
génère une seule archive sur la bande et ne sait pas
comment naviguer entre plusieurs archives sur une même bande, il se
contente de faire des lectures ou des écritures sur le fichier de
périphérique. mt
est dédié aux manipulations de bande,
embobiner ou rembobiner pour se positionner sur une archive
spécifique, mais ne sait pas lire ou écrire des données sur la
bande. Comme vous l'avez sans doute deviné, c'est l'association de
tar
et mt
qui permet d'obtenir la fonctionnalité
désirée.
En utilisant le fichier spécial nrft[0-3]
(nftape
),
vous pouvez vous servir de `mt
' pour positionner la bande à la place
désirée (par exemple `mt -f /dev/nftape fsf 2
' pour embobiner
jusqu'à passer deux ``marques de fichiers'', autrement dit sauter deux fichiers
tar), et ensuite de tar
pour lire ou écrire les données appropriées.
"Est-il possible d'étendre une archive (un fichier tar), c'est à dire sauvegarder une archive, puis plus tard, de lui rajouter des fichiers"
La réponse est NON. La documentation de tar
vous dira
d'utiliser `tar -Ar
', mais ça ne fonctionnera pas à cause de
limitations du pilote ftape actuel.
Dans la mesure où une bande ne contient pas un ``système de
fichiers'', il n'y a aucune raison pour à vouloir monter/démonter une bande
pour restaurer le contenu de la bande, vous l'insérez dans le lecteur
et exécutez la commande `tar
' (ou la commande que vous
utilisez d'habitude pour accéder au lecteur).
"Y a t-il une commande explicite de (dé)montage de la bande ?"
Aucune. Le périphérique (device) /dev/ftape est de type
`caractère', et ne peut donc être appliqué à la commande
[u]mount
. Seuls les périphériques de type `bloc' le peuvent.
Ce n'est pas possible pour l'instant. Ce problème est cependant à l'étude. Les logiciels DOS se conforment aux spécifications QIC-80 en ce qui concerne la disposition du systèmes de fichiers DOS, et ce doit être a priori facile d'écrire un programme capable de lire le format DOS. En fait, créer une interface utilisateur agréable est sûrement un problème plus compliqué.
tar
?
Ces questions concernent le programme tar
: lisez s'il vous
plaît la page de manuel (man
page) et la page info
correspondante. Si vous ne les possédez pas, essayez `tar --help -->
--2>&1 | more
'.
Si votre version de tar
est v1.11.1 ou antérieure, considérez
la mise à jour à v1.11.2. Cette version peut appeler GNU zip
directement (autrement dit : elle supporte l'option de compression -z
)
et a de plus une aide intégrée élaborée. D'autre part, elle compile
sans problème pour Linux.
ftape
donnent lieu à des erreurs ECC.
Malheureusement il y a quelques cartes graphiques SVGA qui ne décodent
pas correctement leurs adresses. Ceci se produit typiquement quand les
zones tampons de ftape sont dans la région 0x1a0000
à
0x1c0000
. Il arrive alors que les cycles d'écriture DMA soient
faussés et qu'un octet écrit sur deux ait une valeur fausse
(0xff
). Ces problèmes ont été rapportés avec à la fois des
cartes SVGA et des cartes ethernet. Nous connaissons au moins une
carte (déficiente?) ATI 16bit VGA qui cause ce problème.
La solution la plus simple est de mettre la carte dans un emplacement 8bit (ce n'est souvent pas suffisant pour reconfigurer la carte en 8bit). Déplacer la zone tampon ftape n'est qu'une solution partielle, a priori toutes les zones tampons DMA utilisées dans Linux peuvent avoir ce problème ! Mettons nous bien d'accord : ce comportement n'a rien à voir avec le pilote ftape.
insmod
indique que la version du noyau est erronée
Le programme insmod
vérifie que la version du noyau courant
est la même que celle mémorisée dans le pilote ftape lors de la
compilation. C'est une chaîne de caractères dans
kernel-version.h
, (par exemple : char kernel_version[] =
"1.0.4";
) qui est extraite du noyau au moment où vous exécutez
`make dep
'. Si vous avez cette erreur lorsque vous essayer
d'insérer le pilote ftape, supprimer le fichier
`kernel-version.h
' (dans la distribution ftape), tapez
`make dep ; make
' à nouveau pour recompiler et vous devez
alors avoir une version à jour de
kernel-version.h
. Souvenez-vous que cette opération doit être
renouvelée chaque fois que vous passez à une version différente du
noyau.
(Bien que ce problème ne soit pas été reporté fréquemment, je le cite quand même au cas où !)
Cela vient d'une erreur typographique (et d'un hacker (programmeur)
qui n'utilisait pas ftape lui-même de sorte qu'il ne lui est jamais
arrivé de tester le code qu'il écrivait). Cela a été corrigé dans
patch1.gz
qui peut être trouvé sur les sites ftp usuels.)
tar
/mt
/cpio
/dd
?Tous ces outils sont développés dans le cadre du projet GNU, et les
sources (ainsi que les pages de manuel) peuvent être récupérées à
partir de pratiquement n'importe quel site ftp dans le monde entier (y
compris ftp.funet.fi, tsx-11.mit.edu, et sunsite.unc.edu). Dans tous
les cas on peut les récupérer à partir du site officiel GNU :
prep.ai.mit.edu [18.71.0.38]:/pub/gnu
. Les versions les plus
récentes (au 26 mars 94) sont :
cpio: 2.3 (cpio-2.3.tar.gz
dd: 3.9 (fileutils-3.9.tar.gz)
mt: 2.3 (cpio-2.3.tar.gz)
tar: 1.11.2 (tar-1.11.2.tar.gz)
gzip: 1.2.4 (gzip-1.2.4.tar.gz)
Ils compilent tous sans modifications sur Linux v1.0.4
/ libc
v4.5.19
/ gcc v2.5.8
(Le programme rmt
nécessite quelques adaptations, mais n'est pas indispensable puisqu'il
est seulement utilisé pour accéder à distance à un lecteur de bande).
Non, c'est une caractéristique voulue ;-)
Plus sérieusement, un logiciel fiable ne doit pas se planter. C'est particulièrement vrai pour le noyau qui ne peut pas ou plutôt ne devrait pas planter. Si le noyau se plante lorsque vous utilisez ftape, et que vous pouvez montrer que c'est le pilote ftape qui en est responsable, alors considérez cela comme une erreur importante qui Doit Etre Corrigée. Ecrivez les détails de votre situation aux responsables du développement (voir section email-addrs ci-dessous).
[Note : cette méthode ne marche plus; l'auteur ne sait pas pour l'instant remédier à cette situation]
Pour arrêter cela, faîtes (de mémoire) : loggez vous en tant que root
et faites `rmmod ftape
'. ftape doit faire quelques `ratés',
donner a peu près trois `segmentations fault', et expirer
définitivement.
Observez le témoin (LED) de votre lecteur de disquettes (vous en avez bien un, n'est ce pas?). Si il reste allumé de manière permanente, vous avez mis dans le mauvais sens le câble du lecteur de disquettes. Vérifiez le câble entre le contrôleur, le lecteur de bande et le lecteur de disquettes. En général, l'un (ou plusieurs) d'un des connecteurs a été mis dans le mauvais sens (dessus dessous), de sorte que l'emplacement 1 (broche 1) d'une extrémité se connecte à l'emplacement 34 (broche 34) de l'autre côté de la connexion. (Tous les emplacements pairs sont mis à la terre, donc votre lecteur de disquettes devrait aussi être inutilisable). Ne vous inquiétez pas; cela ne peut pas abîmer votre matériel.
Premièrement, assurez-vous que le problème est reproductible. Les erreurs aléatoires sont très embêtantes, du fait qu'elles sont impossibles à isoler :-/ Voilà une liste rapide à vérifier/reporter :
ftape.o
. Nous
voudrons peut-être essayer quelques modifications ou exécuter des
tests différents sur votre système.Augmenter le niveau de traçage jusqu'à 7 (juste en-dessous du niveau
maximum) et exécuter la commande fautive de nouveau. Récupérer les
données de traçage à partir du `journal' du noyau ou de
/proc/kmsg
, cela dépendant d'où vous abritez vos messages
d'erreur. N'essayez pas de `filtrer' les traces obtenues. Vous
pourriez considérer certaines choses superflues alors qu'elles sont
essentielles pour retrouver le bogue. Décrivez exactement ce que vous
avez fait, et ce qui s'est passé sur votre système. En effet, il est
possible que nous ne puissions pas reproduire l'erreur parce que nous
utilisons un lecteur différent ou une autre version du noyau.
Il y a deux manières de le faire : soit vous pouvez changer le niveau
de traçage par défaut (la variable `tracing
' dans le fichier
`ftape-rw.c
') et recompiler, soit tapez
mt /dev/ftape fsr <tracing-level>
L'utilisation de la commande `fsr' avec mt est une sorte de bidouille, et est destinée à disparaître.
/dev/nftape
, il y a beaucoup
de message superflus ... pourquoi ?Cela vient d'un problème `historique', avant la version 0.9.10. De nos jours, les périphériques `non-rembobinants' fonctionnent correctement. Si votre version est ancienne, il est vivement recommandé de se mettre à jour avec la version 1.13b.
Vous pouvez aider les développeurs de ftape en répondant aux questions des utilisateurs sur les `newsgroups'. Il y a beaucoup d'utilisateurs débutants, qui ont juste besoin d'une réponse très simple à leur question, par exemple `Où puis-je trouver le ftape-HOWTO'. En général postez s'il vous plaît votre réponse directement sur le `newsgroup', de manière à en faire profiter d'autres utilisateurs.
C'est la meilleure manière d'apporter votre contribution, avec bien sûr le fait de tester le pilote et d'écrire des rapports de disfonctionnements précis.
Vous trouverez une liste des développeurs ci-dessous. Si quelqu'un
travaille déjà sur un projet similaire ou identique, contactez cette
personne directement. Si au contraire, vous avez un programme où des
ajouts sur lesquels personne ne travaille, contactez
<khp@login.dkuug.dk>
(et NON Bas, du fait qu'il
est surchargé de travail et a peu de temps pour répondre aux
questions.
Kai Harrekilde-Petersen, khp@login.dkuug.dk
Cesare Mastroianni, cece@dist.dist.unige.it
Bas Laarhoven, bas@vimec.nl
Kai Harrekilde-Petersen, khp@login.dkuug.dk
Bas Laarhoven, bas@vimec.nl
David Mosberger-Tang, davidm@cs.arizona.edu
Ning Mosberger-Tang, tn@cs.arizona.edu
Kai Harrekilde-Petersen, khp@login.dkuug.dk
version française : lprylli@lip.ens-lyon.fr
Guido Muench, odiug@pool.Informatik.RWTH-Aachen.de
Kai Harrekilde-Petersen, khp@login.dkuug.dk