ftape
ftape
The v2.0.x versions of the kernel include version 2.08 of ftape
I
recommend, however, that you grab the latest version of the full source
code package for ftape
. It is a newer version, includes files that
are not included in the kernel v2.0.X distribution, and includes much
better documentation about how to install ftape
.
The v2.1.x and later versions of the kernel include the version 3.04
of ftape
.
I recommend that you download the latest stable version of ftape
which is 4.02 at the time of this writing and is available from
http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/archives.html
as well as from
ftp://sunsite.unc.edu/pub/Linux/kernel/tapes/.
You probably should also grab the ftape-doc
and the
ftape-tools
package that are available from the same locations.
If you still want to use the ftape-2.08
which is shipped with the
v2.0.x kernels, then you get a version of the driver which is really
out of date and doesn't support QIC-3020 tapes at 2Mbps correctly,
neither does it support the Ditto 2GB drives nor the Ditto Max drives
nor any kind of parallel port tape drive. The section
Supported drives
gives detailed information about which version of the ftape
driver
supports which hardware.
ftape-2.x
, ftape-3.x
and ftape-4.x
versions
ftape-3.x
and ftape-4.x
use the file system interface that
was implemented for a branch release which was called
zftape
. Actually, the module that implements the VFS
(Virtual File System
) interface of ftape-3.x
and
ftape-4.x
still is called zftape.o
and its C
-sources
inside the kernel tree reside in
[/usr/src/linux/]drivers/char/ftape/zftape/
.
ftape-2.x
(i.e. the version still contained in the v2.0.x kernel)
uses another file system interface, that was implemented by
ftape's
original author Bas Larhoven.
The conceptional difference between ftape-2.x
and later versions
of ftape
is the way file marks are implemented.
Floppy tape devices don't have real file marks.
File marks are used to distinguish different backup sets if you write multiple backup sets to a tape. SCSI and QIC-150 tapes have real file marks, i.e. between two different backup sets there is a region on the tape that is written special data to so that the drive logic can detect that marker when the tape is wound with (possibly) high speed over those file marks.Because the goal of
ftape's
file system interface was from the beginning on to
provide an interface that could be used with standard Unix-like tape
utilities (i.e. mt
) the developers of ftape
started to
emulate file marks by storing the positions on the tape where a file
mark should be located in certain fields of the header
segments.
header segments refers to a region at the beginning of the tape sized two times 29k to hold some important information about the tape format and size and some status information.
However, the QIC
standards already designate a special region to
store such information in, the so called volume table
segment. Since ftape-3.x
this volume table segment is used
instead of using unused data fields in the header segment. As a result
it is possible to use your tape cartridge with different operating
systems in the sense that your Win or DOS backup program will realize
that certain regions of the tape cartridge are already occupied with
data, and ftape-3.x
and later will detect the regions used by
those DOS and Win programs. However, you can't extract a DOS backup
set under Linux or extract a volume written by ftape
under DOS,
safe you write your own software to do that.
There are certain differences in the IOCTL
This IO
control interface is used by e.g. mt
to rewind the tape or skip
to the next file mark or do any other tape operation.
interface between ftape-2.x
and ftape-3.x
and later. A
detailed description can be found in the ftape-manual
contained
in the ftape-doc
package. See
Getting Ftape.
Formatting of cartridges is supported with ftape-3.x
and later
only. Please get the ftape-tools
package that contains the
ftformat
program that interfaces to the driver to format
cartridges. See
Getting Ftape. The
ftape-tools
package comes with (more or less) detailed
documentation, so the case of formatting cartridges is not dealt with
in this document.
ftape-3.x
supported user transparent on-the-fly compression in
software. This feature (or bug) has vanished in ftape-4.x
as
it made further improvements concerning the realiability of backups
very very hard. This means, ftape-4.x
comes without compression
support.
However de-compression of compressed archives produced with
ftape-3.x
is supported in order not to brake existing backup
programs where a user-level filter would not suffice to preserve
compatibility. Think, e.g., of taper
which calls the MTIOC
ioctls itself instead of relying on the mt
program to perform
tape operations.
The ftape-manual
contained in the ftape-doc
package contains
much more detailed information about ftape`s
file system
interface as well as implementation notes which by far exceed the
scope of this HOWTO. See
Getting Ftape for
informations about where to obtain the manual.
The following section provides some useful information to get you going with the installation of v4.x which is not shipped with the kernel source tree yet but has to be downloaded separately, see the section Getting ftape above.
Once you've downloaded the source code (probably
ftape-4.02-tar.gz
), untar it. You can do this by determining what
directory you want the source code to be located in. I recommend
/usr/src/
or ~/src
. When the tar file is extracted,
it will dump everything into a ftape-4.02
subdirectory, so that
you'll end up, in the example I've given, with something like
/usr/src/ftape-4.02
or ~/src/ftape-4.02
.
NOTE: you cannot compile ftape-4.02
into your v2.0.x
kernel. Instead, configure your kernel to not compile the
ftape
driver and follow the installation instructions in the
ftape-4.02
distribution and install ftape-4.02
as a module.
Read the README
file. The README
is required reading. It's
the top of the tree, so to speak. If there are specific files that
the README
tells you to read then read them. It will make the
process much less complicated.
Do NOT proceed with compiling the package until you have read the
appropriate README
files and the INSTALL
file.
Afterwards you need to edit the MCONFIG
file and configure you
package according to your hardware. The MCONFIG
file contains lots
of explanations so it should be fairly easy to go along with it.
However, most of the hardware configuration can be done via setting
parameters during module load time so most parameters specified in the
file MCONFIG
simply give the default configuration, but you don't
need to recompile the driver to change IO addresses or interrupt
settings. The file INSTALL
and the file modules/insert
contain examples how to specify the proper module parameters when
loading the kernel modules, so I won't go into further detail here.
If you are using a Linux-v1.3.x kernel, you should consider moving to v2.0.x. v1.3.x was the development release prior to the production release v2.0.x.
ftape-4.02
will be included into the v2.2.x kernel, but
this isn't clear at the time of this writing. This HOWTO will be
revised appropriately when this has become clear. So long you have to
refer to the previous section
Installing the driver with v2.0.x and earlier kernels and disregard the contents of
this section.
The Linux kernel v2.1.x and later already include ftape-4.x
so you
don't need to download the ftape-4.x
kernel driver package.
ftape-4.x
as included in the v2.1.x versions of the kernel can be
completely configured using the kernel configuration menus (either with
make menuconfig
or make xconfig
. Also, there is online help
available that documents each parameter setting which I won't repeat
here.
The various boot- and loadtime parameter settings are explained in the file
[/usr/src/linux/]Documentation/ftape.txt
of the Linux-v2.1.x and later kernel distributions.
ftape
driver
If you want to follow the development of the ftape
driver, you
should subscribe to the Linux Tape mailing list
[email protected]
. To do so you need to send an email
saying `subscribe linux-tape
' (in the body) to
[email protected]
. When you subscribe, you will be sent
a greeting mail, which will tell you how to submit real mails and how
to get off the list again. Store this email in a safe
place. Please.
Please note that I do not, repeat DO NOT, have any special powers with regard to this mailing list. If you're stuck on the list, don't bother to tell me that. I can only shrug and send you my sympathy (but that won't get you off the list).
ftape
and floppies
If you use your floppy tape drive with the standard FDC then the floppy
drive and the floppy tape drive cannot run concurrently as they share
the same hardware, the FDC, and the floppy
and the ftape
driver do not talk to each other. Thus, if you have mounted a floppy
and then try to access the tape drive, ftape
will complain that it
cannot grab IRQ6 and then die. This is especially a problem when
designing a emergency disk for use with ftape. This solution is to
either load the boot/root disk into a ramdisk and then unmount the
floppy, or have two floppy drive controllers.