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