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 bandePour 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éeLe 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